Added proxy config file
This commit is contained in:
parent
8b5704b320
commit
a796067316
|
@ -0,0 +1,88 @@
|
|||
package proxy.config;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import proxy.config.entities.OrganisationUrls;
|
||||
import proxy.config.entities.RegistryUrls;
|
||||
import proxy.config.entities.RepositoryUrls;
|
||||
import proxy.config.entities.ResearcherUrls;
|
||||
import proxy.config.entities.ServiceUrls;
|
||||
|
||||
@XmlRootElement
|
||||
public class ExternalUrls implements Serializable {
|
||||
|
||||
|
||||
private static final long serialVersionUID = -5076364662014107275L;
|
||||
|
||||
|
||||
RegistryUrls registries;
|
||||
RepositoryUrls repositories;
|
||||
ServiceUrls services;
|
||||
ResearcherUrls researchers;
|
||||
OrganisationUrls organisations;
|
||||
|
||||
|
||||
|
||||
public RegistryUrls getRegistries() {
|
||||
return registries;
|
||||
}
|
||||
|
||||
@XmlElement(name = "registries")
|
||||
public void setRegistries(RegistryUrls registries) {
|
||||
this.registries = registries;
|
||||
}
|
||||
|
||||
|
||||
public RepositoryUrls getRepositories() {
|
||||
return repositories;
|
||||
}
|
||||
|
||||
@XmlElement(name = "repositories")
|
||||
public void setRepositories(RepositoryUrls repositories) {
|
||||
this.repositories = repositories;
|
||||
}
|
||||
|
||||
|
||||
public ServiceUrls getServices() {
|
||||
return services;
|
||||
}
|
||||
|
||||
@XmlElement(name = "services")
|
||||
public void setServices(ServiceUrls services) {
|
||||
this.services = services;
|
||||
}
|
||||
|
||||
|
||||
public ResearcherUrls getResearchers() {
|
||||
return researchers;
|
||||
}
|
||||
|
||||
@XmlElement(name = "researchers")
|
||||
public void setResearchers(ResearcherUrls researchers) {
|
||||
this.researchers = researchers;
|
||||
}
|
||||
|
||||
|
||||
public OrganisationUrls getOrganisations() {
|
||||
return organisations;
|
||||
}
|
||||
|
||||
@XmlElement(name = "organisations")
|
||||
public void setOrganisations(OrganisationUrls organisations) {
|
||||
this.organisations = organisations;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
package proxy.config;
|
||||
|
||||
public enum FetchStrategy {
|
||||
|
||||
FIRST,
|
||||
ALL
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package proxy.config;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.Unmarshaller;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
public class Loader {
|
||||
|
||||
private ExternalUrls externalUrls;
|
||||
|
||||
|
||||
// public static void main(String [] args) {
|
||||
// Loader l = new Loader("file:///home/nikolas/git/OpenAIRE-EUDAT-DMP/dmp-backend/src/main/resources/ExternalUrls.xml");
|
||||
// }
|
||||
|
||||
|
||||
public Loader(String fileUrl) {
|
||||
System.out.println("LOADING FILE: "+fileUrl);
|
||||
InputStream is = null;
|
||||
try {
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(ExternalUrls.class);
|
||||
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
|
||||
is = new URL(fileUrl).openStream();
|
||||
externalUrls = (ExternalUrls) jaxbUnmarshaller.unmarshal(is);
|
||||
|
||||
System.out.println(new ObjectMapper().writeValueAsString(externalUrls));
|
||||
}
|
||||
catch(Exception ex) {
|
||||
//log the error and shutdown the system (that's a critical error)
|
||||
ex.printStackTrace();
|
||||
System.exit(0);
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if(is !=null) is.close();
|
||||
} catch (IOException e) {
|
||||
System.out.println("Warning: Could not close a stream after reading from file: "+fileUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
package proxy.config;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
|
||||
|
||||
public class UrlConfig {
|
||||
|
||||
private URL url;
|
||||
private Integer ordinal;
|
||||
|
||||
|
||||
public URL getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
@XmlElement(name = "url")
|
||||
public void setUrl(URL url) {
|
||||
this.url = url;
|
||||
}
|
||||
public Integer getOrdinal() {
|
||||
return ordinal;
|
||||
}
|
||||
@XmlElement(name = "ordinal")
|
||||
public void setOrdinal(Integer ordinal) {
|
||||
this.ordinal = ordinal;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package proxy.config.entities;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
|
||||
import proxy.config.FetchStrategy;
|
||||
import proxy.config.UrlConfig;
|
||||
|
||||
public class OrganisationUrls {
|
||||
|
||||
List<UrlConfig> urls;
|
||||
FetchStrategy fetchMode;
|
||||
|
||||
public List<UrlConfig> getUrls() {
|
||||
return urls;
|
||||
}
|
||||
@XmlElementWrapper
|
||||
@XmlElement(name = "urlConfig")
|
||||
public void setUrls(List<UrlConfig> urls) {
|
||||
this.urls = urls;
|
||||
}
|
||||
public FetchStrategy getFetchMode() {
|
||||
return fetchMode;
|
||||
}
|
||||
@XmlElement(name = "fetchMode")
|
||||
public void setFetchMode(FetchStrategy fetchMode) {
|
||||
this.fetchMode = fetchMode;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package proxy.config.entities;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
|
||||
import proxy.config.FetchStrategy;
|
||||
import proxy.config.UrlConfig;
|
||||
|
||||
public class RegistryUrls {
|
||||
|
||||
List<UrlConfig> urls;
|
||||
FetchStrategy fetchMode;
|
||||
|
||||
public List<UrlConfig> getUrls() {
|
||||
return urls;
|
||||
}
|
||||
@XmlElementWrapper
|
||||
@XmlElement(name = "urlConfig")
|
||||
public void setUrls(List<UrlConfig> urls) {
|
||||
this.urls = urls;
|
||||
}
|
||||
public FetchStrategy getFetchMode() {
|
||||
return fetchMode;
|
||||
}
|
||||
@XmlElement(name = "fetchMode")
|
||||
public void setFetchMode(FetchStrategy fetchMode) {
|
||||
this.fetchMode = fetchMode;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package proxy.config.entities;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
|
||||
import proxy.config.FetchStrategy;
|
||||
import proxy.config.UrlConfig;
|
||||
|
||||
public class RepositoryUrls {
|
||||
|
||||
List<UrlConfig> urls;
|
||||
FetchStrategy fetchMode;
|
||||
|
||||
public List<UrlConfig> getUrls() {
|
||||
return urls;
|
||||
}
|
||||
@XmlElementWrapper
|
||||
@XmlElement(name = "urlConfig")
|
||||
public void setUrls(List<UrlConfig> urls) {
|
||||
this.urls = urls;
|
||||
}
|
||||
public FetchStrategy getFetchMode() {
|
||||
return fetchMode;
|
||||
}
|
||||
@XmlElement(name = "fetchMode")
|
||||
public void setFetchMode(FetchStrategy fetchMode) {
|
||||
this.fetchMode = fetchMode;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package proxy.config.entities;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
|
||||
import proxy.config.FetchStrategy;
|
||||
import proxy.config.UrlConfig;
|
||||
|
||||
public class ResearcherUrls {
|
||||
|
||||
List<UrlConfig> urls;
|
||||
FetchStrategy fetchMode;
|
||||
|
||||
public List<UrlConfig> getUrls() {
|
||||
return urls;
|
||||
}
|
||||
@XmlElementWrapper
|
||||
@XmlElement(name = "urlConfig")
|
||||
public void setUrls(List<UrlConfig> urls) {
|
||||
this.urls = urls;
|
||||
}
|
||||
public FetchStrategy getFetchMode() {
|
||||
return fetchMode;
|
||||
}
|
||||
@XmlElement(name = "fetchMode")
|
||||
public void setFetchMode(FetchStrategy fetchMode) {
|
||||
this.fetchMode = fetchMode;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
package proxy.config.entities;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
|
||||
import proxy.config.FetchStrategy;
|
||||
import proxy.config.UrlConfig;
|
||||
|
||||
public class ServiceUrls {
|
||||
|
||||
List<UrlConfig> urls;
|
||||
FetchStrategy fetchMode;
|
||||
|
||||
public List<UrlConfig> getUrls() {
|
||||
return urls;
|
||||
}
|
||||
@XmlElementWrapper
|
||||
@XmlElement(name = "urlConfig")
|
||||
public void setUrls(List<UrlConfig> urls) {
|
||||
this.urls = urls;
|
||||
}
|
||||
public FetchStrategy getFetchMode() {
|
||||
return fetchMode;
|
||||
}
|
||||
@XmlElement(name = "fetchMode")
|
||||
public void setFetchMode(FetchStrategy fetchMode) {
|
||||
this.fetchMode = fetchMode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -140,15 +140,15 @@ public class Projects {
|
|||
@RequestMapping(method = RequestMethod.POST, value = { "/project/create" }, consumes = "application/json", produces="application/json")
|
||||
public @ResponseBody ResponseEntity<Object> createProject(@RequestBody Project project) {
|
||||
Project createdProject = projectDao.update(project);
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(createdProject);
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdProject));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@RequestMapping(method = RequestMethod.POST, value = { "/project/update" }, consumes = "application/json", produces="application/json")
|
||||
public @ResponseBody ResponseEntity<Object> updateProject(@RequestBody Project project) {
|
||||
Project createdProject = projectDao.update(project);
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(createdProject);
|
||||
Project updatedProject = projectDao.update(project);
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(updatedProject));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<externalUrls>
|
||||
|
||||
|
||||
<registries>
|
||||
<urls>
|
||||
<urlConfig>
|
||||
<url></url>
|
||||
<ordinal>1</ordinal>
|
||||
</urlConfig>
|
||||
</urls>
|
||||
|
||||
<fetchMode>ALL</fetchMode>
|
||||
</registries>
|
||||
|
||||
|
||||
|
||||
<repositories>
|
||||
|
||||
<urls>
|
||||
<urlConfig>
|
||||
<url>https://eestore.paas2.uninett.no/api/datarepo/</url>
|
||||
<ordinal>1</ordinal>
|
||||
</urlConfig>
|
||||
|
||||
</urls>
|
||||
|
||||
<fetchMode>ALL</fetchMode>
|
||||
</repositories>
|
||||
|
||||
|
||||
|
||||
<services>
|
||||
<urls>
|
||||
<urlConfig>
|
||||
<url></url>
|
||||
<ordinal>1</ordinal>
|
||||
</urlConfig>
|
||||
</urls>
|
||||
|
||||
<fetchMode>ALL</fetchMode>
|
||||
</services>
|
||||
|
||||
|
||||
|
||||
<researchers>
|
||||
<urls>
|
||||
<urlConfig>
|
||||
<url></url>
|
||||
<ordinal>1</ordinal>
|
||||
</urlConfig>
|
||||
</urls>
|
||||
|
||||
<fetchMode>ALL</fetchMode>
|
||||
</researchers>
|
||||
|
||||
|
||||
|
||||
|
||||
<organisations>
|
||||
<urls>
|
||||
<urlConfig>
|
||||
<url></url>
|
||||
<ordinal>1</ordinal>
|
||||
</urlConfig>
|
||||
</urls>
|
||||
|
||||
<fetchMode>ALL</fetchMode>
|
||||
|
||||
</organisations>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</externalUrls>
|
||||
|
||||
|
|
@ -42,7 +42,13 @@
|
|||
<bean id="tokenAuthenticationFilter" class="security.TokenAuthenticationFilter" />
|
||||
|
||||
<bean id="customAuthenticationProvider" class="security.CustomAuthenticationProvider" />
|
||||
|
||||
|
||||
|
||||
<bean id="externalUrlLoader" class="proxy.config.Loader">
|
||||
<constructor-arg type="java.lang.String" value = "classpath:ExternalUrls.xml"/>
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="emf" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
|
||||
<property name="persistenceUnitName" value="DMPBackendPersistence" />
|
||||
<property name="jpaProperties">
|
||||
|
|
Loading…
Reference in New Issue