migrating to spring boot

This commit is contained in:
ikalyvas 2017-12-15 01:01:26 +02:00
parent f08fcda7f5
commit 5f2f66bd71
231 changed files with 1863 additions and 5724 deletions

View File

@ -1,105 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.2.11.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.20.0-GA" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss:jandex:2.0.3.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.0" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-c3p0:5.2.11.Final" level="project" />
<orderEntry type="library" name="Maven: com.mchange:c3p0:0.9.5.2" level="project" />
<orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.11" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:javax.servlet-api:3.0.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:4.2.3.RELEASE" level="project" />
<orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:4.2.3.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:4.2.3.RELEASE" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:2.8.4" level="project" />
<orderEntry type="library" name="Maven: javax.transaction:jta:1.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.8.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.8.4" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.woodstox:woodstox-core:5.0.2" level="project" />
<orderEntry type="library" name="Maven: org.json:json:20160810" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-jdbc:7.0.35" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-juli:7.0.35" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.11" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.google.code.gson:gson:2.8.2" level="project" />
<orderEntry type="library" name="Maven: org.postgresql:postgresql:9.4.1212" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.slf4j:jcl-over-slf4j:1.7.12" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.12" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.slf4j:slf4j-log4j12:1.7.12" level="project" />
<orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: com.google.apis:google-api-services-oauth2:v2-rev75-1.19.0" level="project" />
<orderEntry type="library" name="Maven: com.google.api-client:google-api-client:1.19.0" level="project" />
<orderEntry type="library" name="Maven: com.google.oauth-client:google-oauth-client:1.19.0" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client-jackson2:1.19.0" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client:1.19.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.0.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.oauth-client:google-oauth-client-jetty:1.19.0" level="project" />
<orderEntry type="library" name="Maven: com.google.oauth-client:google-oauth-client-java6:1.19.0" level="project" />
<orderEntry type="library" name="Maven: org.mortbay.jetty:jetty:6.1.26" level="project" />
<orderEntry type="library" name="Maven: org.mortbay.jetty:jetty-util:6.1.26" level="project" />
<orderEntry type="library" name="Maven: org.mortbay.jetty:servlet-api:2.5-20081211" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:23.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.0.18" level="project" />
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.13" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.13" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.7.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.6.14" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.5" level="project" />
</component>
</module>

View File

@ -5,16 +5,20 @@
<groupId>dmp-backend</groupId>
<artifactId>dmp-backend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<properties>
<project.http.version>1.19.0</project.http.version>
<project.oauth.version>1.19.0</project.oauth.version>
<dmp-backend-commons.version>0.0.1-SNAPSHOT</dmp-backend-commons.version>
<org.springframework.version>4.3.8.RELEASE</org.springframework.version>
<!-- <org.springframework.security.version>3.2.10.RELEASE</org.springframework.security.version> -->
<!-- <org.springframework.eu.eudat.security.version>3.2.10.RELEASE</org.springframework.eu.eudat.security.version> -->
<org.springframework.security.version>4.2.3.RELEASE</org.springframework.security.version>
<com.sun.jersey.version>1.19.1</com.sun.jersey.version>
<org.apache.tomcat.tomcat-jdbc.version>7.0.35</org.apache.tomcat.tomcat-jdbc.version>
@ -41,6 +45,16 @@
<!-- <artifactId>dmp-backend-commons</artifactId> -->
<!-- <version>${dmp-backend-commons.version}</version> -->
<!-- </dependency> -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
@ -53,266 +67,96 @@
<artifactId>hibernate-c3p0</artifactId>
<version>${hibernate.version}</version>
</dependency>
<!-- g/a spring -->
<!-- https://mvnrepository.com/artifact/com.google.api-client/google-api-client -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet.servlet-api.version}</version>
<scope>provided</scope>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.23.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<!-- MY SPRING -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework.version}</version>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${org.springframework.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${org.springframework.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${org.springframework.security.version}</version>
<artifactId>spring-security-web</artifactId>
<version>4.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
</dependency>
<!-- g/a spring -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<!-- Jackson core and databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${com.fasterxml.jackson}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${com.fasterxml.jackson}</version>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${com.fasterxml.jackson}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate5</artifactId>
<version>${com.fasterxml.jackson}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>${com.fasterxml.jackson}</version>
</dependency>
<!-- Json <-> XML transformations -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
<!-- tomcat jdbc -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>${org.apache.tomcat.tomcat-jdbc.version}</version>
<scope>provided</scope>
</dependency>
<!-- FOR TESTING -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${org.junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
<scope>test</scope>
</dependency>
<!-- PostGreSql base libs dependencies -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1212</version>
</dependency>
<!-- LogBack dependencies -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.10.RELEASE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
<!-- Json Web Tokens -->
<!-- <dependency> -->
<!-- <groupId>io.jsonwebtoken</groupId> -->
<!-- <artifactId>jjwt</artifactId> -->
<!-- <version>0.7.0</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-oauth2</artifactId>
<version>v2-rev75-1.19.0</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava-jdk5</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>${project.http.version}</version>
</dependency>
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client-jetty</artifactId>
<version>${project.oauth.version}</version>
</dependency>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${org.springframework.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${org.springframework.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<!-- guava cache -->
<!-- guava eu.eudat.cache -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
<!-- Swagger for providing a minimal (descriptive) UI for the rest API -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
<!-- <exclusions> -->
<!-- <exclusion> -->
<!-- <groupId>com.google.guava</groupId> -->
<!-- <artifactId>guava</artifactId> -->
<!-- </exclusion> -->
<!-- </exclusions> -->
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
@ -333,35 +177,20 @@
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>analyze</id>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<failOnWarning>false</failOnWarning>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<finalName>${project.artifactId}</finalName>

View File

@ -1,31 +0,0 @@
package checks;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class EnvironmentChecker implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent arg0) {
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
try{
MessageDigest.getInstance("SHA-256");
System.out.println("SHA-256 algorithm found, as expected!");
}
catch(NoSuchAlgorithmException ex) {
System.out.println("\n\n\n\nSEVERE ERROR: COULD NOT FIND WITHIN JVM THE SHA-256 ALGORITHM. PLEASE UPDATE THE JRE TO A VERSION >= 1.7\n\n\n\n");
//shutting down the webapp should also be considered
}
}
}

View File

@ -1,37 +0,0 @@
package configs;
import java.util.List;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module;
import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module.Feature;
@Configuration
@EnableWebMvc
public class WebConfiguration extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
Hibernate5Module module = new Hibernate5Module();
module.enable(Feature.SERIALIZE_IDENTIFIER_FOR_LAZY_NOT_LOADED_OBJECTS);
ObjectMapper objectMapper = new ObjectMapper()
// .setSerializationInclusion(Include.NON_NULL)
// .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.registerModule(new Hibernate5Module())
;
converters.add(new MappingJackson2HttpMessageConverter(objectMapper));
System.out.println("Using custom json serializer loaded with module Hibernate5Module");
}
}

View File

@ -1,23 +0,0 @@
package controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import dao.entities.DMPDao;
@Controller
public class UIController {
@Autowired private DMPDao dMPDao;
@RequestMapping(value = "/home", method = RequestMethod.GET)
public String printWelcome(ModelMap model) {
model.addAttribute("DMPs", dMPDao.getAll());
return "home";
}
}

View File

@ -1,16 +0,0 @@
package dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.DMPProfile;
import entities.responses.IDLabelPair;
public interface DMPProfileDao extends Dao<DMPProfile, UUID> {
List<UUID> listAllIDs();
List<IDLabelPair> listAllIDsLabels();
}

View File

@ -1,14 +0,0 @@
package dao.entities;
import java.util.UUID;
import dao.Dao;
import entities.DMPResearcher;
import entities.Researcher;
public interface DMPResearcherDao extends Dao<DMPResearcher, UUID> {
Researcher getResearcherByEmail(String email);
}

View File

@ -1,10 +0,0 @@
package dao.entities;
import java.util.UUID;
import dao.Dao;
import entities.DatasetProfileRuleset;
public interface DatasetProfileRulesetDao extends Dao<DatasetProfileRuleset, UUID> {
}

View File

@ -1,10 +0,0 @@
package dao.entities;
import java.util.UUID;
import dao.Dao;
import entities.DatasetProfileViewstyle;
public interface DatasetProfileViewstyleDao extends Dao<DatasetProfileViewstyle, UUID> {
}

View File

@ -1,10 +0,0 @@
package dao.entities;
import java.util.UUID;
import dao.Dao;
import entities.DatasetRegistry;
public interface DatasetRegistryDao extends Dao<DatasetRegistry, UUID> {
}

View File

@ -1,10 +0,0 @@
package dao.entities;
import java.util.UUID;
import dao.Dao;
import entities.DatasetService;
public interface DatasetServiceDao extends Dao<DatasetService, UUID> {
}

View File

@ -1,86 +0,0 @@
package entities;
import java.io.Serializable;
import java.util.UUID;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@Table(name="\"DatasetDataRepository\"")
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
public class DatasetDataRepository implements Serializable {
private static final long serialVersionUID = 576327201656132811L;
public DatasetDataRepository () {}
@Id
@GeneratedValue
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "\"ID\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
private UUID id;
@Type(type="org.hibernate.type.PostgresUUIDType") //DEPWARN dependency to Hibernate and PostgreSQL
@Column(name = "\"Dataset\"", nullable = false)
private UUID dataset;
@Type(type="org.hibernate.type.PostgresUUIDType") //DEPWARN dependency to Hibernate and PostgreSQL
@Column(name = "\"DataRepository\"", nullable = false)
private UUID dataRepository;
@Column(name = "\"Role\"")
private Integer role;
public UUID getId() {
return id;
}
public void setId(UUID id) {
this.id = id;
}
public UUID getDataset() {
return dataset;
}
public void setDataset(UUID dataset) {
this.dataset = dataset;
}
public UUID getDataRepository() {
return dataRepository;
}
public void setDataRepository(UUID dataRepository) {
this.dataRepository = dataRepository;
}
public Integer getRole() {
return role;
}
public void setRole(Integer role) {
this.role = role;
}
}

View File

@ -1,7 +0,0 @@
package entities.xmlmodels.modeldefinition;
import utilities.DatabaseDefinition;
public interface DatabaseModelDefinition extends DatabaseDefinition{
}

View File

@ -1,7 +0,0 @@
package entities.xmlmodels.viewstyledefinition;
import utilities.DatabaseDefinition;
public interface DatabaseViewStyleDefinition extends DatabaseDefinition{
}

View File

@ -1,145 +0,0 @@
package entities.xmlmodels.viewstyledefinition;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition;
import models.components.commons.ViewStyle;
import models.components.commons.Visibility;
import models.components.commons.datafield.FieldData;
import utilities.XmlSerializable;
import utilities.builders.ModelBuilder;
import utilities.builders.XmlBuilder;
public class Field implements DatabaseViewStyleDefinition,XmlSerializable<Field>{
private String id;
private int ordinal;
private boolean defaultVisibility;
private String title;
private String description;
private String extendedDescription;
private ViewStyle viewStyle;
private Visibility visible;
private FieldData data;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public boolean getDefaultVisibility() {
return defaultVisibility;
}
public void setDefaultVisibility(boolean defaultVisibility) {
this.defaultVisibility = defaultVisibility;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getExtendedDescription() {
return extendedDescription;
}
public void setExtendedDescription(String extendedDescription) {
this.extendedDescription = extendedDescription;
}
public ViewStyle getViewStyle() {
return viewStyle;
}
public void setViewStyle(ViewStyle viewStyle) {
this.viewStyle = viewStyle;
}
public FieldData getData() {
return data;
}
public void setData(FieldData data) {
this.data = data;
}
public Visibility getVisible() {
return visible;
}
public void setVisible(Visibility visible) {
this.visible = visible;
}
@Override
public Element toXml(Document doc) {
Element rootElement = doc.createElement("field");
rootElement.setAttribute("id", this.id);
rootElement.setAttribute("ordinal", ""+this.ordinal);
rootElement.setAttribute("defaultVisibility",""+this.defaultVisibility);
Element extendedDescription = doc.createElement("extendedDescription");
extendedDescription.setTextContent(this.extendedDescription);
Element description = doc.createElement("description");
description.setTextContent(this.description);
Element title = doc.createElement("title");
title.setTextContent(this.title);
Element viewStyle = doc.createElement("viewStyle");
viewStyle.setAttribute("renderstyle", this.viewStyle.getRenderStyle());
viewStyle.setAttribute("cssClass", this.viewStyle.getCssClass());
Element visibility = this.visible.toXml(doc);
rootElement.appendChild(title);
rootElement.appendChild(visibility);
rootElement.appendChild(extendedDescription);
rootElement.appendChild(viewStyle);
rootElement.appendChild(description);
if(this.data!=null)rootElement.appendChild(this.data.toXml(doc));
return rootElement;
}
@Override
public Field fromXml(Element element) {
this.id = element.getAttribute("id");
this.ordinal = Integer.parseInt(element.getAttribute("ordinal"));
this.defaultVisibility = Boolean.valueOf(element.getAttribute("defaultVisibility")).booleanValue();
Element extendedDescription = (Element)XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "extendedDescription");
this.extendedDescription = extendedDescription.getTextContent();
Element description = (Element)XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "description");
this.description = description.getTextContent();
Element title = (Element)XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "title");
this.title = title.getTextContent();
this.viewStyle = new ViewStyle();
Element viewStyle = (Element)XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "viewStyle");
this.viewStyle.setRenderStyle(viewStyle.getAttribute("renderstyle"));
this.viewStyle.setCssClass(viewStyle.getAttribute("cssClass"));
Element visibility = (Element)XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "visible");
this.visible = new Visibility().fromXml(visibility);
Element dataElement = (Element)XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "data");
this.data = new ModelBuilder().toFieldData(null, this.viewStyle.getRenderStyle(),dataElement);
if(this.data!=null)this.data.fromXml(dataElement);
return this;
}
}

