diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java b/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java index 98aa10cbb..bcb15b3c5 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java @@ -17,6 +17,7 @@ import eu.eudat.models.dmp.DataManagementPlanCriteriaRequest; import eu.eudat.models.dmp.DataManagementPlanTableRequest; import eu.eudat.models.helpers.DataTableData; import eu.eudat.models.helpers.responses.*; +import eu.eudat.models.listingmodels.DataManagementPlanListingModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -70,15 +71,15 @@ public class DMPs { @RequestMapping(method = RequestMethod.POST, value = { "/dmps/getPaged" }, consumes = "application/json", produces="application/json") - public @ResponseBody ResponseItem> getPaged(@RequestBody DataManagementPlanTableRequest dataManagementPlanTableRequest) { + public @ResponseBody ResponseItem> getPaged(@RequestBody DataManagementPlanTableRequest dataManagementPlanTableRequest) { try { - DataTableData dataTable = new DataManagementPlanManager().getPaged(dMPDao, dataManagementPlanTableRequest); + DataTableData dataTable = new DataManagementPlanManager().getPaged(dMPDao, dataManagementPlanTableRequest); - return new ResponseItem>().status(HttpStatus.OK).payload(dataTable); + return new ResponseItem>().status(HttpStatus.OK).payload(dataTable); } catch (Exception ex) { ex.printStackTrace(); - return new ResponseItem>().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); + return new ResponseItem>().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); } } diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java b/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java index baa942ab7..1d938d7e3 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java @@ -7,6 +7,9 @@ import java.util.UUID; import javax.transaction.Transactional; import eu.eudat.entities.Organisation; +import eu.eudat.models.external.OrganisationsExternalSourcesModel; +import eu.eudat.models.external.ProjectsExternalSourcesModel; +import eu.eudat.models.helpers.responses.ResponseItem; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -58,16 +61,19 @@ public class Organisations { @RequestMapping(method = RequestMethod.GET, value = { "/external/organisations" }, produces="application/json") - public @ResponseBody ResponseEntity>> listExternalOrganisations(@RequestParam(value="query", required=false) String query ){ + public @ResponseBody ResponseItem listExternalOrganisations(@RequestParam(value="query", required=false) String query ){ try { List> remoteRepos = remoteFetcher.getOrganisations(query); - return ResponseEntity.status(HttpStatus.OK).body(remoteRepos); + OrganisationsExternalSourcesModel projectsExternalSourcesModel = new OrganisationsExternalSourcesModel().fromExternalItem(remoteRepos); + return new ResponseItem().payload(projectsExternalSourcesModel).status(HttpStatus.OK); } catch(NoURLFound ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("External Url Not Found"); } catch(HugeResultSet ex) { - return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("Huge Result Set"); + }catch (Exception ex){ + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); } } diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java b/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java index 7aad6f16b..0e688bbc0 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java @@ -9,6 +9,8 @@ import java.util.UUID; import javax.transaction.Transactional; import eu.eudat.models.criteria.ProjectCriteria; +import eu.eudat.models.external.ProjectsExternalSourcesModel; +import eu.eudat.models.external.RegistriesExternalSourcesModel; import eu.eudat.models.helpers.responses.*; import eu.eudat.models.project.ProjectCriteriaRequest; import org.springframework.beans.factory.annotation.Autowired; @@ -137,16 +139,19 @@ public class Projects { ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @RequestMapping(method = RequestMethod.GET, value = { "/external/projects" }, produces="application/json") - public @ResponseBody ResponseEntity>> listExternalProjects(@RequestParam(value="query", required=false) String query ){ + public @ResponseBody ResponseItem listExternalProjects(@RequestParam(value="query", required=false) String query ){ try { List> remoteRepos = remoteFetcher.getProjects(query); - return ResponseEntity.status(HttpStatus.OK).body(remoteRepos); + ProjectsExternalSourcesModel projectsExternalSourcesModel = new ProjectsExternalSourcesModel().fromExternalItem(remoteRepos); + return new ResponseItem().payload(projectsExternalSourcesModel).status(HttpStatus.OK); } catch(NoURLFound ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("External Url Not Found"); } catch(HugeResultSet ex) { - return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("Huge Result Set"); + }catch (Exception ex){ + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); } } diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java b/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java index fec0231a8..5665cc8fe 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java @@ -5,6 +5,9 @@ import java.util.Map; import java.util.UUID; import eu.eudat.entities.Registry; +import eu.eudat.models.external.RegistriesExternalSourcesModel; +import eu.eudat.models.external.ResearchersExternalSourcesModel; +import eu.eudat.models.helpers.responses.ResponseItem; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -58,16 +61,19 @@ public class Registries { @RequestMapping(method = RequestMethod.GET, value = { "/external/registries" }, produces="application/json") - public @ResponseBody ResponseEntity>> listExternalRegistries(@RequestParam(value="query", required=false) String query ){ + public @ResponseBody ResponseItem listExternalRegistries(@RequestParam(value="query", required=false) String query ){ try { List> remoteRepos = remoteFetcher.getRegistries(query); - return ResponseEntity.status(HttpStatus.OK).body(remoteRepos); + RegistriesExternalSourcesModel registriesExternalSourcesModel = new RegistriesExternalSourcesModel().fromExternalItem(remoteRepos); + return new ResponseItem().payload(registriesExternalSourcesModel).status(HttpStatus.OK); } catch(NoURLFound ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("External Url Not Found"); } catch(HugeResultSet ex) { - return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("Huge Result Set"); + }catch (Exception ex){ + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); } } diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java b/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java index 432a8ef49..66a7fcf56 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java @@ -7,6 +7,9 @@ import java.util.UUID; import javax.transaction.Transactional; import eu.eudat.entities.Researcher; +import eu.eudat.models.external.ResearchersExternalSourcesModel; +import eu.eudat.models.external.ServiceExternalSourcesModel; +import eu.eudat.models.helpers.responses.ResponseItem; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -57,16 +60,19 @@ public class Researchers { @RequestMapping(method = RequestMethod.GET, value = { "/external/researchers" }, produces="application/json") - public @ResponseBody ResponseEntity>> listExternalResearchers(@RequestParam(value="query", required=false) String query ){ + public @ResponseBody ResponseItem listExternalResearchers(@RequestParam(value="query", required=false) String query ){ try { List> remoteRepos = remoteFetcher.getResearchers(query); - return ResponseEntity.status(HttpStatus.OK).body(remoteRepos); + ResearchersExternalSourcesModel researchersExternalSourcesModel = new ResearchersExternalSourcesModel().fromExternalItem(remoteRepos); + return new ResponseItem().payload(researchersExternalSourcesModel).status(HttpStatus.OK); } catch(NoURLFound ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("External Url Not Found"); } catch(HugeResultSet ex) { - return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("Huge Result Set"); + }catch (Exception ex){ + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); } } diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Services.java b/dmp-backend/src/main/java/eu/eudat/controllers/Services.java index 1c868f00e..7aa301b00 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Services.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Services.java @@ -7,6 +7,8 @@ import java.util.UUID; import javax.transaction.Transactional; import eu.eudat.entities.Service; +import eu.eudat.models.external.ServiceExternalSourcesModel; +import eu.eudat.models.helpers.responses.ResponseItem; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -57,20 +59,29 @@ public class Services { @RequestMapping(method = RequestMethod.GET, value = { "/external/services" }, produces="application/json") - public @ResponseBody ResponseEntity>> listExternalServices(@RequestParam(value="query", required=false) String query ){ + public @ResponseBody ResponseItem listExternalServices(@RequestParam(value="query", required=false) String query ){ try { List> remoteRepos = remoteFetcher.getServices(query); - return ResponseEntity.status(HttpStatus.OK).body(remoteRepos); + ServiceExternalSourcesModel serviceExternalSourcesModel = new ServiceExternalSourcesModel().fromExternalItem(remoteRepos); + return new ResponseItem().payload(serviceExternalSourcesModel).status(HttpStatus.OK); } catch(NoURLFound ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("External Url Not Found"); } catch(HugeResultSet ex) { - return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(null); //the ex.getMessage has the appropriate text description + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message("Huge Result Set"); + }catch (Exception ex){ + return new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage()); } } - + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + + + + // MANAGE SERVICE(S) @RequestMapping(method = RequestMethod.GET, value = { "/services" }) diff --git a/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java b/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java index 35afb2417..397c3c51f 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java @@ -10,18 +10,19 @@ import eu.eudat.models.dmp.DataManagementPlan; import eu.eudat.models.dmp.DataManagementPlanCriteriaRequest; import eu.eudat.models.dmp.DataManagementPlanTableRequest; import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.listingmodels.DataManagementPlanListingModel; import eu.eudat.queryable.QueryableList; import eu.eudat.utilities.builders.DomainModelConverter; public class DataManagementPlanManager { - public DataTableData getPaged(DMPDao dmpsRepository, DataManagementPlanTableRequest dataManagementPlanTableRequest) throws IllegalAccessException, InstantiationException{ + public DataTableData getPaged(DMPDao dmpsRepository, DataManagementPlanTableRequest dataManagementPlanTableRequest) throws IllegalAccessException, InstantiationException{ QueryableList items = dmpsRepository.getWithCriteria(dataManagementPlanTableRequest.getCriteria()); QueryableList pagedItems = PaginationManager.applyPaging(items,dataManagementPlanTableRequest); - List datamanagementPlans = new DomainModelConverter().fromDataModel( pagedItems.toList(), eu.eudat.models.dmp.DataManagementPlan.class); - DataTableData dataTable = new DataTableData(); + List datamanagementPlans = new DomainModelConverter().fromDataModel( pagedItems.toList(), DataManagementPlanListingModel.class); + DataTableData dataTable = new DataTableData(); dataTable.setData(datamanagementPlans); - dataTable.setTotalCount(datamanagementPlans.size()); + dataTable.setTotalCount(items.count()); return dataTable; } diff --git a/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java b/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java index 300901abd..0855bad2b 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java @@ -24,7 +24,7 @@ public class DatasetManager { List datasets = new DomainModelConverter().fromDataModel( pagedItems.toList(), eu.eudat.models.dataset.Dataset.class); DataTableData dataTable = new DataTableData(); dataTable.setData(datasets); - dataTable.setTotalCount(datasets.size()); + dataTable.setTotalCount(items.count()); return dataTable; } diff --git a/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java b/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java index a9a423b8c..f4e2431bd 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java @@ -20,7 +20,7 @@ public class ProjectManager { List projects = new DomainModelConverter().fromDataModel(pagedItems.toList(), eu.eudat.models.project.Project.class); DataTableData dataTable = new DataTableData(); dataTable.setData(projects); - dataTable.setTotalCount(projects.size()); + dataTable.setTotalCount(items.count()); return dataTable; } diff --git a/dmp-backend/src/main/java/eu/eudat/models/dataset/Registry.java b/dmp-backend/src/main/java/eu/eudat/models/dataset/Registry.java index 1e7aa3292..70c3259b8 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/dataset/Registry.java +++ b/dmp-backend/src/main/java/eu/eudat/models/dataset/Registry.java @@ -1,11 +1,74 @@ package eu.eudat.models.dataset; import eu.eudat.models.DataModel; +import org.hibernate.annotations.Type; + +import javax.persistence.Column; +import java.util.UUID; public class Registry implements DataModel{ + private UUID id; + private String label; + private String abbreviation; + private String reference; + private String uri; + private String definition; + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getAbbreviation() { + return abbreviation; + } + + public void setAbbreviation(String abbreviation) { + this.abbreviation = abbreviation; + } + + public String getReference() { + return reference; + } + + public void setReference(String reference) { + this.reference = reference; + } + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } + + public String getDefinition() { + return definition; + } + + public void setDefinition(String definition) { + this.definition = definition; + } public void fromDataModel(eu.eudat.entities.Registry entity){ - + this.id = entity.getId(); + this.label = entity.getLabel(); + this.abbreviation = entity.getAbbreviation(); + this.reference = entity.getReference(); + this.uri = entity.getUri(); + this.definition = entity.getDefinition(); } public eu.eudat.entities.Registry toDataModel(){ diff --git a/dmp-backend/src/main/java/eu/eudat/models/dataset/Service.java b/dmp-backend/src/main/java/eu/eudat/models/dataset/Service.java index e0085c0c5..ddeb6336e 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/dataset/Service.java +++ b/dmp-backend/src/main/java/eu/eudat/models/dataset/Service.java @@ -1,10 +1,78 @@ package eu.eudat.models.dataset; import eu.eudat.models.DataModel; +import org.hibernate.annotations.Type; + +import javax.persistence.Column; +import java.util.UUID; public class Service implements DataModel{ + private UUID id; + private String label; + + private String abbreviation; + + private String reference; + + private String uri; + + private String definition; + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getAbbreviation() { + return abbreviation; + } + + public void setAbbreviation(String abbreviation) { + this.abbreviation = abbreviation; + } + + public String getReference() { + return reference; + } + + public void setReference(String reference) { + this.reference = reference; + } + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } + + public String getDefinition() { + return definition; + } + + public void setDefinition(String definition) { + this.definition = definition; + } + public void fromDataModel(eu.eudat.entities.Service entity){ - + this.id = entity.getId(); + this.label = entity.getLabel(); + this.abbreviation = entity.getAbbreviation(); + this.reference = entity.getReference(); + this.uri = entity.getUri(); + this.definition = entity.getDefinition(); } public eu.eudat.entities.Service toDataModel(){ diff --git a/dmp-backend/src/main/java/eu/eudat/models/dmp/Organisation.java b/dmp-backend/src/main/java/eu/eudat/models/dmp/Organisation.java index f2cb97730..e4eb448c5 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/dmp/Organisation.java +++ b/dmp-backend/src/main/java/eu/eudat/models/dmp/Organisation.java @@ -1,10 +1,11 @@ package eu.eudat.models.dmp; import eu.eudat.models.DataModel; +import eu.eudat.utilities.helpers.LabelGenerator; import java.util.Date; -public class Organisation implements DataModel { +public class Organisation implements DataModel,LabelGenerator { private String pid; private String name; private String uri; @@ -51,4 +52,9 @@ public class Organisation implements DataModel { organisationEntity.setStatus((short)this.status); return organisationEntity; } + + @Override + public String generateLabel() { + return this.getName(); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/models/dmp/Researcher.java b/dmp-backend/src/main/java/eu/eudat/models/dmp/Researcher.java index 9e90e01b5..8480ec959 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/dmp/Researcher.java +++ b/dmp-backend/src/main/java/eu/eudat/models/dmp/Researcher.java @@ -1,10 +1,11 @@ package eu.eudat.models.dmp; import eu.eudat.models.DataModel; +import eu.eudat.utilities.helpers.LabelGenerator; import java.util.Date; -public class Researcher implements DataModel { +public class Researcher implements DataModel,LabelGenerator { private String pid; private String name; private String uri; @@ -59,4 +60,9 @@ public class Researcher implements DataModel { researcher.setStatus((short)this.status); return researcher; } + + @Override + public String generateLabel() { + return this.getName(); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/ExternalItem.java b/dmp-backend/src/main/java/eu/eudat/models/external/ExternalItem.java new file mode 100644 index 000000000..22205ed1a --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/ExternalItem.java @@ -0,0 +1,11 @@ +package eu.eudat.models.external; + +import java.util.List; +import java.util.Map; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public interface ExternalItem { + T fromExternalItem(List> values); +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/ExternalListingItem.java b/dmp-backend/src/main/java/eu/eudat/models/external/ExternalListingItem.java new file mode 100644 index 000000000..12cddebb4 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/ExternalListingItem.java @@ -0,0 +1,18 @@ +package eu.eudat.models.external; + +import java.util.List; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public abstract class ExternalListingItem implements ExternalItem{ + private List data; + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/ExternalSourcesItemModel.java b/dmp-backend/src/main/java/eu/eudat/models/external/ExternalSourcesItemModel.java new file mode 100644 index 000000000..4e1031944 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/ExternalSourcesItemModel.java @@ -0,0 +1,34 @@ +package eu.eudat.models.external; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class ExternalSourcesItemModel{ + private String id; + private String name; + private String label; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/OrganisationsExternalSourcesModel.java b/dmp-backend/src/main/java/eu/eudat/models/external/OrganisationsExternalSourcesModel.java new file mode 100644 index 000000000..598f558aa --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/OrganisationsExternalSourcesModel.java @@ -0,0 +1,24 @@ +package eu.eudat.models.external; + +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class OrganisationsExternalSourcesModel extends ExternalListingItem{ + @Override + public OrganisationsExternalSourcesModel fromExternalItem(List> values) { + List items = new LinkedList<>(); + for(Map item : values){ + ExternalSourcesItemModel model = new ExternalSourcesItemModel(); + model.setId(item.get("pid")); + model.setLabel(item.get("uri")); + model.setName(item.get("name")); + items.add(model); + } + this.setData(items); + return this; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/ProjectsExternalSourcesModel.java b/dmp-backend/src/main/java/eu/eudat/models/external/ProjectsExternalSourcesModel.java new file mode 100644 index 000000000..4af013905 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/ProjectsExternalSourcesModel.java @@ -0,0 +1,24 @@ +package eu.eudat.models.external; + +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class ProjectsExternalSourcesModel extends ExternalListingItem { + @Override + public ProjectsExternalSourcesModel fromExternalItem(List> values) { + List items = new LinkedList<>(); + for(Map item : values){ + ExternalSourcesItemModel model = new ExternalSourcesItemModel(); + model.setId(item.get("pid")); + model.setLabel(item.get("uri")); + model.setName(item.get("name")); + items.add(model); + } + this.setData(items); + return this; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/RegistriesExternalSourcesModel.java b/dmp-backend/src/main/java/eu/eudat/models/external/RegistriesExternalSourcesModel.java new file mode 100644 index 000000000..1a047aaa1 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/RegistriesExternalSourcesModel.java @@ -0,0 +1,24 @@ +package eu.eudat.models.external; + +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class RegistriesExternalSourcesModel extends ExternalListingItem { + @Override + public RegistriesExternalSourcesModel fromExternalItem(List> values) { + List items = new LinkedList<>(); + for(Map item : values){ + ExternalSourcesItemModel model = new ExternalSourcesItemModel(); + model.setId(item.get("pid")); + model.setLabel(item.get("uri")); + model.setName(item.get("name")); + items.add(model); + } + this.setData(items); + return this; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/ResearchersExternalSourcesModel.java b/dmp-backend/src/main/java/eu/eudat/models/external/ResearchersExternalSourcesModel.java new file mode 100644 index 000000000..613fa3be0 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/ResearchersExternalSourcesModel.java @@ -0,0 +1,24 @@ +package eu.eudat.models.external; + +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class ResearchersExternalSourcesModel extends ExternalListingItem { + @Override + public ResearchersExternalSourcesModel fromExternalItem(List> values) { + List items = new LinkedList<>(); + for(Map item : values){ + ExternalSourcesItemModel model = new ExternalSourcesItemModel(); + model.setId(item.get("pid")); + model.setLabel(item.get("uri")); + model.setName(item.get("name")); + items.add(model); + } + this.setData(items); + return this; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/external/ServiceExternalSourcesModel.java b/dmp-backend/src/main/java/eu/eudat/models/external/ServiceExternalSourcesModel.java new file mode 100644 index 000000000..db859d801 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/external/ServiceExternalSourcesModel.java @@ -0,0 +1,24 @@ +package eu.eudat.models.external; + +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class ServiceExternalSourcesModel extends ExternalListingItem { + @Override + public ServiceExternalSourcesModel fromExternalItem(List> values) { + List items = new LinkedList<>(); + for(Map item : values){ + ExternalSourcesItemModel model = new ExternalSourcesItemModel(); + model.setId(item.get("pid")); + model.setLabel(item.get("label")); + model.setName(item.get("name")); + items.add(model); + } + this.setData(items); + return this; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/helpers/DataTableData.java b/dmp-backend/src/main/java/eu/eudat/models/helpers/DataTableData.java index b6a6a11cc..60d12e1d4 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/helpers/DataTableData.java +++ b/dmp-backend/src/main/java/eu/eudat/models/helpers/DataTableData.java @@ -3,13 +3,13 @@ package eu.eudat.models.helpers; import java.util.List; public class DataTableData { - private Integer totalCount; + private Long totalCount; private List data; - public Integer getTotalCount() { + public Long getTotalCount() { return totalCount; } - public void setTotalCount(Integer totalCount) { + public void setTotalCount(Long totalCount) { this.totalCount = totalCount; } public List getData() { diff --git a/dmp-backend/src/main/java/eu/eudat/models/listingmodels/DataManagementPlanListingModel.java b/dmp-backend/src/main/java/eu/eudat/models/listingmodels/DataManagementPlanListingModel.java new file mode 100644 index 000000000..8d3bd8ab2 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/listingmodels/DataManagementPlanListingModel.java @@ -0,0 +1,102 @@ +package eu.eudat.models.listingmodels; + +import eu.eudat.entities.DMP; +import eu.eudat.entities.DataRepository; +import eu.eudat.models.DataModel; +import eu.eudat.models.dmp.Organisation; +import eu.eudat.models.dmp.Researcher; +import eu.eudat.utilities.builders.DomainModelConverter; +import eu.eudat.utilities.helpers.LabelBuilder; +import eu.eudat.utilities.helpers.LabelGenerator; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class DataManagementPlanListingModel implements DataModel { + private String id; + private String label; + private String project; + private String profile; + private String researchers; + private String organisations; + private String version; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + public String getProfile() { + return profile; + } + + public void setProfile(String profile) { + this.profile = profile; + } + + public String getResearchers() { + return researchers; + } + + public void setResearchers(String researchers) { + this.researchers = researchers; + } + + public String getOrganisations() { + return organisations; + } + + public void setOrganisations(String organisations) { + this.organisations = organisations; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + @Override + public void fromDataModel(DMP entity) throws InstantiationException, IllegalAccessException { + this.id = entity.getId().toString(); + this.label = entity.getLabel(); + this.project = entity.getProject().getLabel(); + this.profile = entity.getProfile().getLabel(); + this.organisations =getLabel(new DomainModelConverter().fromDataModel(entity.getOrganisations().stream().collect(Collectors.toList()),Organisation.class)); + this.researchers =getLabel(new DomainModelConverter().fromDataModel(entity.getResearchers().stream().collect(Collectors.toList()),Researcher.class)); + this.version = ""+entity.getVersion(); + } + + @Override + public DMP toDataModel() { + return null; + } + + private String getLabel(List items){ + return LabelBuilder.generateLabel(items); + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java b/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java index cbc3ffa33..1b547d749 100644 --- a/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java +++ b/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java @@ -21,4 +21,6 @@ public interface QueryableList { QueryableList distinct(); QueryableList orderBy(OrderByPredicate predicate); + + Long count(); } diff --git a/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java b/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java index a770efb8f..425cabc9d 100644 --- a/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java +++ b/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java @@ -83,6 +83,16 @@ public class QueryableHibernateList implements QueryableList { return this; } + public Long count(){ + CriteriaBuilder criteriaBuilder = this.manager.getCriteriaBuilder(); + CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); + criteriaQuery.select(criteriaBuilder.count(criteriaQuery.from(this.tClass))); + Predicate[] array = new Predicate[this.predicates.size()]; + this.predicates.toArray(array); + criteriaQuery.where(array); + return this.manager.createQuery(criteriaQuery).getSingleResult(); + } + public List toList() { Predicate[] array = new Predicate[this.predicates.size()]; this.predicates.toArray(array); diff --git a/dmp-backend/src/main/java/eu/eudat/utilities/helpers/LabelBuilder.java b/dmp-backend/src/main/java/eu/eudat/utilities/helpers/LabelBuilder.java new file mode 100644 index 000000000..6ca8cca5d --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/utilities/helpers/LabelBuilder.java @@ -0,0 +1,21 @@ +package eu.eudat.utilities.helpers; + +import java.util.List; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public class LabelBuilder { + public static String generateLabel(List items){ + String label=""; + for(T item : items){ + if(items.indexOf(item)==3){ + label+="..."; + break; + } + label+=item.generateLabel(); + } + return label; + } + +} diff --git a/dmp-backend/src/main/java/eu/eudat/utilities/helpers/LabelGenerator.java b/dmp-backend/src/main/java/eu/eudat/utilities/helpers/LabelGenerator.java new file mode 100644 index 000000000..0754d0e6e --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/utilities/helpers/LabelGenerator.java @@ -0,0 +1,8 @@ +package eu.eudat.utilities.helpers; + +/** + * Created by ikalyvas on 12/19/2017. + */ +public interface LabelGenerator { + String generateLabel(); +} diff --git a/dmp-frontend/.angular-cli.json b/dmp-frontend/.angular-cli.json index 8c4a25f1f..7e79fbe3d 100644 --- a/dmp-frontend/.angular-cli.json +++ b/dmp-frontend/.angular-cli.json @@ -19,12 +19,9 @@ "testTsconfig": "tsconfig.spec.json", "prefix": "app", "styles": [ - "./../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.scss" ], "scripts": [ - "./../node_modules/bootstrap/dist/js/bootstrap.min.js", - "./assets/xml2json.min.js" ], "environmentSource": "environments/environment.ts", "environments": { diff --git a/dmp-frontend/package-lock.json b/dmp-frontend/package-lock.json index e2c497713..ee5ebf5da 100644 --- a/dmp-frontend/package-lock.json +++ b/dmp-frontend/package-lock.json @@ -285,11 +285,6 @@ "tslib": "1.7.1" } }, - "@ng-bootstrap/ng-bootstrap": { - "version": "1.0.0-beta.7", - "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-1.0.0-beta.7.tgz", - "integrity": "sha1-WLyB9hACj0BSZSnOQEg6lQKBY7A=" - }, "@ngtools/json-schema": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz", @@ -1389,11 +1384,6 @@ "hoek": "2.16.3" } }, - "bootstrap": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", - "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=" - }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", diff --git a/dmp-frontend/src/app/app-routing.module.ts b/dmp-frontend/src/app/app-routing.module.ts index c4e80203e..e3b34df3d 100644 --- a/dmp-frontend/src/app/app-routing.module.ts +++ b/dmp-frontend/src/app/app-routing.module.ts @@ -19,7 +19,6 @@ import { DataManagementPlanEditorComponent } from './dmps/editor/dmp-editor.comp const appRoutes: Routes = [ { path: 'dynamic-form/:id', component: DynamicFormComponent, canActivate: [AuthGuard] }, - //{ path: 'dataset', component: DatasetsComponent }, { path: 'projects', component: ProjectListingComponent, canActivate: [AuthGuard]}, { path: 'project/:id', component: ProjectEditorComponent, canActivate: [AuthGuard]}, { path: 'projects/new', component: ProjectEditorComponent, canActivate: [AuthGuard]}, diff --git a/dmp-frontend/src/app/app.component.html b/dmp-frontend/src/app/app.component.html index b03878ad8..0c0b5c94b 100644 --- a/dmp-frontend/src/app/app.component.html +++ b/dmp-frontend/src/app/app.component.html @@ -1,78 +1,2 @@ -
- -
- - \ No newline at end of file + \ No newline at end of file diff --git a/dmp-frontend/src/app/app.module.ts b/dmp-frontend/src/app/app.module.ts index 50d6f6571..5de325ac2 100644 --- a/dmp-frontend/src/app/app.module.ts +++ b/dmp-frontend/src/app/app.module.ts @@ -50,7 +50,6 @@ import { ConfirmationComponent } from './widgets/confirmation/confirmation.compo import { EestoreService } from './services/eestore.service'; -import { GlobalInterceptor } from './services/interceptor'; import { PDFService } from './services/transformers/pdf.service'; import { TabModule } from './tabs/tab.module'; @@ -81,7 +80,6 @@ import { NgDatepickerModule } from 'ng2-datepicker'; import { StatusToString } from './pipes/various/status-to-string'; import { SidebarModule } from 'ng-sidebar'; -import { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner'; import { BreadcrumbComponent } from './widgets/breadcrumb/breadcrumb.component'; import { DmpDetailedComponent } from './viewers/dmp-detailed/dmp-detailed.component'; import { ProjectDetailedComponent } from './viewers/project-detailed/project-detailed.component'; @@ -167,7 +165,6 @@ import { FigurecardComponent } from './shared/components/figurecard/figurecard.c AngularDraggableModule, DataTableModule, NgDatepickerModule, - Ng4LoadingSpinnerModule, NguiAutoCompleteModule, BreadcrumbModule, ProgressBarModule, @@ -189,11 +186,7 @@ import { FigurecardComponent } from './shared/components/figurecard/figurecard.c BrowserAnimationsModule, MaterialModule ], - providers: [{ - provide: HTTP_INTERCEPTORS, - useClass: GlobalInterceptor, - multi: true, - }, + providers: [ ServerService, VisibilityRulesService, PaginationService, GlobalVariables, AuthGuard, LocalStorageService, RestBase, EestoreService, PDFService, AuthService,DashboardService,DatasetService, diff --git a/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts b/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts index d579c3af6..726cbd863 100644 --- a/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts +++ b/dmp-frontend/src/app/login/googgle-sign-in/googgle-sign-in.component.ts @@ -8,7 +8,7 @@ import { TranslateService } from "@ngx-translate/core"; declare const gapi: any; -declare var auth2 :any; +declare const auth2 :any; declare function simple_notifier(type: string, title: string, message:string): any; @@ -51,34 +51,7 @@ export class GooggleSignInComponent implements OnInit, Injectable { - public signIn() { - auth2.grantOfflineAccess().then((authResult)=>this.signInCallback(authResult)) - } - signInCallback(authResult){ - if (authResult['code']) { - this.authService.login({ticket:authResult['code'],service:"google"}).subscribe( - res => this.onLogInSuccess(res), - error => this.onLogInError(error) - ) - } - } - - public onLogInSuccess(logoutMessage: any) { - this.route.queryParams.subscribe((params: Params) => { - let redirectUrl = params['returnUrl'] ? params['returnUrl'] : '/'; - this.router.navigate([redirectUrl]); - }) - } - - public onLogInError(errorMessage: string) { - console.log(errorMessage); - this.snackBar.openFromComponent(SnackBarNotificationComponent, { - data: { message: 'GENERAL.SNACK-BAR.UNSUCCESSFUL-LOGIN', language: this.language }, - duration: 3000, - extraClasses: ['snackbar-warning'] - }) - } } diff --git a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.css b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.css index e49f49b9a..6d6af91ce 100644 --- a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.css +++ b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.css @@ -1,75 +1,101 @@ -.form-signin -{ - max-width: 330px; - padding: 15px; - margin: 0 auto; -} -.form-signin .form-signin-heading, .form-signin .checkbox -{ - margin-bottom: 10px; -} -.form-signin .checkbox -{ - font-weight: normal; -} -.form-signin .form-control -{ +.login{ + height: 100%; position: relative; - font-size: 16px; - height: auto; - padding: 10px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.form-signin .form-control:focus -{ - z-index: 2; -} -.form-signin input[type="text"] -{ - margin-bottom: -1px; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} -.form-signin input[type="password"] -{ - margin-bottom: 10px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.account-wall -{ - margin-top: 20px; - padding: 40px 0px 20px 0px; - background-color: #f7f7f7; - -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); - -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); - box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); -} -.login-title -{ - color: #555; - font-size: 18px; + z-index: 1; + } + + .card{ + position: relative; + padding: 20px; + display: flex; + flex-direction: column; + align-items: center; + margin-top: 90px; + top: -90px; + -webkit-animation-name: card; + -moz-animation-name: card; + -o-animation-name: card; + animation-name: card; + -webkit-animation-duration: 600ms; + -moz-animation-duration: 600ms; + -o-animation-duration: 600ms; + animation-duration: 600ms; + -webkit-animation-fill-mode: forwards; + -moz-animation-fill-mode: forwards; + -o-animation-fill-mode: forwards; + animation-fill-mode: forwards; + } + + @-webkit-keyframes card { + from {top: -40px;} + to {top: 0;} + } + + @keyframes card { + from {top: -40px;} + to {top: 0;} + } + + .card-header{ + position: relative; + overflow: hidden; + top: -40px; + width: 100%; + padding: 25px; + border-radius: 3px; + background: linear-gradient(60deg, #ec407a, #d81b60); + box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(233, 30, 99, 0.4); + display: flex; + flex-direction: column; + align-items: center; + } + + .card-header h4{ font-weight: 400; - display: block; -} -.profile-img -{ - width: 96px; - height: 96px; - margin: 0 auto 10px; - display: block; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; -} -.need-help -{ - margin-top: 10px; -} -.new-account -{ - display: block; - margin-top: 10px; -} \ No newline at end of file + color: #fff; + margin-bottom: 25px; + margin-top: 5px; + } + + .social-btns i{ + font-size: 21px; + color: #fff; + } + + .social-btns button{ + margin: 0 8px; + } + + .tip{ + margin-top: -20px; + } + + .form-row, .card-form, .mat-input-container{ + width: 100%; + } + + .card-form{ + padding: 5px; + } + + .form-row{ + position: relative; + display: flex; + align-items: center; + margin-top: 13px; + } + + .form-row i{ + position: relative; + top: -5px; + margin-right: 15px; + color: #555; + } + + .card-footer{ + margin: 10px; + } + + .card-footer button{ + color: #e91e63; + } \ No newline at end of file diff --git a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.html b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.html index 660c3348b..5e930fc8b 100644 --- a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.html +++ b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.html @@ -1,43 +1,40 @@ -
+ - -
-
-
- - +
\ No newline at end of file diff --git a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts index 0725b32d1..95a2c6f7f 100644 --- a/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts +++ b/dmp-frontend/src/app/login/main-sign-in/main-sign-in.component.ts @@ -1,11 +1,13 @@ -import { Component, OnInit } from '@angular/core'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import {Router} from '@angular/router'; -import {MenuItem} from 'primeng/primeng'; +import { AuthService } from '../../services/auth/auth.service'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit, ElementRef, AfterViewInit, VERSION, Injectable } from '@angular/core'; +import { Router, ActivatedRoute, Params } from "@angular/router"; +import { SnackBarNotificationComponent } from "../../shared/components/notificaiton/snack-bar-notification.component"; +import { MatPaginator, MatSort, MatSnackBar } from "@angular/material"; +import { TranslateService } from "@ngx-translate/core"; declare const gapi: any; -declare function simple_notifier(type: string, title: string, message:string): any; - +declare const auth2 :any; @Component({ selector: 'app-main-sign-in', templateUrl: './main-sign-in.component.html', @@ -13,36 +15,42 @@ declare function simple_notifier(type: string, title: string, message:string): a }) export class MainSignInComponent implements OnInit { - - nativeLoginForm : any; - - creds : any = {"username":"","password":""}; - - - constructor( private fb: FormBuilder, private router : Router) { - - } - - - createForm(){ - - this.nativeLoginForm = this.fb.group({ - username: ['', Validators.required ], - password: ['', Validators.required ] - }); - - } - + constructor(private element: ElementRef, private router : Router,private authService:AuthService,private route:ActivatedRoute, + public snackBar: MatSnackBar,public language: TranslateService) { } ngOnInit() { - this.createForm(); + } + + loginBtn() { } - login(){ - //login using the credentials - - - } - + public googleSignIn() { + auth2.grantOfflineAccess().then((authResult)=>this.signInCallback(authResult)) } + +signInCallback(authResult){ + if (authResult['code']) { + this.authService.login({ticket:authResult['code'],service:"google"}).subscribe( + res => this.onLogInSuccess(res), + error => this.onLogInError(error) + ) + } +} + +public onLogInSuccess(logoutMessage: any) { + this.route.queryParams.subscribe((params: Params) => { + let redirectUrl = params['returnUrl'] ? params['returnUrl'] : '/'; + this.router.navigate([redirectUrl]); + }) +} + +public onLogInError(errorMessage: string) { + console.log(errorMessage); + this.snackBar.openFromComponent(SnackBarNotificationComponent, { + data: { message: 'GENERAL.SNACK-BAR.UNSUCCESSFUL-LOGIN', language: this.language }, + duration: 3000, + extraClasses: ['snackbar-warning'] + }) +} +} \ No newline at end of file diff --git a/dmp-frontend/src/app/services/interceptor.ts b/dmp-frontend/src/app/services/interceptor.ts deleted file mode 100644 index 958ac0f09..000000000 --- a/dmp-frontend/src/app/services/interceptor.ts +++ /dev/null @@ -1,31 +0,0 @@ -import {Injectable} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpErrorResponse} from '@angular/common/http'; -import {Router} from '@angular/router'; - -@Injectable() -export class GlobalInterceptor implements HttpInterceptor { - - constructor( private router : Router) {} - - intercept(req: HttpRequest, next: HttpHandler): Observable> { - - return next.handle(req).do((event: HttpEvent) => { - /* - if (event instanceof HttpResponse) { - console.log("response ok"); - } - */ - }, (err: any) => { - if (err instanceof HttpErrorResponse) { - if (err.status === 401) { - console.log("Received an unauthorized... redirecting to login page"); - this.router.navigate(['/login'], { queryParams: { /*returnUrl: this.state.url*/ }}); - } - } - }); - - - //return next.handle(req); - } -} \ No newline at end of file diff --git a/dmp-frontend/src/app/services/rest-base.ts b/dmp-frontend/src/app/services/rest-base.ts index d95e7dcbd..811a68d09 100644 --- a/dmp-frontend/src/app/services/rest-base.ts +++ b/dmp-frontend/src/app/services/rest-base.ts @@ -11,7 +11,6 @@ export class RestBase { static get parameters() { return [HttpClient] } constructor(public http : HttpClient) { - this.xml2jsonOBJ = new X2JS(); } diff --git a/dmp-frontend/src/app/services/server.service.ts b/dmp-frontend/src/app/services/server.service.ts index 94778be4c..f9bc738ab 100644 --- a/dmp-frontend/src/app/services/server.service.ts +++ b/dmp-frontend/src/app/services/server.service.ts @@ -11,10 +11,8 @@ declare var X2JS: any; @Injectable() export class ServerService { - xml2jsonOBJ: any; constructor(private restBase: RestBase) { - this.xml2jsonOBJ = new X2JS(); } diff --git a/dmp-frontend/src/app/tabs/tabs.component.ts b/dmp-frontend/src/app/tabs/tabs.component.ts index 0351f59ee..e428435d7 100644 --- a/dmp-frontend/src/app/tabs/tabs.component.ts +++ b/dmp-frontend/src/app/tabs/tabs.component.ts @@ -12,7 +12,6 @@ import { Component } from '@angular/core'; - ` }) export class TabComponent {