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> <groupId>dmp-backend</groupId>
<artifactId>dmp-backend</artifactId> <artifactId>dmp-backend</artifactId>
<version>0.0.1-SNAPSHOT</version> <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> <properties>
<project.http.version>1.19.0</project.http.version> <project.http.version>1.19.0</project.http.version>
<project.oauth.version>1.19.0</project.oauth.version> <project.oauth.version>1.19.0</project.oauth.version>
<dmp-backend-commons.version>0.0.1-SNAPSHOT</dmp-backend-commons.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.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> <org.springframework.security.version>4.2.3.RELEASE</org.springframework.security.version>
<com.sun.jersey.version>1.19.1</com.sun.jersey.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> <org.apache.tomcat.tomcat-jdbc.version>7.0.35</org.apache.tomcat.tomcat-jdbc.version>
@ -41,6 +45,16 @@
<!-- <artifactId>dmp-backend-commons</artifactId> --> <!-- <artifactId>dmp-backend-commons</artifactId> -->
<!-- <version>${dmp-backend-commons.version}</version> --> <!-- <version>${dmp-backend-commons.version}</version> -->
<!-- </dependency> --> <!-- </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> <dependency>
<groupId>org.hibernate</groupId> <groupId>org.hibernate</groupId>
@ -53,266 +67,96 @@
<artifactId>hibernate-c3p0</artifactId> <artifactId>hibernate-c3p0</artifactId>
<version>${hibernate.version}</version> <version>${hibernate.version}</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.google.api-client/google-api-client -->
<!-- g/a spring -->
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>com.google.api-client</groupId>
<artifactId>javax.servlet-api</artifactId> <artifactId>google-api-client</artifactId>
<version>${javax.servlet.servlet-api.version}</version> <version>1.23.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>com.jayway.jsonpath</groupId>
<artifactId>spring-core</artifactId> <artifactId>json-path</artifactId>
<version>${org.springframework.version}</version> <version>2.4.0</version>
</dependency> </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> <dependency>
<groupId>org.springframework</groupId> <groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>spring-orm</artifactId> <artifactId>jackson-dataformat-xml</artifactId>
<version>${org.springframework.version}</version> <version>2.9.3</version>
</dependency> </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> <dependency>
<groupId>org.springframework.security</groupId> <groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId> <artifactId>spring-security-web</artifactId>
<version>${org.springframework.security.version}</version> <version>4.2.3.RELEASE</version>
</dependency> </dependency>
<dependency> <!-- g/a spring -->
<groupId>javax.servlet</groupId> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
</dependency>
<!-- Jackson core and databind -->
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>spring-boot-starter-web</artifactId>
<version>${com.fasterxml.jackson}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${com.fasterxml.jackson}</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>${com.fasterxml.jackson}</version> <exclusions>
</dependency> <exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<dependency> <artifactId>jackson-annotations</artifactId>
<groupId>com.fasterxml.jackson.datatype</groupId> </exclusion>
<artifactId>jackson-datatype-hibernate5</artifactId> </exclusions>
<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>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-codec</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>commons-codec</artifactId> <artifactId>jackson-annotations</artifactId>
<version>${commons-codec.version}</version> <version>2.9.0</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.springframework</groupId>
<artifactId>jcl-over-slf4j</artifactId> <artifactId>spring-context</artifactId>
<version>${slf4j.version}</version> <version>4.3.10.RELEASE</version>
<scope>runtime</scope>
</dependency> </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> <!-- guava eu.eudat.cache -->
<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 -->
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
<version>23.0</version> <version>23.0</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
<dependency>
<!-- Swagger for providing a minimal (descriptive) UI for the rest API --> <groupId>org.springframework</groupId>
<dependency> <artifactId>spring-context-support</artifactId>
<groupId>io.springfox</groupId> <version>4.0.0.RELEASE</version>
<artifactId>springfox-swagger2</artifactId> </dependency>
<version>2.7.0</version>
<!-- <exclusions> --> <dependency>
<!-- <exclusion> --> <groupId>org.springframework.boot</groupId>
<!-- <groupId>com.google.guava</groupId> --> <artifactId>spring-boot-starter-data-jpa</artifactId>
<!-- <artifactId>guava</artifactId> --> </dependency>
<!-- </exclusion> --> <!-- https://mvnrepository.com/artifact/junit/junit -->
<!-- </exclusions> --> <dependency>
</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> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
@ -333,35 +177,20 @@
<build> <build>
<plugins> <plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration> <configuration>
<source>1.8</source> <source>1.8</source>
<target>1.8</target> <target>1.8</target>
<encoding>UTF-8</encoding>
</configuration> </configuration>
</plugin> </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> </plugins>
<finalName>${project.artifactId}</finalName> <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; 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.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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; 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.springframework.web.bind.annotation.RestController;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.managers.AdminManager;
import com.fasterxml.jackson.dataformat.xml.XmlMapper; import eu.eudat.models.admin.composite.DatasetProfile;
import dao.entities.DatasetProfileDao; import javax.transaction.Transactional;
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;
@RestController @RestController
@CrossOrigin @CrossOrigin
@ -47,8 +32,8 @@ public class Admin {
@RequestMapping(method = RequestMethod.POST, value = { "/admin/addDmp" },consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/admin/addDmp" },consumes = "application/json", produces="application/json")
public ResponseEntity<Object> addDmp(@RequestBody DatasetProfile profile){ public ResponseEntity<Object> addDmp(@RequestBody DatasetProfile profile){
try{ try{
entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile); eu.eudat.entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile);
entities.DatasetProfileViewstyle viewStyleDefinition = AdminManager.generateViewStyleDefinition(profile); eu.eudat.entities.DatasetProfileViewstyle viewStyleDefinition = AdminManager.generateViewStyleDefinition(profile);
viewStyleDefinition = datasetProfileViewstyleDao.create(viewStyleDefinition); viewStyleDefinition = datasetProfileViewstyleDao.create(viewStyleDefinition);
modelDefinition.setViewstyle(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") @RequestMapping(method = RequestMethod.POST, value = { "/admin/addDmp/{id}" },consumes = "application/json", produces="application/json")
public ResponseEntity<Object> updateDmp(@PathVariable String id,@RequestBody DatasetProfile profile){ public ResponseEntity<Object> updateDmp(@PathVariable String id,@RequestBody DatasetProfile profile){
try{ try{
entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile); eu.eudat.entities.DatasetProfile modelDefinition = AdminManager.generateModelDefinition(profile);
entities.DatasetProfileViewstyle viewStyleDefinition = AdminManager.generateViewStyleDefinition(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()); oldviewStyle.setDefinition(viewStyleDefinition.getDefinition());
datasetProfileViewstyleDao.update(oldviewStyle); datasetProfileViewstyleDao.update(oldviewStyle);
@ -92,13 +77,12 @@ public class Admin {
@RequestMapping(method = RequestMethod.GET, value = { "/admin/get/{id}" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/admin/get/{id}" }, produces="application/json")
public ResponseEntity<Object> get(@PathVariable String id){ public ResponseEntity<Object> get(@PathVariable String id){
try{ try{
entities.DatasetProfile profile = datasetProfileDao.read(UUID.fromString(id)); eu.eudat.entities.DatasetProfile profile = datasetProfileDao.read(UUID.fromString(id));
models.admin.composite.DatasetProfile datasetprofile = AdminManager.generateDatasetProfileModel(profile); eu.eudat.models.admin.composite.DatasetProfile datasetprofile = AdminManager.generateDatasetProfileModel(profile);
return ResponseEntity.status(HttpStatus.OK).body(datasetprofile); return ResponseEntity.status(HttpStatus.OK).body(datasetprofile);
}catch(Exception ex){ }catch(Exception ex){
ex.printStackTrace(); ex.printStackTrace();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("{\"reason\":\""+ex.getMessage()+"\"}"); 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.*; import java.util.*;
@ -6,14 +6,14 @@ import java.util.stream.Collectors;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import models.criteria.DataRepositoryCriteria; import eu.eudat.entities.DMP;
import models.criteria.OrganisationCriteria; import eu.eudat.entities.Dataset;
import models.criteria.ResearcherCriteria; import eu.eudat.entities.UserInfo;
import models.criteria.ServiceCriteria; import eu.eudat.models.criteria.OrganisationCriteria;
import models.dmp.DataManagementPlan; import eu.eudat.models.criteria.ResearcherCriteria;
import models.dmp.DataManagementPlanTableRequest; import eu.eudat.models.dmp.DataManagementPlan;
import models.helpers.DataTableData; import eu.eudat.models.dmp.DataManagementPlanTableRequest;
import models.project.ProjectTableRequest; import eu.eudat.models.helpers.DataTableData;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DMPDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.ProjectDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.RegistryDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.ResearcherDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.ServiceDao; import eu.eudat.dao.entities.ServiceDao;
import dao.entities.UserInfoDao; import eu.eudat.dao.entities.UserInfoDao;
import entities.DMP; import eu.eudat.entities.responses.IDLabelPair;
import entities.Dataset; import eu.eudat.managers.DataManagementPlanManager;
import entities.Project;
import entities.UserInfo;
import entities.responses.IDLabelPair;
import helpers.SerializerProvider;
import managers.DataManagementPlanManager;
import managers.ProjectManager;
import utilities.builders.DomainModelConverter;
@RestController @RestController
@ -75,9 +68,9 @@ public class DMPs {
@RequestMapping(method = RequestMethod.POST, value = { "/dmps/getPaged" }, consumes = "application/json", produces="application/json") @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 { 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); 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") @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 { 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); return ResponseEntity.status(HttpStatus.OK).body(project);
} catch (Exception ex) { } catch (Exception ex) {
@ -101,8 +94,8 @@ public class DMPs {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmps/add" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/dmps/add" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<entities.DMP> addDmp(@RequestBody models.dmp.DataManagementPlan dataManagementPlan) { public @ResponseBody ResponseEntity<eu.eudat.entities.DMP> addDmp(@RequestBody eu.eudat.models.dmp.DataManagementPlan dataManagementPlan) {
entities.DMP createdProject = dMPDao.update(dataManagementPlan.toDataModel()); eu.eudat.entities.DMP createdProject = dMPDao.update(dataManagementPlan.toDataModel());
return ResponseEntity.status(HttpStatus.CREATED).body(createdProject); return ResponseEntity.status(HttpStatus.CREATED).body(createdProject);
} }
@ -110,19 +103,19 @@ public class DMPs {
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@RequestMapping(method = RequestMethod.GET, value = { "/dmps" }, produces="text/plain") @RequestMapping(method = RequestMethod.GET, value = { "/dmps" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> listDMPs(){ public @ResponseBody ResponseEntity<List<UUID>> listDMPs(){
try { try {
List<UUID> allIDs = dMPDao.listAllIDs(); List<UUID> allIDs = dMPDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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") @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 { try {
DMP dmp = dMPDao.read(UUID.fromString(id)); DMP dmp = dMPDao.read(UUID.fromString(id));
DataManagementPlan dataManagementPlan = new DataManagementPlan(); DataManagementPlan dataManagementPlan = new DataManagementPlan();
@ -131,19 +124,19 @@ public class DMPs {
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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") @RequestMapping(method = RequestMethod.GET, value = { "/dmp/listDMPLabelID" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> listDmpLabelID(){ public @ResponseBody ResponseEntity<List<IDLabelPair>> listDmpLabelID(){
try { try {
List<IDLabelPair> allIDLabels = dMPDao.listAllIDsLabels(); List<IDLabelPair> allIDLabels = dMPDao.listAllIDsLabels();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDLabels)); return ResponseEntity.status(HttpStatus.OK).body(allIDLabels);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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 { try {
List<DMP> allDMPs = dMPDao.getAll(); List<DMP> allDMPs = dMPDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDMPs), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allDMPs);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null );
} }
} }
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/create" }, consumes = "application/json", produces="application/json") @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 { try {
DMP createdDmp = dMPDao.update(dmp); DMP createdDmp = dMPDao.update(dmp);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdDmp)); return ResponseEntity.status(HttpStatus.CREATED).body(createdDmp);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); 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 @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/update" }, consumes = "application/json", produces="application/json") @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(); DMP newDmp = dataManagementPlan.toDataModel();
if(newDmp.getOrganisations()!=null&&!newDmp.getOrganisations().isEmpty()){ 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(); OrganisationCriteria criteria = new OrganisationCriteria();
criteria.setLike(organisation.getReference()); 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()); if(entries!=null&&!entries.isEmpty())organisation.setId(entries.get(0).getId());
else organisation = this.organisationDao.create(organisation); else organisation = this.organisationDao.create(organisation);
} }
} }
if(newDmp.getResearchers()!=null&&!newDmp.getResearchers().isEmpty()){ 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(); ResearcherCriteria criteria = new ResearcherCriteria();
criteria.setLike(researcher.getReference()); 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()); if(entries!=null&&!entries.isEmpty())researcher.setId(entries.get(0).getId());
else researcher = this.researcherDao.create(researcher); else researcher = this.researcherDao.create(researcher);
} }
@ -213,10 +206,10 @@ public class DMPs {
try { try {
DMP updatedDMP = dMPDao.update(previousDmp); DMP updatedDMP = dMPDao.update(previousDmp);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(updatedDMP)); return ResponseEntity.status(HttpStatus.CREATED).body(updatedDMP);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); 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") @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 { try {
List<Dataset> datasets = datasetDao.getDatasetsOfDmp(dmp.getId()); 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) { } 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") @RequestMapping(method = RequestMethod.GET, value = { "/dmp/getofuser" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> getDmpsOfUser(){ public @ResponseBody ResponseEntity<List<DMP>> getDmpsOfUser(){
String userID = null; String userID = null;
try { try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(); userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) { } 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 { try {
//List<DMP> nonDeleted = userInfoDao.getDmpsOfUser(userID); //List<DMP> nonDeleted = userInfoDao.getDmpsOfUser(userID);
List<DMP> nonDeleted = dMPDao.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) { 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") @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; String userID = null;
try { try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(); userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) { } 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)); UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer 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 { try {
DMP dmp = dataManagementPlan.toDataModel(); DMP dmp = dataManagementPlan.toDataModel();
if(dmp.getOrganisations()!=null&&!dmp.getOrganisations().isEmpty()){ 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(); OrganisationCriteria criteria = new OrganisationCriteria();
criteria.setLike(organisation.getReference()); 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()); if(entries!=null&&!entries.isEmpty())organisation.setId(entries.get(0).getId());
else organisation = this.organisationDao.create(organisation); else organisation = this.organisationDao.create(organisation);
} }
} }
if(dmp.getResearchers()!=null&&!dmp.getResearchers().isEmpty()){ 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(); ResearcherCriteria criteria = new ResearcherCriteria();
criteria.setLike(researcher.getReference()); 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()); if(entries!=null&&!entries.isEmpty())researcher.setId(entries.get(0).getId());
else researcher = this.researcherDao.create(researcher); else researcher = this.researcherDao.create(researcher);
} }
@ -348,29 +341,29 @@ public class DMPs {
DMP newdmp = dMPDao.create(dmp); DMP newdmp = dMPDao.create(dmp);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(newdmp)); return ResponseEntity.status(HttpStatus.OK).body(newdmp);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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") @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; String userID = null;
try { try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(); userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) { } 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)); UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer 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()); DMP clone = dMPDao.read(dmp.getId());
@ -397,34 +390,34 @@ public class DMPs {
clone = dMPDao.create(clone); clone = dMPDao.create(clone);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(clone)); return ResponseEntity.status(HttpStatus.OK).body(clone);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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") @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; String userID = null;
try { try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(); userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) { } 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)); final UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer 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) 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 { try {
@ -437,10 +430,10 @@ public class DMPs {
DMP updateddmp = dMPDao.update(dmp); DMP updateddmp = dMPDao.update(dmp);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(updateddmp)); return ResponseEntity.status(HttpStatus.OK).body(updateddmp);
} }
catch(Exception ex) { 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.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.dao.entities.DMPDao;
import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.OrganisationDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.ProjectDao; import eu.eudat.dao.entities.ServiceDao;
import dao.entities.RegistryDao; import eu.eudat.proxy.config.exceptions.HugeResultSet;
import dao.entities.ResearcherDao; import eu.eudat.proxy.config.exceptions.NoURLFound;
import dao.entities.ServiceDao; import eu.eudat.proxy.fetching.RemoteFetcher;
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;
@RestController @RestController
@ -80,16 +58,16 @@ public class DataRepositories {
@RequestMapping(method = RequestMethod.GET, value = { "/external/datarepos" }, produces="application/json") @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 { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getRepositories(query); 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) { 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) { 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) // MANAGE DATAREPOSITORy(IES)
@RequestMapping(method = RequestMethod.GET, value = { "/datarepos" }) @RequestMapping(method = RequestMethod.GET, value = { "/datarepos" })
public @ResponseBody ResponseEntity<Object> listDataRepositories(){ public @ResponseBody ResponseEntity<List<UUID>> listDataRepositories(){
try { try {
List<UUID> allIDs = dataRepositoryDao.listAllIDs(); List<UUID> allIDs = dataRepositoryDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
DataRepository dataRepository = dataRepositoryDao.read(UUID.fromString(id)); 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) { 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") @RequestMapping(method = RequestMethod.GET, value = { "/datarepo/getAll" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> getAllDataRepositories(){ public @ResponseBody ResponseEntity<List<DataRepository>> getAllDataRepositories(){
try { try {
List<DataRepository> allDataRepositories = dataRepositoryDao.getAll(); List<DataRepository> allDataRepositories = dataRepositoryDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDataRepositories), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allDataRepositories);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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 @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datarepo/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/datarepo/create" }, consumes = "application/json", produces="application/json")
public @ResponseBody ResponseEntity<Object> setOrganisation(@RequestBody DataRepository dataRepository) { public @ResponseBody ResponseEntity<DataRepository> setOrganisation(@RequestBody DataRepository dataRepository) {
DataRepository createdDataRepository = dataRepositoryDao.update(dataRepository);
try { 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) { } 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.HttpURLConnection;
import java.net.URL; import java.net.URL;
@ -7,8 +7,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import models.components.commons.datafield.AutoCompleteData; import eu.eudat.models.components.commons.datafield.AutoCompleteData;
import models.user.components.datasetprofile.Field;
import org.json.JSONObject; import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; 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.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import helpers.SerializerProvider; import eu.eudat.managers.UserManager;
import managers.AdminManager; import eu.eudat.models.helpers.AutoCompleteLookupItem;
import managers.UserManager; import eu.eudat.models.properties.PropertiesModel;
import models.helpers.AutoCompleteLookupItem; import eu.eudat.utilities.builders.XmlBuilder;
import models.properties.PropertiesModel;
import utilities.builders.XmlBuilder;
@RestController @RestController
@CrossOrigin @CrossOrigin
@ -45,8 +42,8 @@ public class DatasetProfileController {
@RequestMapping(method = RequestMethod.GET, value = { "/datasetprofile/get/{id}" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/datasetprofile/get/{id}" }, produces="application/json")
public ResponseEntity<Object> getSingle(@PathVariable String id){ public ResponseEntity<Object> getSingle(@PathVariable String id){
try { try {
entities.Dataset dataset = datasetDao.read(UUID.fromString(id)); eu.eudat.entities.Dataset dataset = datasetDao.read(UUID.fromString(id));
models.user.composite.DatasetProfile datasetprofile = UserManager.generateDatasetProfileModel(dataset.getProfile()); eu.eudat.models.user.composite.DatasetProfile datasetprofile = UserManager.generateDatasetProfileModel(dataset.getProfile());
datasetprofile.setStatus(dataset.getStatus()); datasetprofile.setStatus(dataset.getStatus());
if(dataset.getProperties()!=null){ if(dataset.getProperties()!=null){
JSONObject jobject = new JSONObject(dataset.getProperties()); 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") @RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/save/{id}" }, consumes="application/json",produces="application/json")
public ResponseEntity<Object> updateDataset(@PathVariable String id,@RequestBody PropertiesModel properties){ public ResponseEntity<Object> updateDataset(@PathVariable String id,@RequestBody PropertiesModel properties){
try { 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(); Map<String,Object> values = new HashMap();
properties.toMap(values); properties.toMap(values);
JSONObject jobject = new JSONObject(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") @RequestMapping(method = RequestMethod.POST, value = { "/search/autocomplete" }, consumes="application/json",produces="application/json")
public ResponseEntity<Object> getDataForAutocomplete(@RequestBody AutoCompleteLookupItem lookupItem){ public ResponseEntity<Object> getDataForAutocomplete(@RequestBody AutoCompleteLookupItem lookupItem){
try { 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()); Document viewStyleDoc = XmlBuilder.fromXml(dataset.getProfile().getViewstyle().getDefinition());
Element field = viewStyleDoc.getElementById(lookupItem.getFieldID()); 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); modelfield.fromXml(field);
AutoCompleteData data = new AutoCompleteData().fromData(modelfield.getData()); 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.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonParseException; import eu.eudat.dao.entities.DMPDao;
import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.dao.entities.DMPProfileDao;
import com.fasterxml.jackson.databind.JsonMappingException; import eu.eudat.dao.entities.DataRepositoryDao;
import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.ServiceDao;
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;
@RestController @RestController
@ -73,39 +55,39 @@ public class DatasetProfiles {
//FETCH BY DATASET PROFILE //FETCH BY DATASET PROFILE
@RequestMapping(method = RequestMethod.GET, value = { "/datasetprofiles" }, produces="text/plain") @RequestMapping(method = RequestMethod.GET, value = { "/datasetprofiles" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> listDMPs(){ public @ResponseBody ResponseEntity<List<UUID>> listDMPs(){
try { try {
List<UUID> allIDs = datasetProfileDao.listAllIDs(); List<UUID> allIDs = datasetProfileDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
DatasetProfile profile = datasetProfileDao.read(UUID.fromString(id)); 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) { 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" }) @RequestMapping(method = RequestMethod.GET, value = { "/datasetprofile/getAll" })
public @ResponseBody ResponseEntity<Object> getAllDatasetProfiles(){ public @ResponseBody ResponseEntity<List<DatasetProfile>> getAllDatasetProfiles(){
try { try {
List<DatasetProfile> allDatasetProfiles = datasetProfileDao.getAll(); List<DatasetProfile> allDatasetProfiles = datasetProfileDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDatasetProfiles), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body((allDatasetProfiles));
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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 @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/create" }, consumes = "application/json", produces="application/json") @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.setCreated(new Date());
datasetProfile.setModified(new Date()); datasetProfile.setModified(new Date());
@ -141,7 +123,7 @@ public class DatasetProfiles {
datasetProfileDao.create(datasetProfile); datasetProfileDao.create(datasetProfile);
else else
datasetProfileDao.update(datasetProfile); 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 @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/update" }, consumes = "application/json", produces="application/json") @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(); DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset();
DatasetProfileViewstyle datasetprofileviewstyle = datasetProfile.getViewstyle(); DatasetProfileViewstyle datasetprofileviewstyle = datasetProfile.getViewstyle();
@ -171,14 +153,14 @@ public class DatasetProfiles {
datasetProfile = datasetProfileDao.create(datasetProfile); datasetProfile = datasetProfileDao.create(datasetProfile);
else else
datasetProfile = datasetProfileDao.update(datasetProfile); datasetProfile = datasetProfileDao.update(datasetProfile);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(datasetProfile)); return ResponseEntity.status(HttpStatus.CREATED).body(datasetProfile);
} }
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/delete" }, consumes = "application/json", produces="application/json") @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(); DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset();
DatasetProfileViewstyle datasetprofileviewstyle = datasetProfile.getViewstyle(); DatasetProfileViewstyle datasetprofileviewstyle = datasetProfile.getViewstyle();
@ -189,10 +171,10 @@ public class DatasetProfiles {
if(datasetprofileviewstyle != null) if(datasetprofileviewstyle != null)
datasetProfileViewstyleDao.delete(datasetprofileviewstyle); datasetProfileViewstyleDao.delete(datasetprofileviewstyle);
datasetProfileDao.delete(datasetProfile); datasetProfileDao.delete(datasetProfile);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(datasetProfile)); return ResponseEntity.status(HttpStatus.OK).body(datasetProfile);
} }
catch(Exception ex) { 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.Date;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.UUID; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DMPDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.ProjectDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.RegistryDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.ResearcherDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.ServiceDao; import eu.eudat.dao.entities.ServiceDao;
import dao.entities.UserInfoDao; import eu.eudat.dao.entities.UserInfoDao;
import entities.DMP; import eu.eudat.models.criteria.DataRepositoryCriteria;
import entities.Dataset; import eu.eudat.models.criteria.RegistryCriteria;
import entities.DatasetProfile; import eu.eudat.models.criteria.ServiceCriteria;
import entities.UserInfo; import eu.eudat.responses.RestResponse;
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;
@RestController @RestController
@ -67,27 +63,27 @@ public class Datasets {
@RequestMapping(method = RequestMethod.GET, value = { "/datasets" }) @RequestMapping(method = RequestMethod.GET, value = { "/datasets" })
public @ResponseBody ResponseEntity<Object> listDatasets(){ public @ResponseBody ResponseEntity<List<UUID>> listDatasets(){
try { try {
List<UUID> allIDs = datasetDao.listAllIDs(); List<UUID> allIDs = datasetDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
Dataset ds = datasetDao.read(UUID.fromString(id)); 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); dataset.fromDataModel(ds);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(dataset)); return ResponseEntity.status(HttpStatus.OK).body(dataset);
} }
catch(Exception ex) { 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 * This should be called on extreme cases. It's computationally intensive
*/ */
@RequestMapping(method = RequestMethod.GET, value = { "/dataset/getAll" }) @RequestMapping(method = RequestMethod.GET, value = { "/dataset/getAll" })
public @ResponseBody ResponseEntity<Object> getAllDatasets(){ public @ResponseBody ResponseEntity<List<Dataset>> getAllDatasets(){
try { try {
List<Dataset> allDatasets = datasetDao.getAll(); List<Dataset> allDatasets = datasetDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDatasets), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allDatasets);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); 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") @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; String userID = null;
try { try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(); userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) { } 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)); UserInfo userInfo = userInfoDao.read(UUID.fromString(userID));
if(userInfo==null) //this should normally never happer 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(); Dataset dataset = modeldataset.toDataModel();
if(dataset.getDataRepositories()!=null&&!dataset.getDataRepositories().isEmpty()){ 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(); DataRepositoryCriteria criteria = new DataRepositoryCriteria();
criteria.setLike(dataRepo.getReference()); 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()); if(entries!=null&&!entries.isEmpty())dataRepo.setId(entries.get(0).getId());
else dataRepo = this.dataRepositoryDao.create(dataRepo); else dataRepo = this.dataRepositoryDao.create(dataRepo);
} }
} }
if(dataset.getServices()!=null&&!dataset.getServices().isEmpty()){ 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(); ServiceCriteria criteria = new ServiceCriteria();
criteria.setLike(service.getReference()); 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()); if(entries!=null&&!entries.isEmpty())service.setId(entries.get(0).getId());
else service = this.serviceDao.create(service); else service = this.serviceDao.create(service);
} }
} }
if(dataset.getRegistries()!=null&&!dataset.getRegistries().isEmpty()){ 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(); RegistryCriteria criteria = new RegistryCriteria();
criteria.setLike(registry.getReference()); 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()); if(entries!=null&&!entries.isEmpty())registry.setId( entries.get(0).getId());
else registry = this.registryDao.create(registry); else registry = this.registryDao.create(registry);
} }
@ -167,46 +163,46 @@ public class Datasets {
try { try {
dataset = datasetDao.create(dataset); dataset = datasetDao.create(dataset);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(dataset)); return ResponseEntity.status(HttpStatus.CREATED).body(dataset);
} }
catch(Exception e) { catch(Exception e) {
e.printStackTrace(); 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") @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(); Dataset dataset = modeldataset.toDataModel();
if(dataset.getDataRepositories()!=null&&!dataset.getDataRepositories().isEmpty()){ 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(); DataRepositoryCriteria criteria = new DataRepositoryCriteria();
criteria.setLike(dataRepo.getReference()); 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()); if(entries!=null&&!entries.isEmpty())dataRepo.setId(entries.get(0).getId());
else dataRepo = this.dataRepositoryDao.create(dataRepo); else dataRepo = this.dataRepositoryDao.create(dataRepo);
} }
} }
if(dataset.getServices()!=null&&!dataset.getServices().isEmpty()){ 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(); ServiceCriteria criteria = new ServiceCriteria();
criteria.setLike(service.getReference()); 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()); if(entries!=null&&!entries.isEmpty())service.setId(entries.get(0).getId());
else service = this.serviceDao.create(service); else service = this.serviceDao.create(service);
} }
} }
if(dataset.getRegistries()!=null&&!dataset.getRegistries().isEmpty()){ 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(); RegistryCriteria criteria = new RegistryCriteria();
criteria.setLike(registry.getReference()); 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()); if(entries!=null&&!entries.isEmpty())registry.setId( entries.get(0).getId());
else registry = this.registryDao.create(registry); else registry = this.registryDao.create(registry);
} }
@ -231,7 +227,7 @@ public class Datasets {
try { try {
dataset = datasetDao.update(olddataset); dataset = datasetDao.update(olddataset);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(dataset)); return ResponseEntity.status(HttpStatus.CREATED).body(dataset);
} }
catch(Exception ex) { catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();

View File

@ -1,56 +1,35 @@
package rest.entities; package eu.eudat.controllers;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.dao.entities.DMPDao;
import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.OrganisationDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.ProjectDao; import eu.eudat.dao.entities.ServiceDao;
import dao.entities.RegistryDao; import eu.eudat.entities.responses.IDLabelPair;
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;
@RestController @RestController
@ -74,13 +53,13 @@ public class DmpProfiles {
// MANAGE DMPPROFILE(S) // MANAGE DMPPROFILE(S)
@RequestMapping(method = RequestMethod.GET, value = { "/dmpprofiles" }) @RequestMapping(method = RequestMethod.GET, value = { "/dmpprofiles" })
public @ResponseBody ResponseEntity<Object> listDmpProfiles(){ public @ResponseBody ResponseEntity<List<UUID>> listDmpProfiles(){
try { try {
List<UUID> allIDs = dMPProfileDao.listAllIDs(); List<UUID> allIDs = dMPProfileDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
DMPProfile dmpProfile = dMPProfileDao.read(UUID.fromString(id)); 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) { 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" }) @RequestMapping(method = RequestMethod.GET, value = { "/dmpprofile/listAllLabelIDs" })
public @ResponseBody ResponseEntity<Object> listLabelIds(){ public @ResponseBody ResponseEntity<List<IDLabelPair>> listLabelIds(){
try { try {
List<IDLabelPair> allIDs = dMPProfileDao.listAllIDsLabels(); List<IDLabelPair> allIDs = dMPProfileDao.listAllIDsLabels();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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(){ public @ResponseBody ResponseEntity<Object> getAllDmpProfiles(){
try { try {
List<DMPProfile> allDmpProfiles = dMPProfileDao.getAll(); List<DMPProfile> allDmpProfiles = dMPProfileDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allDmpProfiles), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allDmpProfiles);
} }
catch(Exception ex) { catch(Exception ex) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
} }
} }
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmpprofile/create" }, consumes = "application/json", produces="application/json") @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 { try {
DMPProfile createdDMPProfile = dMPProfileDao.update(dmpprofile); DMPProfile createdDMPProfile = dMPProfileDao.update(dmpprofile);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdDMPProfile)); return ResponseEntity.status(HttpStatus.CREATED).body(createdDMPProfile);
} catch (Exception e) { } 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.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.dao.entities.DMPDao;
import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.OrganisationDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.ProjectDao; import eu.eudat.dao.entities.ServiceDao;
import dao.entities.RegistryDao; import eu.eudat.proxy.config.exceptions.HugeResultSet;
import dao.entities.ResearcherDao; import eu.eudat.proxy.config.exceptions.NoURLFound;
import dao.entities.ServiceDao; import eu.eudat.proxy.fetching.RemoteFetcher;
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;
@RestController @RestController
@ -78,16 +58,16 @@ public class Organisations {
@RequestMapping(method = RequestMethod.GET, value = { "/external/organisations" }, produces="application/json") @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 { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getOrganisations(query); 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) { 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) { 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) // MANAGE ORGANISATIONS(S)
@RequestMapping(method = RequestMethod.GET, value = { "/organisations" }) @RequestMapping(method = RequestMethod.GET, value = { "/organisations" })
public @ResponseBody ResponseEntity<Object> listOrganisations(){ public @ResponseBody ResponseEntity<List<UUID>> listOrganisations(){
try { try {
List<UUID> allIDs = organisationDao.listAllIDs(); List<UUID> allIDs = organisationDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
Organisation organisation = organisationDao.read(UUID.fromString(id)); 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) { 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(){ public @ResponseBody ResponseEntity<Object> getAllOrganisations(){
try { try {
List<Organisation> allOrganisations = organisationDao.getAll(); List<Organisation> allOrganisations = organisationDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allOrganisations), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allOrganisations);
} }
catch(Exception ex) { catch(Exception ex) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
@ -132,26 +112,26 @@ public class Organisations {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/organisation/create" }, consumes = "application/json", produces="application/json") @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 { try {
Organisation createdOrganisation = organisationDao.update(organisation); Organisation createdOrganisation = organisationDao.update(organisation);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdOrganisation)); return ResponseEntity.status(HttpStatus.CREATED).body(createdOrganisation);
} catch (Exception e) { } 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") @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(); Organisation org = new Organisation();
org.setId(organisation.getId()); org.setId(organisation.getId());
try { try {
organisationDao.delete(org); organisationDao.delete(org);
return ResponseEntity.status(HttpStatus.CREATED).body("{\"msg\":\"Deleted organisation!\"}"); return ResponseEntity.status(HttpStatus.CREATED).body(null);
} catch (Exception e) { } 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.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; 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.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.dao.entities.DMPDao;
import com.fasterxml.jackson.databind.ObjectMapper; 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 javax.transaction.Transactional;
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;
@RestController @RestController
@ -77,16 +58,16 @@ public class Registries {
@RequestMapping(method = RequestMethod.GET, value = { "/external/registries" }, produces="application/json") @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 { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getRegistries(query); 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) { 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) { 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) // MANAGE REGISTRY(IES)
@RequestMapping(method = RequestMethod.GET, value = { "/registries" }) @RequestMapping(method = RequestMethod.GET, value = { "/registries" })
public @ResponseBody ResponseEntity<Object> listRegistries(){ public @ResponseBody ResponseEntity<List<UUID>> listRegistries(){
try { try {
List<UUID> allIDs = registryDao.listAllIDs(); List<UUID> allIDs = registryDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
Registry registry = registryDao.read(UUID.fromString(id)); 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) { 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" }) @RequestMapping(method = RequestMethod.GET, value = { "/registries/listAllLabelIDs" })
public @ResponseBody ResponseEntity<Object> listLabelIds(){ public @ResponseBody ResponseEntity<List<IDLabelPair>> listLabelIds(){
try { try {
List<IDLabelPair> allIDs = registryDao.listAllIDsLabels(); List<IDLabelPair> allIDs = registryDao.listAllIDsLabels();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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 { try {
List<Registry> allRegistries = registryDao.getAll(); List<Registry> allRegistries = registryDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allRegistries), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allRegistries);
} }
catch(Exception ex) { catch(Exception ex) {
@ -146,12 +127,12 @@ public class Registries {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/registry/create" }, consumes = "application/json", produces="application/json") @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); Registry createdRegistry = registryDao.update(registry);
try { try {
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdRegistry)); return ResponseEntity.status(HttpStatus.CREATED).body(createdRegistry);
} catch (Exception e) { } 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.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.dao.entities.DMPDao;
import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.OrganisationDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.ProjectDao; import eu.eudat.dao.entities.ServiceDao;
import dao.entities.RegistryDao; import eu.eudat.proxy.config.exceptions.HugeResultSet;
import dao.entities.ResearcherDao; import eu.eudat.proxy.config.exceptions.NoURLFound;
import dao.entities.ServiceDao; import eu.eudat.proxy.fetching.RemoteFetcher;
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;
@RestController @RestController
@ -77,16 +57,16 @@ public class Researchers {
@RequestMapping(method = RequestMethod.GET, value = { "/external/researchers" }, produces="application/json") @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 { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getResearchers(query); 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) { 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) { 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) // MANAGE RESEARCHER(S)
@RequestMapping(method = RequestMethod.GET, value = { "/researchers" }) @RequestMapping(method = RequestMethod.GET, value = { "/researchers" })
public @ResponseBody ResponseEntity<Object> listResearchers(){ public @ResponseBody ResponseEntity<List<UUID>> listResearchers(){
try { try {
List<UUID> allIDs = researcherDao.listAllIDs(); List<UUID> allIDs = researcherDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
Researcher researcher = researcherDao.read(UUID.fromString(id)); 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) { 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") @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 { try {
Researcher researcher = researcherDao.getResearcherByEmail(email); Researcher researcher = researcherDao.getResearcherByEmail(email);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(researcher)); return ResponseEntity.status(HttpStatus.OK).body(researcher);
} }
catch(Exception ex) { 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") @RequestMapping(method = RequestMethod.GET, value = { "/researcher/getAll" }, produces="application/json")
public @ResponseBody ResponseEntity<Object> getAllResearchers(){ public @ResponseBody ResponseEntity<List<Researcher>> getAllResearchers(){
try { try {
List<Researcher> allResearchers = researcherDao.getAll(); List<Researcher> allResearchers = researcherDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allResearchers), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allResearchers);
} }
catch(Exception ex) { catch(Exception ex) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
} }
} }
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/researcher/create" }, consumes = "application/json", produces="application/json") @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); Researcher createdResearcher = researcherDao.update(researcher);
try { try {
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdResearcher)); return ResponseEntity.status(HttpStatus.CREATED).body(createdResearcher);
} catch (Exception e) { } 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.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
import javax.transaction.Transactional; 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.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; 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.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.dao.entities.DMPDao;
import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import dao.entities.DMPDao; import eu.eudat.dao.entities.DatasetDao;
import dao.entities.DMPProfileDao; import eu.eudat.dao.entities.DatasetProfileDao;
import dao.entities.DataRepositoryDao; import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import dao.entities.DatasetProfileDao; import eu.eudat.dao.entities.OrganisationDao;
import dao.entities.DatasetProfileRulesetDao; import eu.eudat.dao.entities.ProjectDao;
import dao.entities.DatasetProfileViewstyleDao; import eu.eudat.dao.entities.RegistryDao;
import dao.entities.OrganisationDao; import eu.eudat.dao.entities.ResearcherDao;
import dao.entities.ProjectDao; import eu.eudat.dao.entities.ServiceDao;
import dao.entities.RegistryDao; import eu.eudat.proxy.config.exceptions.HugeResultSet;
import dao.entities.ResearcherDao; import eu.eudat.proxy.config.exceptions.NoURLFound;
import dao.entities.ServiceDao; import eu.eudat.proxy.fetching.RemoteFetcher;
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;
@RestController @RestController
@ -78,16 +57,16 @@ public class Services {
@RequestMapping(method = RequestMethod.GET, value = { "/external/services" }, produces="application/json") @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 { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getServices(query); 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) { 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) { 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) // MANAGE SERVICE(S)
@RequestMapping(method = RequestMethod.GET, value = { "/services" }) @RequestMapping(method = RequestMethod.GET, value = { "/services" })
public @ResponseBody ResponseEntity<Object> listServices(){ public @ResponseBody ResponseEntity<List<UUID>> listServices(){
try { try {
List<UUID> allIDs = serviceDao.listAllIDs(); List<UUID> allIDs = serviceDao.listAllIDs();
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(allIDs)); return ResponseEntity.status(HttpStatus.OK).body(allIDs);
} }
catch(Exception ex) { 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}" }) @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 { try {
Service service = serviceDao.read(UUID.fromString(id)); 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) { 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 { try {
List<Service> allServices = serviceDao.getAll(); List<Service> allServices = serviceDao.getAll();
return new ResponseEntity<Object>(SerializerProvider.toJson(allServices), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(allServices);
} }
catch(Exception ex) { catch(Exception ex) {
@ -135,13 +114,13 @@ public class Services {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/service/create" }, consumes = "application/json", produces="application/json") @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); Service createdService = serviceDao.update(service);
try { try {
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdService)); return ResponseEntity.status(HttpStatus.CREATED).body(createdService);
} catch (Exception e) { } 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; package eu.eudat.dao;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
public interface Dao<T, PK extends Serializable> { public interface Dao<T, PK extends Serializable> {
public T create(T t); public T create(T t);
public T read(PK id); public T read(PK id);
public T update(T t); public T update(T t);
public void delete(T t); public void delete(T t);
public List<T> getAll(); public List<T> getAll();
public long count(); public long count();
public T loadDetails(T t); public T loadDetails(T t);
public boolean isLoaded(T t); public boolean isLoaded(T t);
} }

View File

@ -1,10 +1,10 @@
package dao; package eu.eudat.dao;
import java.util.Map; import java.util.Map;
public interface DaoFactory public interface DaoFactory
{ {
public Dao getDao(Class<?> type) throws Exception; public Dao getDao(Class<?> type) throws Exception;
public void overrideMappings(Map<String, String> mappings) 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.io.Serializable;
import java.util.List; import java.util.List;

View File

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

View File

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

View File

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

View File

@ -1,15 +1,13 @@
package dao.entities; package eu.eudat.dao.entities;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.DMP; import eu.eudat.entities.DMP;
import entities.Organisation; import eu.eudat.entities.responses.IDLabelPair;
import entities.Project; import eu.eudat.models.dmp.DataManagementPlanTableRequest;
import entities.responses.IDLabelPair; import org.springframework.stereotype.Service;
import models.dmp.DataManagementPlanTableRequest;
import models.project.ProjectTableRequest;
public interface DMPDao extends Dao<DMP, UUID> { 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.List;
import java.util.Map; import java.util.Map;
@ -12,14 +12,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DMP; import eu.eudat.entities.DMP;
import entities.Project; import eu.eudat.entities.responses.IDLabelPair;
import entities.UserInfo; import eu.eudat.models.dmp.DataManagementPlanTableRequest;
import entities.responses.IDLabelPair; import org.springframework.stereotype.Component;
import models.dmp.DataManagementPlanTableRequest;
import models.project.ProjectTableRequest;
@Component("dMPDao")
public class DMPDaoImpl extends JpaDao<DMP, UUID> implements DMPDao { public class DMPDaoImpl extends JpaDao<DMP, UUID> implements DMPDao {
public DMP loadDetails(DMP t) { public DMP loadDetails(DMP t) {
@ -55,7 +54,7 @@ public class DMPDaoImpl extends JpaDao<DMP, UUID> implements DMPDao {
try { try {
return typedQuery.getResultList(); 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(); ex.printStackTrace();
return null; 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.List;
import java.util.UUID; import java.util.UUID;
@ -8,10 +8,12 @@ import javax.persistence.TypedQuery;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DMPProfile; import eu.eudat.entities.DMPProfile;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("dMPProfileDao")
public class DMPProfileDaoImpl extends JpaDao<DMPProfile, UUID> implements DMPProfileDao { public class DMPProfileDaoImpl extends JpaDao<DMPProfile, UUID> implements DMPProfileDao {
public DMPProfile loadDetails(DMPProfile t) { 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 java.util.UUID;
import javax.persistence.TypedQuery; import javax.persistence.TypedQuery;
import org.hibernate.NonUniqueResultException; import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DMPResearcher;
import dao.JpaDao; import eu.eudat.entities.Researcher;
import entities.DMPResearcher; import org.springframework.stereotype.Component;
import entities.Researcher;
@Component("dMPResearcherDao")
public class DMPResearcherDaoImpl extends JpaDao<DMPResearcher, UUID> implements DMPResearcherDao { public class DMPResearcherDaoImpl extends JpaDao<DMPResearcher, UUID> implements DMPResearcherDao {
public DMPResearcher loadDetails(DMPResearcher t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.DataRepository; import eu.eudat.entities.DataRepository;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import models.criteria.Criteria; import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Service;
public interface DataRepositoryDao extends Dao<DataRepository, UUID> { 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.List;
import java.util.UUID; import java.util.UUID;
@ -11,11 +11,14 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DataRepository; import eu.eudat.entities.DataRepository;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import models.criteria.Criteria; 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 class DataRepositoryDaoImpl extends JpaDao<DataRepository, UUID> implements DataRepositoryDao {
public DataRepository loadDetails(DataRepository t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.Dataset; import eu.eudat.entities.Dataset;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Service;
public interface DatasetDao extends Dao<Dataset, UUID> { 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.List;
import java.util.Set; import java.util.Set;
@ -7,12 +7,13 @@ import java.util.stream.Collectors;
import javax.persistence.Query; import javax.persistence.Query;
import javax.persistence.TypedQuery; import javax.persistence.TypedQuery;
import javax.transaction.Transactional;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.Dataset; import eu.eudat.entities.Dataset;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("datasetDao")
public class DatasetDaoImpl extends JpaDao<Dataset, UUID> implements DatasetDao { public class DatasetDaoImpl extends JpaDao<Dataset, UUID> implements DatasetDao {
public Dataset loadDetails(Dataset t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.DatasetProfile; import eu.eudat.entities.DatasetProfile;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Service;
public interface DatasetProfileDao extends Dao<DatasetProfile, UUID> { 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.List;
import java.util.UUID; import java.util.UUID;
@ -7,10 +7,12 @@ import java.util.stream.Collectors;
import javax.persistence.Query; import javax.persistence.Query;
import javax.persistence.TypedQuery; import javax.persistence.TypedQuery;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DatasetProfile; import eu.eudat.entities.DatasetProfile;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("datasetProfileDao")
public class DatasetProfileDaoImpl extends JpaDao<DatasetProfile, UUID> implements 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 java.util.UUID;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DatasetProfileRuleset; import eu.eudat.entities.DatasetProfileRuleset;
import org.springframework.stereotype.Component;
@Component("datasetProfileRulesetDao")
public class DatasetProfileRulesetDaoImpl extends JpaDao<DatasetProfileRuleset, UUID> implements DatasetProfileRulesetDao { public class DatasetProfileRulesetDaoImpl extends JpaDao<DatasetProfileRuleset, UUID> implements DatasetProfileRulesetDao {
public DatasetProfileRuleset loadDetails(DatasetProfileRuleset t) { 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 java.util.UUID;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DatasetProfileViewstyle; import eu.eudat.entities.DatasetProfileViewstyle;
import org.springframework.stereotype.Component;
@Component("datasetProfileViewstyleDao")
public class DatasetProfileViewstyleDaoImpl extends JpaDao<DatasetProfileViewstyle, UUID> implements DatasetProfileViewstyleDao { public class DatasetProfileViewstyleDaoImpl extends JpaDao<DatasetProfileViewstyle, UUID> implements DatasetProfileViewstyleDao {
public DatasetProfileViewstyle loadDetails(DatasetProfileViewstyle t) { 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 java.util.UUID;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DatasetRegistry; import eu.eudat.entities.DatasetRegistry;
import org.springframework.stereotype.Component;
@Component("datasetRegistryDao")
public class DatasetRegistryDaoImpl extends JpaDao<DatasetRegistry, UUID> implements DatasetRegistryDao { public class DatasetRegistryDaoImpl extends JpaDao<DatasetRegistry, UUID> implements DatasetRegistryDao {
public DatasetRegistry loadDetails(DatasetRegistry t) { 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 java.util.UUID;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DatasetService; import eu.eudat.entities.DatasetService;
import org.springframework.stereotype.Component;
@Component("datasetServiceDao")
public class DatasetServiceDaoImpl extends JpaDao<DatasetService, UUID> implements DatasetServiceDao { public class DatasetServiceDaoImpl extends JpaDao<DatasetService, UUID> implements DatasetServiceDao {
public DatasetService loadDetails(DatasetService t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.Organisation; import eu.eudat.entities.Organisation;
import entities.Registry; import eu.eudat.entities.responses.IDLabelPair;
import entities.responses.IDLabelPair; import eu.eudat.models.criteria.Criteria;
import models.criteria.Criteria; import org.springframework.stereotype.Service;
public interface OrganisationDao extends Dao<Organisation, UUID> { 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.List;
import java.util.UUID; import java.util.UUID;
@ -9,14 +9,15 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import entities.Registry; import eu.eudat.models.criteria.Criteria;
import models.criteria.Criteria;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.Organisation; import eu.eudat.entities.Organisation;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("organisationDao")
public class OrganisationDaoImpl extends JpaDao<Organisation, UUID> implements OrganisationDao { public class OrganisationDaoImpl extends JpaDao<Organisation, UUID> implements OrganisationDao {
public Organisation loadDetails(Organisation t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.Project; import eu.eudat.entities.Project;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import models.project.ProjectTableRequest; import eu.eudat.models.project.ProjectTableRequest;
import org.springframework.stereotype.Service;
public interface ProjectDao extends Dao<Project, UUID> { 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.List;
import java.util.UUID; import java.util.UUID;
@ -11,13 +11,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DMP; import eu.eudat.entities.Project;
import entities.Project; import eu.eudat.entities.responses.IDLabelPair;
import entities.Registry; import eu.eudat.models.project.ProjectTableRequest;
import entities.responses.IDLabelPair; import org.springframework.stereotype.Component;
import models.project.ProjectTableRequest;
@Component("projectDao")
public class ProjectDaoImpl extends JpaDao<Project, UUID> implements ProjectDao { public class ProjectDaoImpl extends JpaDao<Project, UUID> implements ProjectDao {
public Project loadDetails(Project t) { public Project loadDetails(Project t) {
@ -53,7 +53,7 @@ public class ProjectDaoImpl extends JpaDao<Project, UUID> implements ProjectDao
try { try {
return typedQuery.getResultList(); 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(); ex.printStackTrace();
return null; return null;
} }

View File

@ -1,12 +1,13 @@
package dao.entities; package eu.eudat.dao.entities;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.Registry; import eu.eudat.entities.Registry;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import models.criteria.Criteria; import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Service;
public interface RegistryDao extends Dao<Registry, UUID> { 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.List;
import java.util.UUID; import java.util.UUID;
@ -11,11 +11,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.Registry; import eu.eudat.entities.Registry;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import models.criteria.Criteria; import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Component;
@Component("registryDao")
public class RegistryDaoImpl extends JpaDao<Registry, UUID> implements RegistryDao { public class RegistryDaoImpl extends JpaDao<Registry, UUID> implements RegistryDao {
public Registry loadDetails(Registry t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.Registry; import eu.eudat.entities.Researcher;
import entities.Researcher; import eu.eudat.entities.responses.IDLabelPair;
import entities.responses.IDLabelPair; import eu.eudat.models.criteria.Criteria;
import models.criteria.Criteria; import org.springframework.stereotype.Service;
public interface ResearcherDao extends Dao<Researcher, UUID> { 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.List;
import java.util.UUID; import java.util.UUID;
@ -9,14 +9,15 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import entities.Registry; import eu.eudat.models.criteria.Criteria;
import models.criteria.Criteria;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.Researcher; import eu.eudat.entities.Researcher;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import org.springframework.stereotype.Component;
@Component("researcherDao")
public class ResearcherDaoImpl extends JpaDao<Researcher, UUID> implements ResearcherDao { public class ResearcherDaoImpl extends JpaDao<Researcher, UUID> implements ResearcherDao {
public Researcher loadDetails(Researcher t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.Service; import eu.eudat.entities.Service;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import models.criteria.Criteria; import eu.eudat.models.criteria.Criteria;
public interface ServiceDao extends Dao<Service, UUID> { 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.List;
import java.util.UUID; import java.util.UUID;
@ -11,11 +11,13 @@ import javax.persistence.criteria.Root;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.Service; import eu.eudat.entities.Service;
import entities.responses.IDLabelPair; import eu.eudat.entities.responses.IDLabelPair;
import models.criteria.Criteria; import eu.eudat.models.criteria.Criteria;
import org.springframework.stereotype.Component;
@Component("serviceDao")
public class ServiceDaoImpl extends JpaDao<Service, UUID> implements ServiceDao { public class ServiceDaoImpl extends JpaDao<Service, UUID> implements ServiceDao {
public Service loadDetails(Service t) { 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.List;
import java.util.UUID; import java.util.UUID;
import dao.Dao; import eu.eudat.dao.Dao;
import entities.DMP; import eu.eudat.entities.DMP;
import entities.UserInfo; import eu.eudat.entities.UserInfo;
import org.springframework.stereotype.Service;
public interface UserInfoDao extends Dao<UserInfo, UUID> { 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.List;
import java.util.Set; import java.util.Set;
@ -7,12 +7,13 @@ import java.util.UUID;
import javax.persistence.NoResultException; import javax.persistence.NoResultException;
import javax.persistence.TypedQuery; import javax.persistence.TypedQuery;
import dao.JpaDao; import eu.eudat.dao.JpaDao;
import entities.DMP; import eu.eudat.entities.DMP;
import entities.UserInfo; import eu.eudat.entities.UserInfo;
import entities.security.UserAuth; import eu.eudat.entities.security.UserAuth;
import org.springframework.stereotype.Component;
@Component("userInfoDao")
public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoDao { public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoDao {
public UserInfo loadDetails(UserInfo t) { public UserInfo loadDetails(UserInfo t) {
@ -76,7 +77,7 @@ public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoD
try { try {
return typedQuery.getSingleResult(); 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; return null;
} }
} }
@ -92,7 +93,7 @@ public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoD
try { try {
return typedQuery.getSingleResult(); 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; return null;
} }
} }
@ -106,7 +107,7 @@ public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoD
try { try {
return typedQuery.getResultList(); 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(); ex.printStackTrace();
return null; return null;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
package entities.security; package eu.eudat.entities.security;
import java.util.UUID; import java.util.UUID;
@ -9,12 +9,9 @@ import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Proxy;
import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@Entity @Entity
@Table(name="\"UserAuth\"") @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.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import eu.eudat.models.components.commons.DefaultValue;
import eu.eudat.models.components.commons.Multiplicity;
import models.components.commons.DefaultValue; import eu.eudat.utilities.XmlSerializable;
import models.components.commons.Multiplicity; import eu.eudat.utilities.builders.XmlBuilder;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
public class Field implements DatabaseModelDefinition,XmlSerializable<Field>{ 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.LinkedList;
import java.util.List; import java.util.List;
@ -8,8 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import utilities.XmlSerializable; import eu.eudat.utilities.XmlSerializable;
import utilities.builders.XmlBuilder; import eu.eudat.utilities.builders.XmlBuilder;
public class FieldGroup implements DatabaseModelDefinition,XmlSerializable<FieldGroup>{ public class FieldGroup implements DatabaseModelDefinition,XmlSerializable<FieldGroup>{
private List<FieldSet> fieldSets; 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.LinkedList;
import java.util.List; import java.util.List;
@ -8,12 +8,9 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import eu.eudat.models.components.commons.Multiplicity;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import eu.eudat.utilities.XmlSerializable;
import eu.eudat.utilities.builders.XmlBuilder;
import models.components.commons.Multiplicity;
import utilities.XmlSerializable;
import utilities.builders.XmlBuilder;
public class FieldSet implements DatabaseModelDefinition,XmlSerializable<FieldSet>{ 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.LinkedList;
import java.util.List; import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition; import eu.eudat.utilities.XmlSerializable;
import utilities.XmlSerializable; import eu.eudat.utilities.builders.XmlBuilder;
import utilities.builders.XmlBuilder;
public class FieldGroup implements DatabaseViewStyleDefinition,XmlSerializable<FieldGroup>{ public class FieldGroup implements DatabaseViewStyleDefinition,XmlSerializable<FieldGroup>{
private String id; 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.LinkedList;
import java.util.List; import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition; import eu.eudat.utilities.XmlSerializable;
import utilities.XmlSerializable; import eu.eudat.utilities.builders.XmlBuilder;
import utilities.builders.XmlBuilder;
public class FieldSet implements DatabaseViewStyleDefinition,XmlSerializable<FieldSet>{ public class FieldSet implements DatabaseViewStyleDefinition,XmlSerializable<FieldSet>{
private String id; 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.LinkedList;
import java.util.List; import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition; import eu.eudat.utilities.XmlSerializable;
import utilities.XmlSerializable; import eu.eudat.utilities.builders.XmlBuilder;
import utilities.builders.XmlBuilder;
public class Section implements DatabaseViewStyleDefinition,XmlSerializable<Section>{ public class Section implements DatabaseViewStyleDefinition,XmlSerializable<Section>{
private String id; 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.LinkedList;
import java.util.List; import java.util.List;
@ -8,9 +8,8 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import entities.xmlmodels.modeldefinition.FieldSet; import eu.eudat.utilities.XmlSerializable;
import utilities.XmlSerializable; import eu.eudat.utilities.builders.XmlBuilder;
import utilities.builders.XmlBuilder;
public class ViewStyleModel implements XmlSerializable<ViewStyleModel>{ public class ViewStyleModel implements XmlSerializable<ViewStyleModel>{
private List<Section> sections; private List<Section> sections;

View File

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

View File

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

View File

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

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