diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataRepositoryCriteria.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataRepositoryCriteria.java index f66eb8b3e..ecd577308 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataRepositoryCriteria.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataRepositoryCriteria.java @@ -2,6 +2,16 @@ package eu.eudat.data.dao.criteria; import eu.eudat.data.entities.DataRepository; +import java.util.UUID; + public class DataRepositoryCriteria extends Criteria { + private UUID creationUserId; + + public UUID getCreationUserId() { + return creationUserId; + } + public void setCreationUserId(UUID creationUserId) { + this.creationUserId = creationUserId; + } } diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/RegistryCriteria.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/RegistryCriteria.java index 44b890887..186f5e281 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/RegistryCriteria.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/RegistryCriteria.java @@ -2,6 +2,16 @@ package eu.eudat.data.dao.criteria; import eu.eudat.data.entities.Registry; +import java.util.UUID; + public class RegistryCriteria extends Criteria { + private UUID creationUserId; + + public UUID getCreationUserId() { + return creationUserId; + } + public void setCreationUserId(UUID creationUserId) { + this.creationUserId = creationUserId; + } } diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/ServiceCriteria.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/ServiceCriteria.java index d7aeccac4..715511fb3 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/ServiceCriteria.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/ServiceCriteria.java @@ -2,6 +2,16 @@ package eu.eudat.data.dao.criteria; import eu.eudat.data.entities.Service; +import java.util.UUID; + public class ServiceCriteria extends Criteria { + private UUID creationUserId; + + public UUID getCreationUserId() { + return creationUserId; + } + public void setCreationUserId(UUID creationUserId) { + this.creationUserId = creationUserId; + } } diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DataRepositoryDaoImpl.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DataRepositoryDaoImpl.java index c74a997d6..505cf40d6 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DataRepositoryDaoImpl.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DataRepositoryDaoImpl.java @@ -24,7 +24,11 @@ public class DataRepositoryDaoImpl extends DatabaseAccess implem public QueryableList getWithCriteria(DataRepositoryCriteria criteria) { QueryableList query = this.getDatabaseService().getQueryable(DataRepository.class); if (criteria.getLike() != null) - query.where((builder, root) -> builder.equal(root.get("reference"), criteria.getLike())); + query.where((builder, root) -> builder.or( + builder.like(builder.upper(root.get("reference")), "%" + criteria.getLike().toUpperCase() + "%"), + builder.equal(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%"))); + if (criteria.getCreationUserId() != null) + query.where((builder, root) -> builder.equal(root.get("creationUser").get("id"), criteria.getCreationUserId())); return query; } diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/RegistryDaoImpl.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/RegistryDaoImpl.java index c7ed94b75..679f1ef4a 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/RegistryDaoImpl.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/RegistryDaoImpl.java @@ -24,7 +24,12 @@ public class RegistryDaoImpl extends DatabaseAccess implements Registr public QueryableList getWithCriteria(RegistryCriteria criteria) { QueryableList query = this.getDatabaseService().getQueryable(Registry.class); if (criteria.getLike() != null) - query.where((builder, root) -> builder.equal(root.get("reference"), criteria.getLike())); + if (criteria.getLike() != null) + query.where((builder, root) -> builder.or( + builder.like(builder.upper(root.get("reference")), "%" + criteria.getLike().toUpperCase() + "%"), + builder.equal(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%"))); + if (criteria.getCreationUserId() != null) + query.where((builder, root) -> builder.equal(root.get("creationUser").get("id"), criteria.getCreationUserId())); return query; } diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/ServiceDaoImpl.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/ServiceDaoImpl.java index 00406ab91..78ce36944 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/ServiceDaoImpl.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/ServiceDaoImpl.java @@ -24,7 +24,11 @@ public class ServiceDaoImpl extends DatabaseAccess implements ServiceDa public QueryableList getWithCriteria(ServiceCriteria criteria) { QueryableList query = this.getDatabaseService().getQueryable(Service.class); if (criteria.getLike() != null) - query.where((builder, root) -> builder.equal(root.get("reference"), criteria.getLike())); + query.where((builder, root) -> builder.or( + builder.like(builder.upper(root.get("reference")), "%" + criteria.getLike().toUpperCase() + "%"), + builder.equal(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%"))); + if (criteria.getCreationUserId() != null) + query.where((builder, root) -> builder.equal(root.get("creationUser").get("id"), criteria.getCreationUserId())); return query; } diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/DataRepositories.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/DataRepositories.java index 783d26a83..cd9589615 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/DataRepositories.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/DataRepositories.java @@ -2,12 +2,10 @@ package eu.eudat.controllers; import eu.eudat.data.entities.DataRepository; import eu.eudat.logic.managers.DataRepositoryManager; -import eu.eudat.logic.managers.ResearcherManager; import eu.eudat.logic.proxy.config.exceptions.HugeResultSet; import eu.eudat.logic.proxy.config.exceptions.NoURLFound; import eu.eudat.logic.services.ApiContext; import eu.eudat.models.data.datarepository.DataRepositoryModel; -import eu.eudat.models.data.dmp.Researcher; import eu.eudat.models.data.helpers.responses.ResponseItem; import eu.eudat.models.data.security.Principal; import eu.eudat.types.ApiMessageCode; @@ -18,7 +16,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Map; @RestController @@ -36,11 +33,11 @@ public class DataRepositories extends BaseController { @RequestMapping(method = RequestMethod.GET, produces = "application/json") public @ResponseBody - ResponseEntity>>> listExternalDataRepositories( - @RequestParam(value = "query", required = false) String query, @RequestParam(value = "type", required = false) String type + ResponseEntity>> listExternalDataRepositories( + @RequestParam(value = "query", required = false) String query, @RequestParam(value = "type", required = false) String type, Principal principal ) throws HugeResultSet, NoURLFound { - List> remoteRepos = this.getApiContext().getOperationsContext().getRemoteFetcher().getRepositories(query, type); - return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>>().status(ApiMessageCode.NO_MESSAGE).payload(remoteRepos)); + List dataRepositoryModels = this.dataRepositoryManager.getDataRepositories(query, type, principal); + return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().status(ApiMessageCode.NO_MESSAGE).payload(dataRepositoryModels)); } @Transactional diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/Registries.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/Registries.java index ead80898b..6289d4f0f 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/Registries.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/Registries.java @@ -9,7 +9,6 @@ import eu.eudat.models.data.helpers.responses.ResponseItem; import eu.eudat.models.data.registries.RegistryModel; import eu.eudat.models.data.security.Principal; import eu.eudat.types.ApiMessageCode; -import org.apache.regexp.RE; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -17,7 +16,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Map; @RestController @@ -35,10 +33,10 @@ public class Registries extends BaseController { @RequestMapping(method = RequestMethod.GET, value = {"/external/registries"}, produces = "application/json") public @ResponseBody - ResponseEntity>>> listExternalRegistries(@RequestParam(value = "query", required = false) String query - , @RequestParam(value = "type", required = false) String type) throws HugeResultSet, NoURLFound { - List> remoteRepos = this.getApiContext().getOperationsContext().getRemoteFetcher().getRegistries(query, type); - return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>>().payload(remoteRepos).status(ApiMessageCode.NO_MESSAGE)); + ResponseEntity>> listExternalRegistries(@RequestParam(value = "query", required = false) String query + , @RequestParam(value = "type", required = false) String type, Principal principal) throws HugeResultSet, NoURLFound { + List registryModels = this.registryManager.getRegistries(query, type, principal); + return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().payload(registryModels).status(ApiMessageCode.NO_MESSAGE)); } @Transactional diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/Services.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/Services.java index 2a40b6f37..02bfd279e 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/Services.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/Services.java @@ -16,7 +16,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Map; @RestController @@ -34,11 +33,11 @@ public class Services extends BaseController { @RequestMapping(method = RequestMethod.GET, value = {"/external/services"}, produces = "application/json") public @ResponseBody - ResponseEntity>>> listExternalServices( - @RequestParam(value = "query", required = false) String query, @RequestParam(value = "type", required = false) String type + ResponseEntity>> listExternalServices( + @RequestParam(value = "query", required = false) String query, @RequestParam(value = "type", required = false) String type, Principal principal ) throws HugeResultSet, NoURLFound { - List> remoteRepos = this.getApiContext().getOperationsContext().getRemoteFetcher().getServices(query, type); - return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>>().payload(remoteRepos).status(ApiMessageCode.NO_MESSAGE)); + List serviceModels = this.serviceManager.getServices(query, type, principal); + return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().payload(serviceModels).status(ApiMessageCode.NO_MESSAGE)); } @Transactional diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataRepositoryManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataRepositoryManager.java index dc8a7b0f8..852d12a63 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataRepositoryManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataRepositoryManager.java @@ -1,11 +1,21 @@ package eu.eudat.logic.managers; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import eu.eudat.data.dao.criteria.DataRepositoryCriteria; import eu.eudat.data.entities.DataRepository; +import eu.eudat.logic.proxy.config.exceptions.HugeResultSet; +import eu.eudat.logic.proxy.config.exceptions.NoURLFound; import eu.eudat.logic.services.ApiContext; +import eu.eudat.models.data.datarepository.DataRepositoryModel; import eu.eudat.models.data.security.Principal; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * Created by ikalyvas on 9/3/2018. */ @@ -23,4 +33,19 @@ public class DataRepositoryManager { dataRepository.getCreationUser().setId(principal.getId()); return apiContext.getOperationsContext().getDatabaseRepository().getDataRepositoryDao().createOrUpdate(dataRepository); } + + public List getDataRepositories(String query, String type, Principal principal) throws HugeResultSet, NoURLFound { + List> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getRepositories(query, type); + + DataRepositoryCriteria criteria = new DataRepositoryCriteria(); + if (!query.isEmpty()) criteria.setLike(query); + criteria.setCreationUserId(principal.getId()); + List dataRepositoryList = (this.apiContext.getOperationsContext().getDatabaseRepository().getDataRepositoryDao().getWithCriteria(criteria)).toList(); + + List dataRepositoryModels = dataRepositoryList.stream().map(item -> new DataRepositoryModel().fromDataModel(item)).collect(Collectors.toList()); + ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + dataRepositoryModels.addAll(remoteRepos.stream().map(item -> mapper.convertValue(item, DataRepositoryModel.class)).collect(Collectors.toList())); + + return dataRepositoryModels; + } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java index ab7ff1f5e..f7eb51898 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java @@ -338,10 +338,11 @@ public class DatasetManager { UserInfo userInfo = apiContext.getOperationsContext().getBuilderFactory().getBuilder(UserInfoBuilder.class).id(principal.getId()).build(); dataset.setCreator(userInfo); - createRegistriesIfTheyDontExist(apiContext.getOperationsContext().getDatabaseRepository().getRegistryDao(), dataset); createDataRepositoriesIfTheyDontExist(apiContext.getOperationsContext().getDatabaseRepository().getDataRepositoryDao(), dataset); - createServicesIfTheyDontExist(dataset); createExternalDatasetsIfTheyDontExist(dataset); + createRegistriesIfTheyDontExist(apiContext.getOperationsContext().getDatabaseRepository().getRegistryDao(), dataset); + createServicesIfTheyDontExist(dataset); + Dataset dataset1 = apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().createOrUpdate(dataset); datasetWizardModel.setId(dataset1.getId()); updateTags(apiContext.getOperationsContext().getDatasetRepository(), datasetWizardModel); @@ -415,6 +416,7 @@ public class DatasetManager { datasetDataRepository.setDataset(dataset); dataset.getDatasetDataRepositories().add(datasetDataRepository); } else { + datasetDataRepository.getDataRepository().setId(UUID.randomUUID()); DataRepository dataRepository = dataRepositoryDao.createOrUpdate(datasetDataRepository.getDataRepository()); datasetDataRepository.setDataset(dataset); datasetDataRepository.setDataRepository(dataRepository); diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/RegistryManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/RegistryManager.java index e31d08813..5fe697bbc 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/RegistryManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/RegistryManager.java @@ -1,12 +1,21 @@ package eu.eudat.logic.managers; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import eu.eudat.data.dao.criteria.RegistryCriteria; import eu.eudat.data.entities.Registry; +import eu.eudat.logic.proxy.config.exceptions.HugeResultSet; +import eu.eudat.logic.proxy.config.exceptions.NoURLFound; import eu.eudat.logic.services.ApiContext; import eu.eudat.models.data.registries.RegistryModel; import eu.eudat.models.data.security.Principal; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + @Component public class RegistryManager { @@ -22,4 +31,19 @@ public class RegistryManager { registry.getCreationUser().setId(principal.getId()); return apiContext.getOperationsContext().getDatabaseRepository().getRegistryDao().createOrUpdate(registry); } + + public List getRegistries(String query, String type, Principal principal) throws HugeResultSet, NoURLFound { + List> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getRegistries(query, type); + + RegistryCriteria criteria = new RegistryCriteria(); + if (!query.isEmpty()) criteria.setLike(query); + criteria.setCreationUserId(principal.getId()); + List registryList = (this.apiContext.getOperationsContext().getDatabaseRepository().getRegistryDao().getWithCriteria(criteria)).toList(); + + List registryModels = registryList.stream().map(item -> new RegistryModel().fromDataModel(item)).collect(Collectors.toList()); + ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + registryModels.addAll(remoteRepos.stream().map(item -> mapper.convertValue(item, RegistryModel.class)).collect(Collectors.toList())); + + return registryModels; + } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/ServiceManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/ServiceManager.java index e86b45b74..503bfb007 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/ServiceManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/ServiceManager.java @@ -1,12 +1,21 @@ package eu.eudat.logic.managers; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import eu.eudat.data.dao.criteria.ServiceCriteria; import eu.eudat.data.entities.Service; +import eu.eudat.logic.proxy.config.exceptions.HugeResultSet; +import eu.eudat.logic.proxy.config.exceptions.NoURLFound; import eu.eudat.logic.services.ApiContext; import eu.eudat.models.data.security.Principal; import eu.eudat.models.data.services.ServiceModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * Created by ikalyvas on 9/3/2018. */ @@ -25,4 +34,19 @@ public class ServiceManager { service.getCreationUser().setId(principal.getId()); return apiContext.getOperationsContext().getDatabaseRepository().getServiceDao().createOrUpdate(service); } + + public List getServices(String query, String type, Principal principal) throws HugeResultSet, NoURLFound { + List> remoteRepos = this.apiContext.getOperationsContext().getRemoteFetcher().getServices(query, type); + + ServiceCriteria criteria = new ServiceCriteria(); + if (!query.isEmpty()) criteria.setLike(query); + criteria.setCreationUserId(principal.getId()); + List serviceList = (this.apiContext.getOperationsContext().getDatabaseRepository().getServiceDao().getWithCriteria(criteria)).toList(); + + List serviceModels = serviceList.stream().map(item -> new ServiceModel().fromDataModel(item)).collect(Collectors.toList()); + ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + serviceModels.addAll(remoteRepos.stream().map(item -> mapper.convertValue(item, ServiceModel.class)).collect(Collectors.toList())); + + return serviceModels; + } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/datarepository/DataRepositoryModel.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/datarepository/DataRepositoryModel.java index dee16ecbd..a9167421b 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/datarepository/DataRepositoryModel.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/datarepository/DataRepositoryModel.java @@ -1,5 +1,6 @@ package eu.eudat.models.data.datarepository; +import com.fasterxml.jackson.annotation.JsonProperty; import eu.eudat.data.entities.DataRepository; import eu.eudat.data.entities.UserInfo; import eu.eudat.models.DataModel; @@ -11,12 +12,14 @@ import java.util.UUID; * Created by ikalyvas on 9/3/2018. */ public class DataRepositoryModel implements DataModel { - public UUID id; - public String label; - public String abbreviation; - public String uri; - public Date created; - public Date modified; + private UUID id; + @JsonProperty("name") + private String label; + private String abbreviation; + private String uri; + private Date created; + private Date modified; + private String tag; public UUID getId() { return id; @@ -60,12 +63,20 @@ public class DataRepositoryModel implements DataModel { - public UUID id; - public String label; - public String abbreviation; - public String uri; - public Date created; - public Date modified; + private UUID id; + private String label; + private String abbreviation; + private String uri; + private Date created; + private Date modified; + private String tag; public UUID getId() { return id; @@ -60,6 +62,13 @@ public class RegistryModel implements DataModel { this.modified = modified; } + public String getTag() { + return tag; + } + public void setTag(String tag) { + this.tag = tag; + } + @Override public RegistryModel fromDataModel(Registry entity) { this.id = entity.getId(); @@ -68,6 +77,7 @@ public class RegistryModel implements DataModel { this.label = entity.getLabel(); this.modified = entity.getModified(); this.uri = entity.getUri(); + this.tag = "Internal"; return this; } diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/services/ServiceModel.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/services/ServiceModel.java index 66e913202..9d08f402d 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/services/ServiceModel.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/services/ServiceModel.java @@ -11,17 +11,17 @@ import java.util.UUID; * Created by ikalyvas on 9/3/2018. */ public class ServiceModel implements DataModel { - public UUID id; - public String label; - public String abbreviation; - public String uri; - public Date created; - public Date modified; + private UUID id; + private String label; + private String abbreviation; + private String uri; + private Date created; + private Date modified; + private String tag; public UUID getId() { return id; } - public void setId(UUID id) { this.id = id; } @@ -29,7 +29,6 @@ public class ServiceModel implements DataModel { public String getLabel() { return label; } - public void setLabel(String label) { this.label = label; } @@ -37,7 +36,6 @@ public class ServiceModel implements DataModel { public String getAbbreviation() { return abbreviation; } - public void setAbbreviation(String abbreviation) { this.abbreviation = abbreviation; } @@ -45,7 +43,6 @@ public class ServiceModel implements DataModel { public String getUri() { return uri; } - public void setUri(String uri) { this.uri = uri; } @@ -53,7 +50,6 @@ public class ServiceModel implements DataModel { public Date getCreated() { return created; } - public void setCreated(Date created) { this.created = created; } @@ -61,11 +57,17 @@ public class ServiceModel implements DataModel { public Date getModified() { return modified; } - public void setModified(Date modified) { this.modified = modified; } + public String getTag() { + return tag; + } + public void setTag(String tag) { + this.tag = tag; + } + @Override public ServiceModel fromDataModel(Service entity) { this.abbreviation = entity.getAbbreviation(); @@ -74,6 +76,7 @@ public class ServiceModel implements DataModel { this.label = entity.getLabel(); this.modified = entity.getModified(); this.uri = entity.getUri(); + this.tag = "Internal"; return this; }