package com.bitmonlab.osiris.api.core.map.managers.impl; import javax.inject.Inject; import javax.inject.Named; import com.bitmonlab.osiris.api.core.map.dao.api.FeatureRepository; import com.bitmonlab.osiris.api.core.map.exceptions.FeatureNotExistException; import com.bitmonlab.osiris.api.core.map.exceptions.MongoGeospatialException; import com.bitmonlab.osiris.api.core.map.managers.api.FeatureManager; import com.bitmonlab.osiris.api.core.map.validations.ValidatorExistFeature; import com.bitmonlab.osiris.commons.map.model.geojson.Feature; @Named public class FeatureManagerImpl implements FeatureManager{ @Inject private FeatureRepository featureRepository; @Inject private ValidatorExistFeature validatorExistFeature; @Override public Feature storeFeature(String appId, Feature feature) throws MongoGeospatialException { // TODO Auto-generated method stub return featureRepository.save(appId,feature); } @Override public void deleteFeature(String appIdentifier, String idFeature) throws FeatureNotExistException { // TODO Auto-generated method stub validatorExistFeature.checkFeatureExist(appIdentifier, idFeature); featureRepository.delete(appIdentifier,idFeature); } @Override public Feature updateFeature(String appIdentifier, String idFeature, Feature feature) throws FeatureNotExistException, MongoGeospatialException { // TODO Auto-generated method stub validatorExistFeature.checkFeatureExist(appIdentifier, idFeature); feature.setId(idFeature); return featureRepository.save(appIdentifier,feature); } @Override public Feature getFeatureByID(String appIdentifier, String idFeature) throws FeatureNotExistException { // TODO Auto-generated method stub validatorExistFeature.checkFeatureExist(appIdentifier, idFeature); return featureRepository.findByApplicationIdentifierAndId(appIdentifier, idFeature); } }