View File

@ -1,4 +1,4 @@
package cache;
package eu.eudat.cache;
import java.util.ArrayList;

View File

@ -1,39 +1,24 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
import eu.eudat.dao.entities.*;
import eu.eudat.managers.DashBoardManager;
import eu.eudat.models.dashboard.DashBoardStatistics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import eu.eudat.managers.AdminManager;
import eu.eudat.models.admin.composite.DatasetProfile;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import entities.DatasetProfileViewstyle;
import entities.xmlmodels.modeldefinition.FieldGroup;
import entities.xmlmodels.viewstyledefinition.Section;
import managers.AdminManager;
import models.admin.components.datasetprofile.FieldSet;
import models.admin.composite.DatasetProfile;
import utilities.builders.ModelBuilder;
import utilities.builders.XmlBuilder;
import utilities.helpers.ModelBuilderCollector;
import javax.transaction.Transactional;
@RestController
@CrossOrigin
@ -47,8 +32,8 @@ public class Admin {
@RequestMapping(method = RequestMethod.POST, value = { "/admin/addDmp" },consumes = "application/json", produces="application/json")
public ResponseEntity<Object> addDmp(@RequestBody DatasetProfile profile){
try{
entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile);
entities.DatasetProfileViewstyle viewStyleDefinition = AdminManager.generateViewStyleDefinition(profile);
eu.eudat.entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile);
eu.eudat.entities.DatasetProfileViewstyle viewStyleDefinition = AdminManager.generateViewStyleDefinition(profile);
viewStyleDefinition = datasetProfileViewstyleDao.create(viewStyleDefinition);
modelDefinition.setViewstyle(viewStyleDefinition);
@ -65,13 +50,13 @@ public class Admin {
@RequestMapping(method = RequestMethod.POST, value = { "/admin/addDmp/{id}" },consumes = "application/json", produces="application/json")
public ResponseEntity<Object> updateDmp(@PathVariable String id,@RequestBody DatasetProfile profile){
try{
entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile);
entities.DatasetProfileViewstyle viewStyleDefinition = AdminManager.generateViewStyleDefinition(profile);
eu.eudat.entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile);
eu.eudat.entities.DatasetProfileViewstyle viewStyleDefinition = AdminManager.generateViewStyleDefinition(profile);
entities.DatasetProfile datasetprofile = datasetProfileDao.read(UUID.fromString(id));
eu.eudat.entities.DatasetProfile datasetprofile = datasetProfileDao.read(UUID.fromString(id));
entities.DatasetProfileViewstyle oldviewStyle = datasetProfileViewstyleDao.read((datasetprofile.getViewstyle().getId()));
eu.eudat.entities.DatasetProfileViewstyle oldviewStyle = datasetProfileViewstyleDao.read((datasetprofile.getViewstyle().getId()));
oldviewStyle.setDefinition(viewStyleDefinition.getDefinition());
datasetProfileViewstyleDao.update(oldviewStyle);
@ -92,13 +77,12 @@ public class Admin {
@RequestMapping(method = RequestMethod.GET, value = { "/admin/get/{id}" }, produces="application/json")
public ResponseEntity<Object> get(@PathVariable String id){
try{
entities.DatasetProfile profile = datasetProfileDao.read(UUID.fromString(id));
models.admin.composite.DatasetProfile datasetprofile = AdminManager.generateDatasetProfileModel(profile);
eu.eudat.entities.DatasetProfile profile = datasetProfileDao.read(UUID.fromString(id));
eu.eudat.models.admin.composite.DatasetProfile datasetprofile = AdminManager.generateDatasetProfileModel(profile);
return ResponseEntity.status(HttpStatus.OK).body(datasetprofile);
}catch(Exception ex){
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("{\"reason\":\""+ex.getMessage()+"\"}");
}
}
}

View File

@ -1,4 +1,4 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.*;
@ -6,14 +6,14 @@ import java.util.stream.Collectors;
import javax.transaction.Transactional;
import models.criteria.DataRepositoryCriteria;
import models.criteria.OrganisationCriteria;
import models.criteria.ResearcherCriteria;
import models.criteria.ServiceCriteria;
import models.dmp.DataManagementPlan;
import models.dmp.DataManagementPlanTableRequest;
import models.helpers.DataTableData;
import models.project.ProjectTableRequest;
import eu.eudat.entities.DMP;
import eu.eudat.entities.Dataset;
import eu.eudat.entities.UserInfo;
import eu.eudat.models.criteria.OrganisationCriteria;
import eu.eudat.models.criteria.ResearcherCriteria;
import eu.eudat.models.dmp.DataManagementPlan;
import eu.eudat.models.dmp.DataManagementPlanTableRequest;
import eu.eudat.models.helpers.DataTableData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@ -27,28 +27,21 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import dao.entities.UserInfoDao;
import entities.DMP;
import entities.Dataset;
import entities.Project;
import entities.UserInfo;
import entities.responses.IDLabelPair;
import helpers.SerializerProvider;
import managers.DataManagementPlanManager;
import managers.ProjectManager;
import utilities.builders.DomainModelConverter;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.dao.entities.UserInfoDao;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.managers.DataManagementPlanManager;
@RestController
@ -75,9 +68,9 @@ public class DMPs {
@RequestMapping(method = RequestMethod.POST, value = { "/dmps/getPaged" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<DataTableData<models.dmp.DataManagementPlan>> getPaged(@RequestBody DataManagementPlanTableRequest dataManagementPlanTableRequest) {
public @ResponseBody ResponseEntity<DataTableData<eu.eudat.models.dmp.DataManagementPlan>> getPaged(@RequestBody DataManagementPlanTableRequest dataManagementPlanTableRequest) {
try {
DataTableData<models.dmp.DataManagementPlan> dataTable = new DataManagementPlanManager().getPaged(dMPDao, dataManagementPlanTableRequest);
DataTableData<eu.eudat.models.dmp.DataManagementPlan> dataTable = new DataManagementPlanManager().getPaged(dMPDao, dataManagementPlanTableRequest);
return ResponseEntity.status(HttpStatus.OK).body(dataTable);
@ -88,9 +81,9 @@ public class DMPs {
}
@RequestMapping(method = RequestMethod.GET, value = { "/dmps/getSingle/{id}" }, produces="application/json")
public @ResponseBody ResponseEntity<models.dmp.DataManagementPlan> getPaged(@PathVariable String id) {
public @ResponseBody ResponseEntity<eu.eudat.models.dmp.DataManagementPlan> getPaged(@PathVariable String id) {
try {
models.dmp.DataManagementPlan project = new DataManagementPlanManager().getSingle(dMPDao, id);
eu.eudat.models.dmp.DataManagementPlan project = new DataManagementPlanManager().getSingle(dMPDao, id);
return ResponseEntity.status(HttpStatus.OK).body(project);
} catch (Exception ex) {
@ -101,8 +94,8 @@ public class DMPs {
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmps/add" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<entities.DMP> addDmp(@RequestBody models.dmp.DataManagementPlan dataManagementPlan) {
entities.DMP createdProject = dMPDao.update(dataManagementPlan.toDataModel());
public @ResponseBody ResponseEntity<eu.eudat.entities.DMP> addDmp(@RequestBody eu.eudat.models.dmp.DataManagementPlan dataManagementPlan) {
eu.eudat.entities.DMP createdProject = dMPDao.update(dataManagementPlan.toDataModel());
return ResponseEntity.status(HttpStatus.CREATED).body(createdProject);
}
@ -110,19 +103,19 @@ public class DMPs {
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@RequestMapping(method = RequestMethod.GET, value = { "/dmps" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> listDMPs(){
public @ResponseBody ResponseEntity<List<UUID>> listDMPs(){
try {
List<UUID> allIDs = dMPDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/dmps/{id}" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> getDMP(@PathVariable("id") String id){
public @ResponseBody ResponseEntity<DataManagementPlan> getDMP(@PathVariable("id") String id){
try {
DMP dmp = dMPDao.read(UUID.fromString(id));
DataManagementPlan dataManagementPlan = new DataManagementPlan();
@ -131,19 +124,19 @@ public class DMPs {
}
catch(Exception ex) {
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/dmp/listDMPLabelID" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> listDmpLabelID(){
public @ResponseBody ResponseEntity<List<IDLabelPair>> listDmpLabelID(){
try {
List<IDLabelPair> allIDLabels = dMPDao.listAllIDsLabels();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDLabels));
return ResponseEntity.status(HttpStatus.OK).body(allIDLabels);
}
catch(Exception ex) {
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@ -156,48 +149,48 @@ public class DMPs {
try {
List<DMP> allDMPs = dMPDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDMPs), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allDMPs);
}
catch(Exception ex) {
ex.printStackTrace();
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null );
}
}
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> createDMP(@RequestBody DMP dmp) {
public @ResponseBody ResponseEntity<DMP> createDMP(@RequestBody DMP dmp) {
try {
DMP createdDmp = dMPDao.update(dmp);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdDmp));
return ResponseEntity.status(HttpStatus.CREATED).body(createdDmp);
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not create DMP!\"");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/update" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> updateDMP(@RequestBody DataManagementPlan dataManagementPlan) {
public @ResponseBody ResponseEntity<DMP> updateDMP(@RequestBody DataManagementPlan dataManagementPlan) {
DMP newDmp = dataManagementPlan.toDataModel();
if(newDmp.getOrganisations()!=null&&!newDmp.getOrganisations().isEmpty()){
for(entities.Organisation organisation: newDmp.getOrganisations()){
for(eu.eudat.entities.Organisation organisation: newDmp.getOrganisations()){
OrganisationCriteria criteria = new OrganisationCriteria();
criteria.setLike(organisation.getReference());
List<entities.Organisation> entries = this.organisationDao.listBy(criteria);
List<eu.eudat.entities.Organisation> entries = this.organisationDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())organisation.setId(entries.get(0).getId());
else organisation = this.organisationDao.create(organisation);
}
}
if(newDmp.getResearchers()!=null&&!newDmp.getResearchers().isEmpty()){
for(entities.Researcher researcher : newDmp.getResearchers()){
for(eu.eudat.entities.Researcher researcher : newDmp.getResearchers()){
ResearcherCriteria criteria = new ResearcherCriteria();
criteria.setLike(researcher.getReference());
List<entities.Researcher> entries = this.researcherDao.listBy(criteria);
List<eu.eudat.entities.Researcher> entries = this.researcherDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())researcher.setId(entries.get(0).getId());
else researcher = this.researcherDao.create(researcher);
}
@ -213,10 +206,10 @@ public class DMPs {
try {
DMP updatedDMP = dMPDao.update(previousDmp);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(updatedDMP));
return ResponseEntity.status(HttpStatus.CREATED).body(updatedDMP);
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not update DMP!\"");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@ -226,12 +219,12 @@ public class DMPs {
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/getdatasets" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> getDatasetsOfDMP(@RequestBody DMP dmp) {
public @ResponseBody ResponseEntity<List<Dataset>> getDatasetsOfDMP(@RequestBody DMP dmp) {
try {
List<Dataset> datasets = datasetDao.getDatasetsOfDmp(dmp.getId());
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(datasets));
return ResponseEntity.status(HttpStatus.OK).body(datasets);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not get datasets of DMP!\"");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@ -276,60 +269,60 @@ public class DMPs {
////////////////////////////////
@RequestMapping(method = RequestMethod.GET, value = { "/dmp/getofuser" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> getDmpsOfUser(){
public @ResponseBody ResponseEntity<List<DMP>> getDmpsOfUser(){
String userID = null;
try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("You have not logged in. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
try {
//List<DMP> nonDeleted = userInfoDao.getDmpsOfUser(userID);
List<DMP> nonDeleted = dMPDao.getDMPsOfUser(userID);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(nonDeleted));
return ResponseEntity.status(HttpStatus.OK).body(nonDeleted);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/createofuser" }, produces="text/plain", consumes = "application/json")
public @ResponseBody ResponseEntity<Object> createDmpOfUser(@RequestBody DataManagementPlan dataManagementPlan){
public @ResponseBody ResponseEntity<DMP> createDmpOfUser(@RequestBody DataManagementPlan dataManagementPlan){
String userID = null;
try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("You have not logged in. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("There's no such a user on the system. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
try {
DMP dmp = dataManagementPlan.toDataModel();
if(dmp.getOrganisations()!=null&&!dmp.getOrganisations().isEmpty()){
for(entities.Organisation organisation: dmp.getOrganisations()){
for(eu.eudat.entities.Organisation organisation: dmp.getOrganisations()){
OrganisationCriteria criteria = new OrganisationCriteria();
criteria.setLike(organisation.getReference());
List<entities.Organisation> entries = this.organisationDao.listBy(criteria);
List<eu.eudat.entities.Organisation> entries = this.organisationDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())organisation.setId(entries.get(0).getId());
else organisation = this.organisationDao.create(organisation);
}
}
if(dmp.getResearchers()!=null&&!dmp.getResearchers().isEmpty()){
for(entities.Researcher researcher : dmp.getResearchers()){
for(eu.eudat.entities.Researcher researcher : dmp.getResearchers()){
ResearcherCriteria criteria = new ResearcherCriteria();
criteria.setLike(researcher.getReference());
List<entities.Researcher> entries = this.researcherDao.listBy(criteria);
List<eu.eudat.entities.Researcher> entries = this.researcherDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())researcher.setId(entries.get(0).getId());
else researcher = this.researcherDao.create(researcher);
}
@ -348,29 +341,29 @@ public class DMPs {
DMP newdmp = dMPDao.create(dmp);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(newdmp));
return ResponseEntity.status(HttpStatus.OK).body(newdmp);
}
catch(Exception ex) {
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/cloneforuser" }, produces="text/plain", consumes = "application/json")
public @ResponseBody ResponseEntity<Object> cloneDmpOfUser(@RequestBody DMP dmp){
public @ResponseBody ResponseEntity<DMP> cloneDmpOfUser(@RequestBody DMP dmp){
String userID = null;
try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("You have not logged in. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("There's no such a user on the system. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
DMP clone = dMPDao.read(dmp.getId());
@ -397,34 +390,34 @@ public class DMPs {
clone = dMPDao.create(clone);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(clone));
return ResponseEntity.status(HttpStatus.OK).body(clone);
}
catch(Exception ex) {
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/adduser" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> addUserToDmp(@RequestBody DMP dmp){
public @ResponseBody ResponseEntity<DMP> addUserToDmp(@RequestBody DMP dmp){
String userID = null;
try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("You have not logged in. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
final UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("There's no such a user on the system. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
if(dmp==null || dmp.getId()==null)
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("DMP is null or dmp has null id");
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
try {
@ -437,10 +430,10 @@ public class DMPs {
DMP updateddmp = dMPDao.update(dmp);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(updateddmp));
return ResponseEntity.status(HttpStatus.OK).body(updateddmp);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,19 +1,15 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional;
import org.apache.commons.lang3.SerializationUtils;
import eu.eudat.entities.DataRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
@ -23,39 +19,21 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import dao.entities.UserInfoDao;
import entities.DMP;
import entities.DMPProfile;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
import helpers.SerializerProvider;
import helpers.Transformers;
import proxy.config.exceptions.HugeResultSet;
import proxy.config.exceptions.NoURLFound;
import proxy.fetching.RemoteFetcher;
import responses.RestResponse;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.proxy.config.exceptions.HugeResultSet;
import eu.eudat.proxy.config.exceptions.NoURLFound;
import eu.eudat.proxy.fetching.RemoteFetcher;
@RestController
@ -80,16 +58,16 @@ public class DataRepositories {
@RequestMapping(method = RequestMethod.GET, value = { "/external/datarepos" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> listExternalDataRepositories(@RequestParam(value="query", required=false) String query ){
public @ResponseBody ResponseEntity<List<Map<String,String>>> listExternalDataRepositories(@RequestParam(value="query", required=false) String query ){
try {
List<Map<String,String>> remoteRepos = remoteFetcher.getRepositories(query);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(remoteRepos));
return ResponseEntity.status(HttpStatus.OK).body(remoteRepos);
}
catch(NoURLFound ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"reason\":\""+ex.getMessage()+"\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
catch(HugeResultSet ex) {
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body("{\"reason\":\""+ex.getMessage()+"\"}"); //the ex.getMessage has the appropriate text description
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description
}
}
@ -99,42 +77,42 @@ public class DataRepositories {
// MANAGE DATAREPOSITORy(IES)
@RequestMapping(method = RequestMethod.GET, value = { "/datarepos" })
public @ResponseBody ResponseEntity<Object> listDataRepositories(){
public @ResponseBody ResponseEntity<List<UUID>> listDataRepositories(){
try {
List<UUID> allIDs = dataRepositoryDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/datarepos/{id}" })
public @ResponseBody ResponseEntity<Object> getDataRepository(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<DataRepository> getDataRepository(@PathVariable("id") String id) {
try {
DataRepository dataRepository = dataRepositoryDao.read(UUID.fromString(id));
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(dataRepository));
return ResponseEntity.status(HttpStatus.OK).body(dataRepository);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/datarepo/getAll" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> getAllDataRepositories(){
public @ResponseBody ResponseEntity<List<DataRepository>> getAllDataRepositories(){
try {
List<DataRepository> allDataRepositories = dataRepositoryDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDataRepositories), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allDataRepositories);
}
catch(Exception ex) {
ex.printStackTrace();
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@ -142,12 +120,12 @@ public class DataRepositories {
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datarepo/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> setOrganisation(@RequestBody DataRepository dataRepository) {
DataRepository createdDataRepository = dataRepositoryDao.update(dataRepository);
public @ResponseBody ResponseEntity<DataRepository> setOrganisation(@RequestBody DataRepository dataRepository) {
try {
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdDataRepository));
DataRepository createdDataRepository = dataRepositoryDao.update(dataRepository);
return ResponseEntity.status(HttpStatus.CREATED).body(createdDataRepository);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not create data repository!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,4 +1,4 @@
package rest.entities;
package eu.eudat.controllers;
import java.net.HttpURLConnection;
import java.net.URL;
@ -7,8 +7,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
import models.components.commons.datafield.AutoCompleteData;
import models.user.components.datasetprofile.Field;
import eu.eudat.models.components.commons.datafield.AutoCompleteData;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@ -22,16 +21,14 @@ import org.springframework.web.bind.annotation.RestController;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import helpers.SerializerProvider;
import managers.AdminManager;
import managers.UserManager;
import models.helpers.AutoCompleteLookupItem;
import models.properties.PropertiesModel;
import utilities.builders.XmlBuilder;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.managers.UserManager;
import eu.eudat.models.helpers.AutoCompleteLookupItem;
import eu.eudat.models.properties.PropertiesModel;
import eu.eudat.utilities.builders.XmlBuilder;
@RestController
@CrossOrigin
@ -45,8 +42,8 @@ public class DatasetProfileController {
@RequestMapping(method = RequestMethod.GET, value = { "/datasetprofile/get/{id}" }, produces="application/json")
public ResponseEntity<Object> getSingle(@PathVariable String id){
try {
entities.Dataset dataset = datasetDao.read(UUID.fromString(id));
models.user.composite.DatasetProfile datasetprofile = UserManager.generateDatasetProfileModel(dataset.getProfile());
eu.eudat.entities.Dataset dataset = datasetDao.read(UUID.fromString(id));
eu.eudat.models.user.composite.DatasetProfile datasetprofile = UserManager.generateDatasetProfileModel(dataset.getProfile());
datasetprofile.setStatus(dataset.getStatus());
if(dataset.getProperties()!=null){
JSONObject jobject = new JSONObject(dataset.getProperties());
@ -65,7 +62,7 @@ public class DatasetProfileController {
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/save/{id}" }, consumes="application/json",produces="application/json")
public ResponseEntity<Object> updateDataset(@PathVariable String id,@RequestBody PropertiesModel properties){
try {
entities.Dataset dataset = datasetDao.read(UUID.fromString(id));
eu.eudat.entities.Dataset dataset = datasetDao.read(UUID.fromString(id));
Map<String,Object> values = new HashMap();
properties.toMap(values);
JSONObject jobject = new JSONObject(values);
@ -83,10 +80,10 @@ public class DatasetProfileController {
@RequestMapping(method = RequestMethod.POST, value = { "/search/autocomplete" }, consumes="application/json",produces="application/json")
public ResponseEntity<Object> getDataForAutocomplete(@RequestBody AutoCompleteLookupItem lookupItem){
try {
entities.Dataset dataset = datasetDao.read(UUID.fromString(lookupItem.getProfileID()));
eu.eudat.entities.Dataset dataset = datasetDao.read(UUID.fromString(lookupItem.getProfileID()));
Document viewStyleDoc = XmlBuilder.fromXml(dataset.getProfile().getViewstyle().getDefinition());
Element field = viewStyleDoc.getElementById(lookupItem.getFieldID());
entities.xmlmodels.viewstyledefinition.Field modelfield = new entities.xmlmodels.viewstyledefinition.Field();
eu.eudat.entities.xmlmodels.viewstyledefinition.Field modelfield = new eu.eudat.entities.xmlmodels.viewstyledefinition.Field();
modelfield.fromXml(field);
AutoCompleteData data = new AutoCompleteData().fromData(modelfield.getData());

View File

@ -1,55 +1,37 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional;
import org.apache.commons.lang3.SerializationUtils;
import eu.eudat.entities.DatasetProfile;
import eu.eudat.entities.DatasetProfileRuleset;
import eu.eudat.entities.DatasetProfileViewstyle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import entities.DMP;
import entities.DMPProfile;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.DatasetProfileViewstyle;
import entities.Organisation;
import entities.Project;
import helpers.SerializerProvider;
import helpers.Transformers;
import responses.RestResponse;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
@RestController
@ -73,39 +55,39 @@ public class DatasetProfiles {
//FETCH BY DATASET PROFILE
@RequestMapping(method = RequestMethod.GET, value = { "/datasetprofiles" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> listDMPs(){
public @ResponseBody ResponseEntity<List<UUID>> listDMPs(){
try {
List<UUID> allIDs = datasetProfileDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/datasetprofiles/{id}" })
public @ResponseBody ResponseEntity<Object> getDatasetProfile(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<DatasetProfile> getDatasetProfile(@PathVariable("id") String id) {
try {
DatasetProfile profile = datasetProfileDao.read(UUID.fromString(id));
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(profile));
return ResponseEntity.status(HttpStatus.OK).body(profile);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/datasetprofile/getAll" })
public @ResponseBody ResponseEntity<Object> getAllDatasetProfiles(){
public @ResponseBody ResponseEntity<List<DatasetProfile>> getAllDatasetProfiles(){
try {
List<DatasetProfile> allDatasetProfiles = datasetProfileDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDatasetProfiles), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body((allDatasetProfiles));
}
catch(Exception ex) {
ex.printStackTrace();
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
return ResponseEntity.status(HttpStatus.OK).body(null);
}
}
@ -114,7 +96,7 @@ public class DatasetProfiles {
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> createDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
public @ResponseBody ResponseEntity<DatasetProfile> createDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
datasetProfile.setCreated(new Date());
datasetProfile.setModified(new Date());
@ -141,7 +123,7 @@ public class DatasetProfiles {
datasetProfileDao.create(datasetProfile);
else
datasetProfileDao.update(datasetProfile);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(datasetProfile));
return ResponseEntity.status(HttpStatus.CREATED).body(datasetProfile);
}
@ -149,7 +131,7 @@ public class DatasetProfiles {
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/update" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> updateDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
public @ResponseBody ResponseEntity<DatasetProfile> updateDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset();
DatasetProfileViewstyle datasetprofileviewstyle = datasetProfile.getViewstyle();
@ -171,14 +153,14 @@ public class DatasetProfiles {
datasetProfile = datasetProfileDao.create(datasetProfile);
else
datasetProfile = datasetProfileDao.update(datasetProfile);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(datasetProfile));
return ResponseEntity.status(HttpStatus.CREATED).body(datasetProfile);
}
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/delete" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> deleteDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
public @ResponseBody ResponseEntity<DatasetProfile> deleteDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset();
DatasetProfileViewstyle datasetprofileviewstyle = datasetProfile.getViewstyle();
@ -189,10 +171,10 @@ public class DatasetProfiles {
if(datasetprofileviewstyle != null)
datasetProfileViewstyleDao.delete(datasetprofileviewstyle);
datasetProfileDao.delete(datasetProfile);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(datasetProfile));
return ResponseEntity.status(HttpStatus.OK).body(datasetProfile);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not delete dataset profile!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,10 +1,13 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.UUID;
import eu.eudat.entities.DMP;
import eu.eudat.entities.Dataset;
import eu.eudat.entities.DatasetProfile;
import eu.eudat.entities.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@ -18,30 +21,23 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import dao.entities.UserInfoDao;
import entities.DMP;
import entities.Dataset;
import entities.DatasetProfile;
import entities.UserInfo;
import helpers.SafeCleanAttribs;
import helpers.SerializerProvider;
import models.criteria.DataRepositoryCriteria;
import models.criteria.RegistryCriteria;
import models.criteria.ServiceCriteria;
import responses.RestResponse;
import utilities.builders.DomainModelConverter;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.dao.entities.UserInfoDao;
import eu.eudat.models.criteria.DataRepositoryCriteria;
import eu.eudat.models.criteria.RegistryCriteria;
import eu.eudat.models.criteria.ServiceCriteria;
import eu.eudat.responses.RestResponse;
@RestController
@ -67,27 +63,27 @@ public class Datasets {
@RequestMapping(method = RequestMethod.GET, value = { "/datasets" })
public @ResponseBody ResponseEntity<Object> listDatasets(){
public @ResponseBody ResponseEntity<List<UUID>> listDatasets(){
try {
List<UUID> allIDs = datasetDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/datasets/{id}" })
public @ResponseBody ResponseEntity<Object> getDataset(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<eu.eudat.models.dataset.Dataset> getDataset(@PathVariable("id") String id) {
try {
Dataset ds = datasetDao.read(UUID.fromString(id));
models.dataset.Dataset dataset = new models.dataset.Dataset();
eu.eudat.models.dataset.Dataset dataset = new eu.eudat.models.dataset.Dataset();
dataset.fromDataModel(ds);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(dataset));
return ResponseEntity.status(HttpStatus.OK).body(dataset);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@ -96,62 +92,62 @@ public class Datasets {
* This should be called on extreme cases. It's computationally intensive
*/
@RequestMapping(method = RequestMethod.GET, value = { "/dataset/getAll" })
public @ResponseBody ResponseEntity<Object> getAllDatasets(){
public @ResponseBody ResponseEntity<List<Dataset>> getAllDatasets(){
try {
List<Dataset> allDatasets = datasetDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDatasets), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allDatasets);
}
catch(Exception ex) {
ex.printStackTrace();
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.POST, value = { "/dataset/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> createDataset(@RequestBody models.dataset.Dataset modeldataset) {
public @ResponseBody ResponseEntity<Dataset> createDataset(@RequestBody eu.eudat.models.dataset.Dataset modeldataset) {
String userID = null;
try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("You have not logged in. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("There's no such a user on the system. You shouldn't be here");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
Dataset dataset = modeldataset.toDataModel();
if(dataset.getDataRepositories()!=null&&!dataset.getDataRepositories().isEmpty()){
for(entities.DataRepository dataRepo : dataset.getDataRepositories()){
for(eu.eudat.entities.DataRepository dataRepo : dataset.getDataRepositories()){
DataRepositoryCriteria criteria = new DataRepositoryCriteria();
criteria.setLike(dataRepo.getReference());
List<entities.DataRepository> entries = this.dataRepositoryDao.listBy(criteria);
List<eu.eudat.entities.DataRepository> entries = this.dataRepositoryDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())dataRepo.setId(entries.get(0).getId());
else dataRepo = this.dataRepositoryDao.create(dataRepo);
}
}
if(dataset.getServices()!=null&&!dataset.getServices().isEmpty()){
for(entities.Service service : dataset.getServices()){
for(eu.eudat.entities.Service service : dataset.getServices()){
ServiceCriteria criteria = new ServiceCriteria();
criteria.setLike(service.getReference());
List<entities.Service> entries = this.serviceDao.listBy(criteria);
List<eu.eudat.entities.Service> entries = this.serviceDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())service.setId(entries.get(0).getId());
else service = this.serviceDao.create(service);
}
}
if(dataset.getRegistries()!=null&&!dataset.getRegistries().isEmpty()){
for(entities.Registry registry : dataset.getRegistries()){
for(eu.eudat.entities.Registry registry : dataset.getRegistries()){
RegistryCriteria criteria = new RegistryCriteria();
criteria.setLike(registry.getReference());
List<entities.Registry> entries = this.registryDao.listBy(criteria);
List<eu.eudat.entities.Registry> entries = this.registryDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())registry.setId( entries.get(0).getId());
else registry = this.registryDao.create(registry);
}
@ -167,46 +163,46 @@ public class Datasets {
try {
dataset = datasetDao.create(dataset);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(dataset));
return ResponseEntity.status(HttpStatus.CREATED).body(dataset);
}
catch(Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Could not create or update Dataset! Reason: " + e.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.POST, value = { "/dataset/update" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> updateDataset(@RequestBody models.dataset.Dataset modeldataset) {
public @ResponseBody ResponseEntity<Object> updateDataset(@RequestBody eu.eudat.models.dataset.Dataset modeldataset) {
Dataset dataset = modeldataset.toDataModel();
if(dataset.getDataRepositories()!=null&&!dataset.getDataRepositories().isEmpty()){
for(entities.DataRepository dataRepo : dataset.getDataRepositories()){
for(eu.eudat.entities.DataRepository dataRepo : dataset.getDataRepositories()){
DataRepositoryCriteria criteria = new DataRepositoryCriteria();
criteria.setLike(dataRepo.getReference());
List<entities.DataRepository> entries = this.dataRepositoryDao.listBy(criteria);
List<eu.eudat.entities.DataRepository> entries = this.dataRepositoryDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())dataRepo.setId(entries.get(0).getId());
else dataRepo = this.dataRepositoryDao.create(dataRepo);
}
}
if(dataset.getServices()!=null&&!dataset.getServices().isEmpty()){
for(entities.Service service : dataset.getServices()){
for(eu.eudat.entities.Service service : dataset.getServices()){
ServiceCriteria criteria = new ServiceCriteria();
criteria.setLike(service.getReference());
List<entities.Service> entries = this.serviceDao.listBy(criteria);
List<eu.eudat.entities.Service> entries = this.serviceDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())service.setId(entries.get(0).getId());
else service = this.serviceDao.create(service);
}
}
if(dataset.getRegistries()!=null&&!dataset.getRegistries().isEmpty()){
for(entities.Registry registry : dataset.getRegistries()){
for(eu.eudat.entities.Registry registry : dataset.getRegistries()){
RegistryCriteria criteria = new RegistryCriteria();
criteria.setLike(registry.getReference());
List<entities.Registry> entries = this.registryDao.listBy(criteria);
List<eu.eudat.entities.Registry> entries = this.registryDao.listBy(criteria);
if(entries!=null&&!entries.isEmpty())registry.setId( entries.get(0).getId());
else registry = this.registryDao.create(registry);
}
@ -231,7 +227,7 @@ public class Datasets {
try {
dataset = datasetDao.update(olddataset);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(dataset));
return ResponseEntity.status(HttpStatus.CREATED).body(dataset);
}
catch(Exception ex) {
ex.printStackTrace();

View File

@ -1,56 +1,35 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional;
import org.apache.commons.lang3.SerializationUtils;
import eu.eudat.entities.DMPProfile;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import entities.DMP;
import entities.DMPProfile;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
import entities.responses.IDLabelPair;
import helpers.SerializerProvider;
import helpers.Transformers;
import responses.RestResponse;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.entities.responses.IDLabelPair;
@RestController
@ -74,13 +53,13 @@ public class DmpProfiles {
// MANAGE DMPPROFILE(S)
@RequestMapping(method = RequestMethod.GET, value = { "/dmpprofiles" })
public @ResponseBody ResponseEntity<Object> listDmpProfiles(){
public @ResponseBody ResponseEntity<List<UUID>> listDmpProfiles(){
try {
List<UUID> allIDs = dMPProfileDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@ -88,26 +67,26 @@ public class DmpProfiles {
@RequestMapping(method = RequestMethod.GET, value = { "/dmpprofiles/{id}" })
public @ResponseBody ResponseEntity<Object> getDmpProfile(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<DMPProfile> getDmpProfile(@PathVariable("id") String id) {
try {
DMPProfile dmpProfile = dMPProfileDao.read(UUID.fromString(id));
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(dmpProfile));
return ResponseEntity.status(HttpStatus.OK).body(dmpProfile);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/dmpprofile/listAllLabelIDs" })
public @ResponseBody ResponseEntity<Object> listLabelIds(){
public @ResponseBody ResponseEntity<List<IDLabelPair>> listLabelIds(){
try {
List<IDLabelPair> allIDs = dMPProfileDao.listAllIDsLabels();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@ -116,22 +95,22 @@ public class DmpProfiles {
public @ResponseBody ResponseEntity<Object> getAllDmpProfiles(){
try {
List<DMPProfile> allDmpProfiles = dMPProfileDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDmpProfiles), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allDmpProfiles);
}
catch(Exception ex) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmpprofile/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> setDmpProfile(@RequestBody DMPProfile dmpprofile) {
public @ResponseBody ResponseEntity<DMPProfile> setDmpProfile(@RequestBody DMPProfile dmpprofile) {
try {
DMPProfile createdDMPProfile = dMPProfileDao.update(dmpprofile);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdDMPProfile));
return ResponseEntity.status(HttpStatus.CREATED).body(createdDMPProfile);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not create DMP Profile!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,18 +1,15 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional;
import org.apache.commons.lang3.SerializationUtils;
import eu.eudat.entities.Organisation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
@ -22,38 +19,21 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import entities.DMP;
import entities.DMPProfile;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
import helpers.SerializerProvider;
import helpers.Transformers;
import proxy.config.exceptions.HugeResultSet;
import proxy.config.exceptions.NoURLFound;
import proxy.fetching.RemoteFetcher;
import responses.RestResponse;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.proxy.config.exceptions.HugeResultSet;
import eu.eudat.proxy.config.exceptions.NoURLFound;
import eu.eudat.proxy.fetching.RemoteFetcher;
@RestController
@ -78,16 +58,16 @@ public class Organisations {
@RequestMapping(method = RequestMethod.GET, value = { "/external/organisations" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> listExternalOrganisations(@RequestParam(value="query", required=false) String query ){
public @ResponseBody ResponseEntity<List<Map<String,String>>> listExternalOrganisations(@RequestParam(value="query", required=false) String query ){
try {
List<Map<String,String>> remoteRepos = remoteFetcher.getOrganisations(query);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(remoteRepos));
return ResponseEntity.status(HttpStatus.OK).body(remoteRepos);
}
catch(NoURLFound ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"reason\":\""+ex.getMessage()+"\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
catch(HugeResultSet ex) {
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body("{\"reason\":\""+ex.getMessage()+"\"}"); //the ex.getMessage has the appropriate text description
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description
}
}
@ -95,25 +75,25 @@ public class Organisations {
// MANAGE ORGANISATIONS(S)
@RequestMapping(method = RequestMethod.GET, value = { "/organisations" })
public @ResponseBody ResponseEntity<Object> listOrganisations(){
public @ResponseBody ResponseEntity<List<UUID>> listOrganisations(){
try {
List<UUID> allIDs = organisationDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/organisations/{id}" })
public @ResponseBody ResponseEntity<Object> getOrganisations(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<Organisation> getOrganisations(@PathVariable("id") String id) {
try {
Organisation organisation = organisationDao.read(UUID.fromString(id));
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(organisation));
return ResponseEntity.status(HttpStatus.OK).body(organisation);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@ -122,7 +102,7 @@ public class Organisations {
public @ResponseBody ResponseEntity<Object> getAllOrganisations(){
try {
List<Organisation> allOrganisations = organisationDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allOrganisations), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allOrganisations);
}
catch(Exception ex) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
@ -132,26 +112,26 @@ public class Organisations {
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/organisation/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> setOrganisation(@RequestBody Organisation organisation) {
public @ResponseBody ResponseEntity<Organisation> setOrganisation(@RequestBody Organisation organisation) {
try {
Organisation createdOrganisation = organisationDao.update(organisation);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdOrganisation));
return ResponseEntity.status(HttpStatus.CREATED).body(createdOrganisation);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not create organisation!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.POST, value = { "/organisation/delete" }, consumes = "application/json", produces="text/plain")
public @ResponseBody ResponseEntity<Object> delete(@RequestBody Organisation organisation) {
public @ResponseBody ResponseEntity<Organisation> delete(@RequestBody Organisation organisation) {
Organisation org = new Organisation();
org.setId(organisation.getId());
try {
organisationDao.delete(org);
return ResponseEntity.status(HttpStatus.CREATED).body("{\"msg\":\"Deleted organisation!\"}");
return ResponseEntity.status(HttpStatus.CREATED).body(null);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not delete organisation!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,17 +1,13 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import org.apache.commons.lang3.SerializationUtils;
import eu.eudat.entities.Registry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
@ -21,39 +17,24 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.proxy.config.exceptions.HugeResultSet;
import eu.eudat.proxy.config.exceptions.NoURLFound;
import eu.eudat.proxy.fetching.RemoteFetcher;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import entities.DMP;
import entities.DMPProfile;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
import entities.responses.IDLabelPair;
import helpers.SerializerProvider;
import helpers.Transformers;
import proxy.config.exceptions.HugeResultSet;
import proxy.config.exceptions.NoURLFound;
import proxy.fetching.RemoteFetcher;
import responses.RestResponse;
import javax.transaction.Transactional;
@RestController
@ -77,16 +58,16 @@ public class Registries {
@RequestMapping(method = RequestMethod.GET, value = { "/external/registries" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> listExternalRegistries(@RequestParam(value="query", required=false) String query ){
public @ResponseBody ResponseEntity<List<Map<String,String>>> listExternalRegistries(@RequestParam(value="query", required=false) String query ){
try {
List<Map<String,String>> remoteRepos = remoteFetcher.getRegistries(query);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(remoteRepos));
return ResponseEntity.status(HttpStatus.OK).body(remoteRepos);
}
catch(NoURLFound ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"reason\":\""+ex.getMessage()+"\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
catch(HugeResultSet ex) {
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body("{\"reason\":\""+ex.getMessage()+"\"}"); //the ex.getMessage has the appropriate text description
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description
}
}
@ -94,38 +75,38 @@ public class Registries {
// MANAGE REGISTRY(IES)
@RequestMapping(method = RequestMethod.GET, value = { "/registries" })
public @ResponseBody ResponseEntity<Object> listRegistries(){
public @ResponseBody ResponseEntity<List<UUID>> listRegistries(){
try {
List<UUID> allIDs = registryDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/registries/{id}" })
public @ResponseBody ResponseEntity<Object> getRegistries(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<Registry> getRegistries(@PathVariable("id") String id) {
try {
Registry registry = registryDao.read(UUID.fromString(id));
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(registry));
return ResponseEntity.status(HttpStatus.OK).body(registry);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/registries/listAllLabelIDs" })
public @ResponseBody ResponseEntity<Object> listLabelIds(){
public @ResponseBody ResponseEntity<List<IDLabelPair>> listLabelIds(){
try {
List<IDLabelPair> allIDs = registryDao.listAllIDsLabels();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@ -135,7 +116,7 @@ public class Registries {
try {
List<Registry> allRegistries = registryDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allRegistries), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allRegistries);
}
catch(Exception ex) {
@ -146,12 +127,12 @@ public class Registries {
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/registry/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> setRegistry(@RequestBody Registry registry) {
public @ResponseBody ResponseEntity<Registry> setRegistry(@RequestBody Registry registry) {
Registry createdRegistry = registryDao.update(registry);
try {
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdRegistry));
return ResponseEntity.status(HttpStatus.CREATED).body(createdRegistry);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not create registry!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,18 +1,15 @@
package rest.entities;
package eu.eudat.controllers;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional;
import org.apache.commons.lang3.SerializationUtils;
import eu.eudat.entities.Researcher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
@ -22,38 +19,21 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import entities.DMP;
import entities.DMPProfile;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
import helpers.SerializerProvider;
import helpers.Transformers;
import proxy.config.exceptions.HugeResultSet;
import proxy.config.exceptions.NoURLFound;
import proxy.fetching.RemoteFetcher;
import responses.RestResponse;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.proxy.config.exceptions.HugeResultSet;
import eu.eudat.proxy.config.exceptions.NoURLFound;
import eu.eudat.proxy.fetching.RemoteFetcher;
@RestController
@ -77,16 +57,16 @@ public class Researchers {
@RequestMapping(method = RequestMethod.GET, value = { "/external/researchers" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> listExternalResearchers(@RequestParam(value="query", required=false) String query ){
public @ResponseBody ResponseEntity<List<Map<String,String>>> listExternalResearchers(@RequestParam(value="query", required=false) String query ){
try {
List<Map<String,String>> remoteRepos = remoteFetcher.getResearchers(query);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(remoteRepos));
return ResponseEntity.status(HttpStatus.OK).body(remoteRepos);
}
catch(NoURLFound ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"reason\":\""+ex.getMessage()+"\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
catch(HugeResultSet ex) {
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body("{\"reason\":\""+ex.getMessage()+"\"}"); //the ex.getMessage has the appropriate text description
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description
}
}
@ -94,63 +74,63 @@ public class Researchers {
// MANAGE RESEARCHER(S)
@RequestMapping(method = RequestMethod.GET, value = { "/researchers" })
public @ResponseBody ResponseEntity<Object> listResearchers(){
public @ResponseBody ResponseEntity<List<UUID>> listResearchers(){
try {
List<UUID> allIDs = researcherDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/researchers/{id}" })
public @ResponseBody ResponseEntity<Object> getResearchers(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<Researcher> getResearchers(@PathVariable("id") String id) {
try {
Researcher researcher = researcherDao.read(UUID.fromString(id));
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(researcher));
return ResponseEntity.status(HttpStatus.OK).body(researcher);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/researcher/getByEmail" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> getResearcherByEmail(@RequestParam("email") String email){
public @ResponseBody ResponseEntity<Researcher> getResearcherByEmail(@RequestParam("email") String email){
try {
Researcher researcher = researcherDao.getResearcherByEmail(email);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(researcher));
return ResponseEntity.status(HttpStatus.OK).body(researcher);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/researcher/getAll" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> getAllResearchers(){
public @ResponseBody ResponseEntity<List<Researcher>> getAllResearchers(){
try {
List<Researcher> allResearchers = researcherDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allResearchers), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allResearchers);
}
catch(Exception ex) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/researcher/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> setResearcher(@RequestBody Researcher researcher) {
public @ResponseBody ResponseEntity<Researcher> setResearcher(@RequestBody Researcher researcher) {
Researcher createdResearcher = researcherDao.update(researcher);
try {
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdResearcher));
return ResponseEntity.status(HttpStatus.CREATED).body(createdResearcher);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not create researcher!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,19 +1,15 @@
package rest.entities;
package eu.eudat.controllers;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional;
import org.apache.commons.lang3.SerializationUtils;
import eu.eudat.entities.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
@ -23,38 +19,21 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import entities.DMP;
import entities.DMPProfile;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
import helpers.SerializerProvider;
import helpers.Transformers;
import proxy.config.exceptions.HugeResultSet;
import proxy.config.exceptions.NoURLFound;
import proxy.fetching.RemoteFetcher;
import responses.RestResponse;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.proxy.config.exceptions.HugeResultSet;
import eu.eudat.proxy.config.exceptions.NoURLFound;
import eu.eudat.proxy.fetching.RemoteFetcher;
@RestController
@ -78,16 +57,16 @@ public class Services {
@RequestMapping(method = RequestMethod.GET, value = { "/external/services" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> listExternalServices(@RequestParam(value="query", required=false) String query ){
public @ResponseBody ResponseEntity<List<Map<String,String>>> listExternalServices(@RequestParam(value="query", required=false) String query ){
try {
List<Map<String,String>> remoteRepos = remoteFetcher.getServices(query);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(remoteRepos));
return ResponseEntity.status(HttpStatus.OK).body(remoteRepos);
}
catch(NoURLFound ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"reason\":\""+ex.getMessage()+"\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
catch(HugeResultSet ex) {
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body("{\"reason\":\""+ex.getMessage()+"\"}"); //the ex.getMessage has the appropriate text description
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description
}
}
@ -95,25 +74,25 @@ public class Services {
// MANAGE SERVICE(S)
@RequestMapping(method = RequestMethod.GET, value = { "/services" })
public @ResponseBody ResponseEntity<Object> listServices(){
public @ResponseBody ResponseEntity<List<UUID>> listServices(){
try {
List<UUID> allIDs = serviceDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs));
return ResponseEntity.status(HttpStatus.OK).body(allIDs);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/services/{id}" })
public @ResponseBody ResponseEntity<Object> getServices(@PathVariable("id") String id) {
public @ResponseBody ResponseEntity<Service> getServices(@PathVariable("id") String id) {
try {
Service service = serviceDao.read(UUID.fromString(id));
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(service));
return ResponseEntity.status(HttpStatus.OK).body(service);
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
@ -124,7 +103,7 @@ public class Services {
try {
List<Service> allServices = serviceDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allServices), HttpStatus.OK);
return ResponseEntity.status(HttpStatus.OK).body(allServices);
}
catch(Exception ex) {
@ -135,13 +114,13 @@ public class Services {
@Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/service/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> setService(@RequestBody Service service) {
public @ResponseBody ResponseEntity<Service> setService(@RequestBody Service service) {
Service createdService = serviceDao.update(service);
try {
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdService));
return ResponseEntity.status(HttpStatus.CREATED).body(createdService);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not create service entity!\"}");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}

View File

@ -1,17 +1,17 @@
package dao;
import java.io.Serializable;
import java.util.List;
public interface Dao<T, PK extends Serializable> {
public T create(T t);
public T read(PK id);
public T update(T t);
public void delete(T t);
public List<T> getAll();
public long count();
public T loadDetails(T t);
public boolean isLoaded(T t);
}
package eu.eudat.dao;
import java.io.Serializable;
import java.util.List;
public interface Dao<T, PK extends Serializable> {
public T create(T t);
public T read(PK id);
public T update(T t);
public void delete(T t);
public List<T> getAll();
public long count();
public T loadDetails(T t);
public boolean isLoaded(T t);
}

View File

@ -1,10 +1,10 @@
package dao;
import java.util.Map;
public interface DaoFactory
{
public Dao getDao(Class<?> type) throws Exception;
public void overrideMappings(Map<String, String> mappings) throws Exception;
}
package eu.eudat.dao;
import java.util.Map;
public interface DaoFactory
{
public Dao getDao(Class<?> type) throws Exception;
public void overrideMappings(Map<String, String> mappings) throws Exception;
}

View File

@ -1,4 +1,4 @@
package dao;
package eu.eudat.dao;
import java.io.Serializable;
import java.util.List;

View File

@ -1,4 +1,4 @@
package dao;
package eu.eudat.dao;
import java.io.Serializable;
@ -10,8 +10,8 @@ import javax.annotation.PostConstruct;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceUnitUtil;
import javax.transaction.Transactional;
import org.springframework.transaction.annotation.Transactional;
public abstract class JpaDao<T, PK extends Serializable> implements Dao<T, PK> {
protected Class<T> entityClass;
@ -45,7 +45,7 @@ public abstract class JpaDao<T, PK extends Serializable> implements Dao<T, PK> {
return t;
}
@Transactional(readOnly = true)
@Transactional()
public T read(PK id) {
return entityManager.find(entityClass, id);
}

View File

@ -1,84 +1,84 @@
package dao;
import java.util.HashMap;
import java.util.Map;
import dao.entities.DMPDaoImpl;
import dao.entities.DMPProfileDaoImpl;
import dao.entities.DMPResearcherDaoImpl;
import dao.entities.DataRepositoryDaoImpl;
import dao.entities.DatasetDaoImpl;
import dao.entities.DatasetProfileDaoImpl;
import dao.entities.DatasetProfileRulesetDaoImpl;
import dao.entities.DatasetProfileViewstyleDaoImpl;
import dao.entities.DatasetRegistryDaoImpl;
import dao.entities.DatasetServiceDaoImpl;
import dao.entities.OrganisationDaoImpl;
import dao.entities.ProjectDaoImpl;
import dao.entities.RegistryDaoImpl;
import dao.entities.ResearcherDaoImpl;
import dao.entities.ServiceDaoImpl;
import entities.DMP;
import entities.DMPProfile;
import entities.DMPResearcher;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.DatasetProfileViewstyle;
import entities.DatasetRegistry;
import entities.DatasetService;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
/**
* A DAO factory for non-managed environments
*/
public class JpaDaoFactory implements DaoFactory
{
private static String persistenceUnit = null;
private static Map<String, String> daoImpls = null;
public static void setPersistenceContext(String persistenceUnit)
{
JpaDaoFactory.persistenceUnit = persistenceUnit;
}
private static void populateMappings()
{
daoImpls = new HashMap<String, String>();
daoImpls.put(Organisation.class.getName(), OrganisationDaoImpl.class.getName());
daoImpls.put(DataRepository.class.getName(), (DataRepositoryDaoImpl.class.getName()));
daoImpls.put(Dataset.class.getName(), (DatasetDaoImpl.class.getName()));
daoImpls.put(DatasetProfile.class.getName(), (DatasetProfileDaoImpl.class.getName()));
daoImpls.put(DatasetProfileRuleset.class.getName(), (DatasetProfileRulesetDaoImpl.class.getName()));
daoImpls.put(DatasetProfileViewstyle.class.getName(), (DatasetProfileViewstyleDaoImpl.class.getName()));
daoImpls.put(DatasetRegistry.class.getName(), (DatasetRegistryDaoImpl.class.getName()));
daoImpls.put(DatasetService.class.getName(), (DatasetServiceDaoImpl.class.getName()));
daoImpls.put(DMP.class.getName(), (DMPDaoImpl.class.getName()));
daoImpls.put(DMPProfile.class.getName(), (DMPProfileDaoImpl.class.getName()));
daoImpls.put(DMPResearcher.class.getName(), (DMPResearcherDaoImpl.class.getName()));
daoImpls.put(Organisation.class.getName(), (OrganisationDaoImpl.class.getName()));
daoImpls.put(Project.class.getName(), (ProjectDaoImpl.class.getName()));
daoImpls.put(Registry.class.getName(), (RegistryDaoImpl.class.getName()));
daoImpls.put(Researcher.class.getName(), (ResearcherDaoImpl.class.getName()));
daoImpls.put(Service.class.getName(), (ServiceDaoImpl.class.getName()));
}
@SuppressWarnings("rawtypes")
public Dao getDao(Class<?> type) throws Exception
{
if(daoImpls == null) populateMappings();
return (Dao)Class.forName(daoImpls.get(type.getName())).newInstance();
}
public void overrideMappings(Map<String, String> mappings)
{
populateMappings();
daoImpls.putAll(mappings);
}
}
package eu.eudat.dao;
import java.util.HashMap;
import java.util.Map;
import eu.eudat.dao.entities.DMPDaoImpl;
import eu.eudat.dao.entities.DMPProfileDaoImpl;
import eu.eudat.dao.entities.DMPResearcherDaoImpl;
import eu.eudat.dao.entities.DataRepositoryDaoImpl;
import eu.eudat.dao.entities.DatasetDaoImpl;
import eu.eudat.dao.entities.DatasetProfileDaoImpl;
import eu.eudat.dao.entities.DatasetProfileRulesetDaoImpl;
import eu.eudat.dao.entities.DatasetProfileViewstyleDaoImpl;
import eu.eudat.dao.entities.DatasetRegistryDaoImpl;
import eu.eudat.dao.entities.DatasetServiceDaoImpl;
import eu.eudat.dao.entities.OrganisationDaoImpl;
import eu.eudat.dao.entities.ProjectDaoImpl;
import eu.eudat.dao.entities.RegistryDaoImpl;
import eu.eudat.dao.entities.ResearcherDaoImpl;
import eu.eudat.dao.entities.ServiceDaoImpl;
import eu.eudat.entities.DMP;
import eu.eudat.entities.DMPProfile;
import eu.eudat.entities.DMPResearcher;
import eu.eudat.entities.DataRepository;
import eu.eudat.entities.Dataset;
import eu.eudat.entities.DatasetProfile;
import eu.eudat.entities.DatasetProfileRuleset;
import eu.eudat.entities.DatasetProfileViewstyle;
import eu.eudat.entities.DatasetRegistry;
import eu.eudat.entities.DatasetService;
import eu.eudat.entities.Organisation;
import eu.eudat.entities.Project;
import eu.eudat.entities.Registry;
import eu.eudat.entities.Researcher;
import eu.eudat.entities.Service;
/**
* A DAO factory for non-managed environments
*/
public class JpaDaoFactory implements DaoFactory
{
private static String persistenceUnit = null;
private static Map<String, String> daoImpls = null;
public static void setPersistenceContext(String persistenceUnit)
{
JpaDaoFactory.persistenceUnit = persistenceUnit;
}
private static void populateMappings()
{
daoImpls = new HashMap<String, String>();
daoImpls.put(Organisation.class.getName(), OrganisationDaoImpl.class.getName());
daoImpls.put(DataRepository.class.getName(), (DataRepositoryDaoImpl.class.getName()));
daoImpls.put(Dataset.class.getName(), (DatasetDaoImpl.class.getName()));
daoImpls.put(DatasetProfile.class.getName(), (DatasetProfileDaoImpl.class.getName()));
daoImpls.put(DatasetProfileRuleset.class.getName(), (DatasetProfileRulesetDaoImpl.class.getName()));
daoImpls.put(DatasetProfileViewstyle.class.getName(), (DatasetProfileViewstyleDaoImpl.class.getName()));
daoImpls.put(DatasetRegistry.class.getName(), (DatasetRegistryDaoImpl.class.getName()));
daoImpls.put(DatasetService.class.getName(), (DatasetServiceDaoImpl.class.getName()));
daoImpls.put(DMP.class.getName(), (DMPDaoImpl.class.getName()));
daoImpls.put(DMPProfile.class.getName(), (DMPProfileDaoImpl.class.getName()));
daoImpls.put(DMPResearcher.class.getName(), (DMPResearcherDaoImpl.class.getName()));
daoImpls.put(Organisation.class.getName(), (OrganisationDaoImpl.class.getName()));
daoImpls.put(Project.class.getName(), (ProjectDaoImpl.class.getName()));
daoImpls.put(Registry.class.getName(), (RegistryDaoImpl.class.getName()));
daoImpls.put(Researcher.class.getName(), (ResearcherDaoImpl.class.getName()));
daoImpls.put(Service.class.getName(), (ServiceDaoImpl.class.getName()));
}
@SuppressWarnings("rawtypes")
public Dao getDao(Class<?> type) throws Exception
{
if(daoImpls == null) populateMappings();
return (Dao)Class.forName(daoImpls.get(type.getName())).newInstance();
}
public void overrideMappings(Map<String, String> mappings)
{
populateMappings();
daoImpls.putAll(mappings);
}
}

View File

@ -1,120 +1,120 @@
package dao;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import dao.entities.DMPDaoImpl;
import dao.entities.DMPProfileDaoImpl;
import dao.entities.DMPResearcherDaoImpl;
import dao.entities.DataRepositoryDaoImpl;
import dao.entities.DatasetDaoImpl;
import dao.entities.DatasetProfileDaoImpl;
import dao.entities.DatasetProfileRulesetDaoImpl;
import dao.entities.DatasetProfileViewstyleDaoImpl;
import dao.entities.DatasetRegistryDaoImpl;
import dao.entities.DatasetServiceDaoImpl;
import dao.entities.OrganisationDaoImpl;
import dao.entities.ProjectDaoImpl;
import dao.entities.RegistryDaoImpl;
import dao.entities.ResearcherDaoImpl;
import dao.entities.ServiceDaoImpl;
import entities.DMP;
import entities.DMPProfile;
import entities.DMPResearcher;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.DatasetProfileViewstyle;
import entities.DatasetRegistry;
import entities.DatasetService;
import entities.Organisation;
import entities.Project;
import entities.Registry;
import entities.Researcher;
import entities.Service;
/**
* A DAO factory for Spring managed environment
*/
public class SpringJpaDaoFactory implements DaoFactory
{
public static class SpringApplicationContext implements ApplicationContextAware {
private static ApplicationContext CONTEXT;
/**
* This method is called from within the ApplicationContext once it is
* done starting up, it will stick a reference to itself into this bean.
* @param context a reference to the ApplicationContext.
*/
public void setApplicationContext(ApplicationContext context) throws BeansException {
CONTEXT = context;
}
/**
* This is about the same as context.getBean("beanName"), except it has its
* own static handle to the Spring context, so calling this method statically
* will give access to the beans by name in the Spring application context.
* As in the context.getBean("beanName") call, the caller must cast to the
* appropriate target class. If the bean does not exist, then a Runtime error
* will be thrown.
* @param beanName the name of the bean to get.
* @return an Object reference to the named bean.
*/
public static Object getBean(String beanName) {
return CONTEXT.getBean(beanName);
}
}
private static String persistenceUnit = null;
private static Map<String, String> daoImpls = null;
public static void setPersistenceContext(String persistenceUnit)
{
SpringJpaDaoFactory.persistenceUnit = persistenceUnit;
}
private static String getBeanName(String className)
{
return Character.toLowerCase(className.charAt(0)) +
(className.length() > 1 ? className.substring(1) : "");
}
private static void populateMappings()
{
daoImpls = new HashMap<String, String>();
daoImpls.put(DataRepository.class.getName(), getBeanName(DataRepositoryDaoImpl.class.getSimpleName()));
daoImpls.put(Dataset.class.getName(), getBeanName(DatasetDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetProfile.class.getName(), getBeanName(DatasetProfileDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetProfileRuleset.class.getName(), getBeanName(DatasetProfileRulesetDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetProfileViewstyle.class.getName(), getBeanName(DatasetProfileViewstyleDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetRegistry.class.getName(), getBeanName(DatasetRegistryDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetService.class.getName(), getBeanName(DatasetServiceDaoImpl.class.getSimpleName()));
daoImpls.put(DMP.class.getName(), getBeanName(DMPDaoImpl.class.getSimpleName()));
daoImpls.put(DMPProfile.class.getName(), getBeanName(DMPProfileDaoImpl.class.getSimpleName()));
daoImpls.put(DMPResearcher.class.getName(), getBeanName(DMPResearcherDaoImpl.class.getSimpleName()));
daoImpls.put(Organisation.class.getName(), getBeanName(OrganisationDaoImpl.class.getSimpleName()));
daoImpls.put(Project.class.getName(), getBeanName(ProjectDaoImpl.class.getSimpleName()));
daoImpls.put(Registry.class.getName(), getBeanName(RegistryDaoImpl.class.getSimpleName()));
daoImpls.put(Researcher.class.getName(), getBeanName(ResearcherDaoImpl.class.getSimpleName()));
daoImpls.put(Service.class.getName(), getBeanName(ServiceDaoImpl.class.getSimpleName()));
}
@SuppressWarnings("rawtypes")
public Dao getDao(Class<?> type) throws Exception
{
if(daoImpls == null) populateMappings();
return (Dao)SpringApplicationContext.getBean(daoImpls.get(type.getName()));
}
public void overrideMappings(Map<String, String> mappings)
{
populateMappings();
daoImpls.putAll(mappings);
}
}
package eu.eudat.dao;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import eu.eudat.dao.entities.DMPDaoImpl;
import eu.eudat.dao.entities.DMPProfileDaoImpl;
import eu.eudat.dao.entities.DMPResearcherDaoImpl;
import eu.eudat.dao.entities.DataRepositoryDaoImpl;
import eu.eudat.dao.entities.DatasetDaoImpl;
import eu.eudat.dao.entities.DatasetProfileDaoImpl;
import eu.eudat.dao.entities.DatasetProfileRulesetDaoImpl;
import eu.eudat.dao.entities.DatasetProfileViewstyleDaoImpl;
import eu.eudat.dao.entities.DatasetRegistryDaoImpl;
import eu.eudat.dao.entities.DatasetServiceDaoImpl;
import eu.eudat.dao.entities.OrganisationDaoImpl;
import eu.eudat.dao.entities.ProjectDaoImpl;
import eu.eudat.dao.entities.RegistryDaoImpl;
import eu.eudat.dao.entities.ResearcherDaoImpl;
import eu.eudat.dao.entities.ServiceDaoImpl;
import eu.eudat.entities.DMP;
import eu.eudat.entities.DMPProfile;
import eu.eudat.entities.DMPResearcher;
import eu.eudat.entities.DataRepository;
import eu.eudat.entities.Dataset;
import eu.eudat.entities.DatasetProfile;
import eu.eudat.entities.DatasetProfileRuleset;
import eu.eudat.entities.DatasetProfileViewstyle;
import eu.eudat.entities.DatasetRegistry;
import eu.eudat.entities.DatasetService;
import eu.eudat.entities.Organisation;
import eu.eudat.entities.Project;
import eu.eudat.entities.Registry;
import eu.eudat.entities.Researcher;
import eu.eudat.entities.Service;
/**
* A DAO factory for Spring managed environment
*/
public class SpringJpaDaoFactory implements DaoFactory
{
public static class SpringApplicationContext implements ApplicationContextAware {
private static ApplicationContext CONTEXT;
/**
* This method is called from within the ApplicationContext once it is
* done starting up, it will stick a reference to itself into this bean.
* @param context a reference to the ApplicationContext.
*/
public void setApplicationContext(ApplicationContext context) throws BeansException {
CONTEXT = context;
}
/**
* This is about the same as context.getBean("beanName"), except it has its
* own static handle to the Spring context, so calling this method statically
* will give access to the beans by name in the Spring application context.
* As in the context.getBean("beanName") call, the caller must cast to the
* appropriate target class. If the bean does not exist, then a Runtime error
* will be thrown.
* @param beanName the name of the bean to get.
* @return an Object reference to the named bean.
*/
public static Object getBean(String beanName) {
return CONTEXT.getBean(beanName);
}
}
private static String persistenceUnit = null;
private static Map<String, String> daoImpls = null;
public static void setPersistenceContext(String persistenceUnit)
{
SpringJpaDaoFactory.persistenceUnit = persistenceUnit;
}
private static String getBeanName(String className)
{
return Character.toLowerCase(className.charAt(0)) +
(className.length() > 1 ? className.substring(1) : "");
}
private static void populateMappings()
{
daoImpls = new HashMap<String, String>();
daoImpls.put(DataRepository.class.getName(), getBeanName(DataRepositoryDaoImpl.class.getSimpleName()));
daoImpls.put(Dataset.class.getName(), getBeanName(DatasetDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetProfile.class.getName(), getBeanName(DatasetProfileDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetProfileRuleset.class.getName(), getBeanName(DatasetProfileRulesetDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetProfileViewstyle.class.getName(), getBeanName(DatasetProfileViewstyleDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetRegistry.class.getName(), getBeanName(DatasetRegistryDaoImpl.class.getSimpleName()));
daoImpls.put(DatasetService.class.getName(), getBeanName(DatasetServiceDaoImpl.class.getSimpleName()));
daoImpls.put(DMP.class.getName(), getBeanName(DMPDaoImpl.class.getSimpleName()));
daoImpls.put(DMPProfile.class.getName(), getBeanName(DMPProfileDaoImpl.class.getSimpleName()));
daoImpls.put(DMPResearcher.class.getName(), getBeanName(DMPResearcherDaoImpl.class.getSimpleName()));
daoImpls.put(Organisation.class.getName(), getBeanName(OrganisationDaoImpl.class.getSimpleName()));
daoImpls.put(Project.class.getName(), getBeanName(ProjectDaoImpl.class.getSimpleName()));
daoImpls.put(Registry.class.getName(), getBeanName(RegistryDaoImpl.class.getSimpleName()));
daoImpls.put(Researcher.class.getName(), getBeanName(ResearcherDaoImpl.class.getSimpleName()));
daoImpls.put(Service.class.getName(), getBeanName(ServiceDaoImpl.class.getSimpleName()));
}
@SuppressWarnings("rawtypes")
public Dao getDao(Class<?> type) throws Exception
{
if(daoImpls == null) populateMappings();
return (Dao)SpringApplicationContext.getBean(daoImpls.get(type.getName()));
}
public void overrideMappings(Map<String, String> mappings)
{
populateMappings();
daoImpls.putAll(mappings);
}
}

View File

@ -1,15 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.DMP;
import entities.Organisation;
import entities.Project;
import entities.responses.IDLabelPair;
import models.dmp.DataManagementPlanTableRequest;
import models.project.ProjectTableRequest;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DMP;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.dmp.DataManagementPlanTableRequest;
import org.springframework.stereotype.Service;
public interface DMPDao extends Dao<DMP, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.Map;
@ -12,14 +12,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.DMP;
import entities.Project;
import entities.UserInfo;
import entities.responses.IDLabelPair;
import models.dmp.DataManagementPlanTableRequest;
import models.project.ProjectTableRequest;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DMP;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.dmp.DataManagementPlanTableRequest;
import org.springframework.stereotype.Component;
@Component("dMPDao")
public class DMPDaoImpl extends JpaDao<DMP, UUID> implements DMPDao {
public DMP loadDetails(DMP t) {
@ -55,7 +54,7 @@ public class DMPDaoImpl extends JpaDao<DMP, UUID> implements DMPDao {
try {
return typedQuery.getResultList();
}
catch(Exception ex) { //no need to distinguish between exceptions for the moment
catch(Exception ex) { //no need to distinguish between eu.eudat.exceptions for the moment
ex.printStackTrace();
return null;
}

View File

@ -0,0 +1,17 @@
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DMPProfile;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Service;
public interface DMPProfileDao extends Dao<DMPProfile, UUID> {
List<UUID> listAllIDs();
List<IDLabelPair> listAllIDsLabels();
}

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -8,10 +8,12 @@ import javax.persistence.TypedQuery;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.DMPProfile;
import entities.responses.IDLabelPair;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DMPProfile;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("dMPProfileDao")
public class DMPProfileDaoImpl extends JpaDao<DMPProfile, UUID> implements DMPProfileDao {
public DMPProfile loadDetails(DMPProfile t) {

View File

@ -0,0 +1,15 @@
package eu.eudat.dao.entities;
import java.util.UUID;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DMPResearcher;
import eu.eudat.entities.Researcher;
import org.springframework.stereotype.Service;
public interface DMPResearcherDao extends Dao<DMPResearcher, UUID> {
Researcher getResearcherByEmail(String email);
}

View File

@ -1,15 +1,15 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.UUID;
import javax.persistence.TypedQuery;
import org.hibernate.NonUniqueResultException;
import dao.JpaDao;
import entities.DMPResearcher;
import entities.Researcher;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DMPResearcher;
import eu.eudat.entities.Researcher;
import org.springframework.stereotype.Component;
@Component("dMPResearcherDao")
public class DMPResearcherDaoImpl extends JpaDao<DMPResearcher, UUID> implements DMPResearcherDao {
public DMPResearcher loadDetails(DMPResearcher t) {

View File

@ -1,12 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.DataRepository;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DataRepository;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Service;
public interface DataRepositoryDao extends Dao<DataRepository, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -11,11 +11,14 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.DataRepository;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DataRepository;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
@Component("dataRepositoryDao")
public class DataRepositoryDaoImpl extends JpaDao<DataRepository, UUID> implements DataRepositoryDao {
public DataRepository loadDetails(DataRepository t) {

View File

@ -1,11 +1,12 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.Dataset;
import entities.responses.IDLabelPair;
import eu.eudat.dao.Dao;
import eu.eudat.entities.Dataset;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Service;
public interface DatasetDao extends Dao<Dataset, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.Set;
@ -7,12 +7,13 @@ import java.util.stream.Collectors;
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import javax.transaction.Transactional;
import dao.JpaDao;
import entities.Dataset;
import entities.responses.IDLabelPair;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.Dataset;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("datasetDao")
public class DatasetDaoImpl extends JpaDao<Dataset, UUID> implements DatasetDao {
public Dataset loadDetails(Dataset t) {

View File

@ -1,11 +1,12 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.DatasetProfile;
import entities.responses.IDLabelPair;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DatasetProfile;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Service;
public interface DatasetProfileDao extends Dao<DatasetProfile, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -7,10 +7,12 @@ import java.util.stream.Collectors;
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import dao.JpaDao;
import entities.DatasetProfile;
import entities.responses.IDLabelPair;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DatasetProfile;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("datasetProfileDao")
public class DatasetProfileDaoImpl extends JpaDao<DatasetProfile, UUID> implements DatasetProfileDao {

View File

@ -0,0 +1,11 @@
package eu.eudat.dao.entities;
import java.util.UUID;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DatasetProfileRuleset;
import org.springframework.stereotype.Service;
public interface DatasetProfileRulesetDao extends Dao<DatasetProfileRuleset, UUID> {
}

View File

@ -1,11 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.UUID;
import dao.JpaDao;
import entities.DatasetProfileRuleset;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DatasetProfileRuleset;
import org.springframework.stereotype.Component;
@Component("datasetProfileRulesetDao")
public class DatasetProfileRulesetDaoImpl extends JpaDao<DatasetProfileRuleset, UUID> implements DatasetProfileRulesetDao {
public DatasetProfileRuleset loadDetails(DatasetProfileRuleset t) {

View File

@ -0,0 +1,11 @@
package eu.eudat.dao.entities;
import java.util.UUID;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DatasetProfileViewstyle;
import org.springframework.stereotype.Service;
public interface DatasetProfileViewstyleDao extends Dao<DatasetProfileViewstyle, UUID> {
}

View File

@ -1,11 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.UUID;
import dao.JpaDao;
import entities.DatasetProfileViewstyle;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DatasetProfileViewstyle;
import org.springframework.stereotype.Component;
@Component("datasetProfileViewstyleDao")
public class DatasetProfileViewstyleDaoImpl extends JpaDao<DatasetProfileViewstyle, UUID> implements DatasetProfileViewstyleDao {
public DatasetProfileViewstyle loadDetails(DatasetProfileViewstyle t) {

View File

@ -0,0 +1,11 @@
package eu.eudat.dao.entities;
import java.util.UUID;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DatasetRegistry;
import org.springframework.stereotype.Service;
public interface DatasetRegistryDao extends Dao<DatasetRegistry, UUID> {
}

View File

@ -1,11 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.UUID;
import dao.JpaDao;
import entities.DatasetRegistry;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DatasetRegistry;
import org.springframework.stereotype.Component;
@Component("datasetRegistryDao")
public class DatasetRegistryDaoImpl extends JpaDao<DatasetRegistry, UUID> implements DatasetRegistryDao {
public DatasetRegistry loadDetails(DatasetRegistry t) {

View File

@ -0,0 +1,11 @@
package eu.eudat.dao.entities;
import java.util.UUID;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DatasetService;
import org.springframework.stereotype.Service;
public interface DatasetServiceDao extends Dao<DatasetService, UUID> {
}

View File

@ -1,11 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.UUID;
import dao.JpaDao;
import entities.DatasetService;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DatasetService;
import org.springframework.stereotype.Component;
@Component("datasetServiceDao")
public class DatasetServiceDaoImpl extends JpaDao<DatasetService, UUID> implements DatasetServiceDao {
public DatasetService loadDetails(DatasetService t) {

View File

@ -1,13 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.Organisation;
import entities.Registry;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.Dao;
import eu.eudat.entities.Organisation;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Service;
public interface OrganisationDao extends Dao<Organisation, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -9,14 +9,15 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import entities.Registry;
import models.criteria.Criteria;
import eu.eudat.models.criteria.Criteria;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.Organisation;
import entities.responses.IDLabelPair;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.Organisation;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("organisationDao")
public class OrganisationDaoImpl extends JpaDao<Organisation, UUID> implements OrganisationDao {
public Organisation loadDetails(Organisation t) {

View File

@ -1,12 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.Project;
import entities.responses.IDLabelPair;
import models.project.ProjectTableRequest;
import eu.eudat.dao.Dao;
import eu.eudat.entities.Project;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.project.ProjectTableRequest;
import org.springframework.stereotype.Service;
public interface ProjectDao extends Dao<Project, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -11,13 +11,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.DMP;
import entities.Project;
import entities.Registry;
import entities.responses.IDLabelPair;
import models.project.ProjectTableRequest;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.Project;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.project.ProjectTableRequest;
import org.springframework.stereotype.Component;
@Component("projectDao")
public class ProjectDaoImpl extends JpaDao<Project, UUID> implements ProjectDao {
public Project loadDetails(Project t) {
@ -53,7 +53,7 @@ public class ProjectDaoImpl extends JpaDao<Project, UUID> implements ProjectDao
try {
return typedQuery.getResultList();
}
catch(Exception ex) { //no need to distinguish between exceptions for the moment
catch(Exception ex) { //no need to distinguish between eu.eudat.exceptions for the moment
ex.printStackTrace();
return null;
}

View File

@ -1,12 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.Registry;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.Dao;
import eu.eudat.entities.Registry;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Service;
public interface RegistryDao extends Dao<Registry, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -11,11 +11,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.Registry;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.Registry;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Component;
@Component("registryDao")
public class RegistryDaoImpl extends JpaDao<Registry, UUID> implements RegistryDao {
public Registry loadDetails(Registry t) {

View File

@ -1,13 +1,13 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.Registry;
import entities.Researcher;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.Dao;
import eu.eudat.entities.Researcher;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Service;
public interface ResearcherDao extends Dao<Researcher, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -9,14 +9,15 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import entities.Registry;
import models.criteria.Criteria;
import eu.eudat.models.criteria.Criteria;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.Researcher;
import entities.responses.IDLabelPair;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.Researcher;
import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("researcherDao")
public class ResearcherDaoImpl extends JpaDao<Researcher, UUID> implements ResearcherDao {
public Researcher loadDetails(Researcher t) {

View File

@ -1,12 +1,12 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.Service;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.Dao;
import eu.eudat.entities.Service;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
public interface ServiceDao extends Dao<Service, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
@ -11,11 +11,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query;
import dao.JpaDao;
import entities.Service;
import entities.responses.IDLabelPair;
import models.criteria.Criteria;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.Service;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Component;
@Component("serviceDao")
public class ServiceDaoImpl extends JpaDao<Service, UUID> implements ServiceDao {
public Service loadDetails(Service t) {

View File

@ -1,11 +1,12 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import dao.Dao;
import entities.DMP;
import entities.UserInfo;
import eu.eudat.dao.Dao;
import eu.eudat.entities.DMP;
import eu.eudat.entities.UserInfo;
import org.springframework.stereotype.Service;
public interface UserInfoDao extends Dao<UserInfo, UUID> {

View File

@ -1,4 +1,4 @@
package dao.entities;
package eu.eudat.dao.entities;
import java.util.List;
import java.util.Set;
@ -7,12 +7,13 @@ import java.util.UUID;
import javax.persistence.NoResultException;
import javax.persistence.TypedQuery;
import dao.JpaDao;
import entities.DMP;
import entities.UserInfo;
import entities.security.UserAuth;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DMP;
import eu.eudat.entities.UserInfo;
import eu.eudat.entities.security.UserAuth;
import org.springframework.stereotype.Component;
@Component("userInfoDao")
public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoDao {
public UserInfo loadDetails(UserInfo t) {
@ -76,7 +77,7 @@ public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoD
try {
return typedQuery.getSingleResult();
}
catch(Exception ex) { //no need to distinguish between exceptions for the moment
catch(Exception ex) { //no need to distinguish between eu.eudat.exceptions for the moment
return null;
}
}
@ -92,7 +93,7 @@ public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoD
try {
return typedQuery.getSingleResult();
}
catch(Exception ex) { //no need to distinguish between exceptions for the moment
catch(Exception ex) { //no need to distinguish between eu.eudat.exceptions for the moment
return null;
}
}
@ -106,7 +107,7 @@ public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoD
try {
return typedQuery.getResultList();
}
catch(Exception ex) { //no need to distinguish between exceptions for the moment
catch(Exception ex) { //no need to distinguish between eu.eudat.exceptions for the moment
ex.printStackTrace();
return null;
}

View File

@ -1,9 +1,9 @@
package dao.entities.security;
package eu.eudat.dao.entities.security;
import java.util.UUID;
import dao.Dao;
import entities.security.UserAuth;
import eu.eudat.dao.Dao;
import eu.eudat.entities.security.UserAuth;
public interface UserAuthDao extends Dao<UserAuth, UUID> {

View File

@ -1,12 +1,14 @@
package dao.entities.security;
package eu.eudat.dao.entities.security;
import java.util.UUID;
import javax.persistence.TypedQuery;
import dao.JpaDao;
import entities.security.UserAuth;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.security.UserAuth;
import org.springframework.stereotype.Component;
@Component("userAuthDaoImpl")
public class UserAuthDaoImpl extends JpaDao<UserAuth, UUID> implements UserAuthDao {
@Override

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -6,7 +6,6 @@ import java.util.Date;
import java.util.Set;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -16,22 +15,13 @@ import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
@Entity
@ -68,7 +58,7 @@ public class DMP implements Serializable,DataEntity {
private Project project;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"ProfileData\"", columnDefinition = "xml", nullable = true)
private String profileData;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -11,13 +11,9 @@ import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -12,17 +12,13 @@ import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@ -49,7 +45,7 @@ public class DMPProfile implements Serializable {
@Column(name = "\"Label\"")
private String label;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = true)
private String definition;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -11,13 +11,10 @@ import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
public interface DataEntity {
}

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -17,13 +17,10 @@ import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@Table(name="\"DataRepository\"")
@ -54,7 +51,7 @@ public class DataRepository implements Serializable,DataEntity {
@Column(name = "\"Uri\"")
private String uri;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = true)
private String definition;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -6,7 +6,6 @@ import java.util.Date;
import java.util.Set;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -16,18 +15,13 @@ import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@Table(name="\"Dataset\"")
@ -58,7 +52,7 @@ public class Dataset implements Serializable,DataEntity {
@Column(name = "\"Uri\"")
private String uri;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Properties\"", columnDefinition = "xml", nullable = true)
private String properties;
@ -68,7 +62,7 @@ public class Dataset implements Serializable,DataEntity {
@JoinColumn(name = "\"Profile\"", nullable = true)
private DatasetProfile profile;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Reference\"", columnDefinition = "xml", nullable = true)
private String reference;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -59,7 +59,7 @@ public class DatasetProfile implements Serializable {
private DatasetProfileViewstyle viewstyle;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = false)
private String definition;

View File

@ -1,10 +1,9 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -14,15 +13,10 @@ import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import org.json.JSONObject;
import org.json.XML;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@ -49,7 +43,7 @@ public class DatasetProfileRuleset implements Serializable {
@Column(name = "\"Label\"")
private String label;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = false)
private String definition;

View File

@ -1,10 +1,9 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -14,14 +13,10 @@ import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import org.json.XML;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@ -47,7 +42,7 @@ public class DatasetProfileViewstyle implements Serializable {
@Column(name = "\"Label\"")
private String label;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = false)
private String definition;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -11,13 +11,10 @@ import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -11,13 +11,10 @@ import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -6,7 +6,6 @@ import java.util.Date;
import java.util.Set;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -18,13 +17,10 @@ import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@ -50,14 +46,14 @@ public class Organisation implements Serializable,DataEntity {
@Column(name = "\"Abbreviation\"")
private String abbreviation;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Reference\"", columnDefinition = "xml", nullable = true)
private String reference;
@Column(name = "\"Uri\"")
private String uri;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = true)
private String definition;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -6,27 +6,21 @@ import java.util.Date;
import java.util.Set;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
@ -59,14 +53,14 @@ public class Project implements Serializable,DataEntity {
@Column(name = "\"Abbreviation\"")
private String abbreviation;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Reference\"", columnDefinition = "xml", nullable = true)
private String reference;
@Column(name = "\"Uri\"")
private String uri;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = true)
private String definition;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -6,7 +6,6 @@ import java.util.Date;
import java.util.Set;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -18,13 +17,10 @@ import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@ -55,7 +51,7 @@ public class Registry implements Serializable,DataEntity {
@Column(name = "\"Uri\"")
private String uri;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = true)
private String definition;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -6,7 +6,6 @@ import java.util.Date;
import java.util.Set;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -18,13 +17,10 @@ import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@ -53,11 +49,11 @@ public class Researcher implements Serializable,DataEntity {
@Column(name = "\"PrimaryEmail\"")
private String primaryEmail;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = true)
private String definition;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Reference\"", columnDefinition = "xml", nullable = true)
private String reference;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
@ -6,13 +6,10 @@ import java.util.Date;
import java.util.Set;
import java.util.UUID;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
@ -20,13 +17,10 @@ import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@ -56,7 +50,7 @@ public class Service implements Serializable,DataEntity {
@Column(name = "\"Uri\"")
private String uri;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = false)
private String definition;

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
import java.util.UUID;
@ -10,13 +10,10 @@ import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@Table(name="\"UserDMP\"")

View File

@ -1,4 +1,4 @@
package entities;
package eu.eudat.entities;
import java.io.Serializable;
import java.util.Date;
@ -16,19 +16,14 @@ import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import entities.security.UserAuth;
import eu.eudat.entities.security.UserAuth;
@Entity
@ -73,7 +68,7 @@ public class UserInfo implements Serializable,DataEntity{
private Date lastloggedin = null;
@Type(type="typedefinition.XMLType")
@Type(type="eu.eudat.typedefinition.XMLType")
@Column(name = "additionalinfo", columnDefinition = "xml", nullable = true)
private String additionalinfo;

View File

@ -1,4 +1,4 @@
package entities.responses;
package eu.eudat.entities.responses;
import java.io.Serializable;

View File

@ -1,4 +1,4 @@
package entities.security;
package eu.eudat.entities.security;
import java.util.UUID;
@ -9,12 +9,9 @@ import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity
@Table(name="\"UserAuth\"")

View File

@ -0,0 +1,7 @@
package eu.eudat.entities.xmlmodels.modeldefinition;
import eu.eudat.utilities.DatabaseDefinition;
public interface DatabaseModelDefinition extends DatabaseDefinition{
}

View File

@ -1,14 +1,12 @@
package entities.xmlmodels.modeldefinition;
package eu.eudat.entities.xmlmodels.modeldefinition;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import models.components.commons.DefaultValue;
import models.components.commons.Multiplicity;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
import eu.eudat.models.components.commons.DefaultValue;
import eu.eudat.models.components.commons.Multiplicity;
import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
public class Field implements DatabaseModelDefinition,XmlSerializable<Field>{

View File

@ -1,4 +1,4 @@
package entities.xmlmodels.modeldefinition;
package eu.eudat.entities.xmlmodels.modeldefinition;
import java.util.LinkedList;
import java.util.List;
@ -8,8 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
public class FieldGroup implements DatabaseModelDefinition,XmlSerializable<FieldGroup>{
private List<FieldSet> fieldSets;

View File

@ -1,4 +1,4 @@
package entities.xmlmodels.modeldefinition;
package eu.eudat.entities.xmlmodels.modeldefinition;
import java.util.LinkedList;
import java.util.List;
@ -8,12 +8,9 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import models.components.commons.Multiplicity;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
import eu.eudat.models.components.commons.Multiplicity;
import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
public class FieldSet implements DatabaseModelDefinition,XmlSerializable<FieldSet>{

View File

@ -0,0 +1,7 @@
package eu.eudat.entities.xmlmodels.viewstyledefinition;
import eu.eudat.utilities.DatabaseDefinition;
public interface DatabaseViewStyleDefinition extends DatabaseDefinition{
}

View File

@ -1,4 +1,4 @@
package entities.xmlmodels.viewstyledefinition;
package eu.eudat.entities.xmlmodels.viewstyledefinition;
import java.util.LinkedList;
import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
public class FieldGroup implements DatabaseViewStyleDefinition,XmlSerializable<FieldGroup>{
private String id;

View File

@ -1,4 +1,4 @@
package entities.xmlmodels.viewstyledefinition;
package eu.eudat.entities.xmlmodels.viewstyledefinition;
import java.util.LinkedList;
import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
public class FieldSet implements DatabaseViewStyleDefinition,XmlSerializable<FieldSet>{
private String id;

View File

@ -1,4 +1,4 @@
package entities.xmlmodels.viewstyledefinition;
package eu.eudat.entities.xmlmodels.viewstyledefinition;
import java.util.LinkedList;
import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
public class Section implements DatabaseViewStyleDefinition,XmlSerializable<Section>{
private String id;

View File

@ -1,4 +1,4 @@
package entities.xmlmodels.viewstyledefinition;
package eu.eudat.entities.xmlmodels.viewstyledefinition;
import java.util.LinkedList;
import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.FieldSet;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
public class ViewStyleModel implements XmlSerializable<ViewStyleModel>{
private List<Section> sections;

View File

@ -1,4 +1,4 @@
package exceptions;
package eu.eudat.exceptions;
public class NonValidTokenException extends Exception {

View File

@ -1,4 +1,4 @@
package helpers;
package eu.eudat.helpers;
import java.util.Arrays;
import java.util.HashSet;
@ -7,16 +7,16 @@ import java.util.UUID;
import org.springframework.util.MultiValueMap;
import entities.DMP;
import entities.DMPProfile;
import entities.DataRepository;
import entities.Dataset;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.DatasetProfileViewstyle;
import entities.Project;
import entities.Registry;
import entities.Service;
import eu.eudat.entities.DMP;
import eu.eudat.entities.DMPProfile;
import eu.eudat.entities.DataRepository;
import eu.eudat.entities.Dataset;
import eu.eudat.entities.DatasetProfile;
import eu.eudat.entities.DatasetProfileRuleset;
import eu.eudat.entities.DatasetProfileViewstyle;
import eu.eudat.entities.Project;
import eu.eudat.entities.Registry;
import eu.eudat.entities.Service;
public class Transformers {

View File

@ -1,4 +1,4 @@
package login;
package eu.eudat.login;
import java.io.Serializable;
import java.security.MessageDigest;
@ -21,11 +21,11 @@ import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dao.entities.UserInfoDao;
import dao.entities.security.UserAuthDao;
import entities.UserInfo;
import entities.security.UserAuth;
import security.TokenSessionManager;
import eu.eudat.dao.entities.UserInfoDao;
import eu.eudat.dao.entities.security.UserAuthDao;
import eu.eudat.entities.UserInfo;
import eu.eudat.entities.security.UserAuth;
import eu.eudat.security.TokenSessionManager;
@RestController
@ -70,7 +70,7 @@ public class Login {
else if(userHash.equals(providedHash)) {
// create a token
token = tokenSessionManager.generateRandomAlphanumeric(512);
// add it to the cache
// add it to the eu.eudat.cache
tokenSessionManager.set(token, credentials.getUsername());
}

Some files were not shown because too many files have changed in this diff Show More