Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 1e9ef62e by Tony CHEMIT at 2018-05-03T14:06:42Z Gestion des requins-baleine lors de la migration V7 et dans le fonctionnement régulier de la V7 (Close #941) - Add FOB Observed system on activty as soon as a FOB is saved - - - - - 1 changed file: - services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java Changes: ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java ===================================== --- a/services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java +++ b/services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/FloatingObjectServiceLocal.java @@ -10,12 +10,12 @@ package fr.ird.observe.services.local.service.data.seine; * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. @@ -28,7 +28,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import fr.ird.observe.binder.referential.ReferentialEntityDtoBinderSupport; -import fr.ird.observe.dto.referential.ReferentialLocale; +import fr.ird.observe.dto.DataNotFoundException; import fr.ird.observe.dto.data.seine.FloatingObjectDto; import fr.ird.observe.dto.data.seine.FloatingObjectPartDto; import fr.ird.observe.dto.data.seine.FloatingObjectPartReference; @@ -36,18 +36,22 @@ import fr.ird.observe.dto.data.seine.FloatingObjectReference; import fr.ird.observe.dto.data.seine.ObjectMaterialHierarchyDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.DataDtoReferenceSet; +import fr.ird.observe.dto.referential.ReferentialLocale; import fr.ird.observe.dto.referential.seine.ObjectMaterialDto; import fr.ird.observe.dto.result.SaveResultDto; -import fr.ird.observe.dto.DataNotFoundException; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.seine.ObjectMaterial; import fr.ird.observe.entities.referentiel.seine.ObjectMaterialTopiaDao; +import fr.ird.observe.entities.referentiel.seine.ObservedSystem; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.FloatingObjectPart; import fr.ird.observe.entities.seine.FloatingObjectPartTopiaDao; import fr.ird.observe.services.local.service.ObserveServiceLocal; import fr.ird.observe.services.service.data.seine.FloatingObjectService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + import java.util.Collection; import java.util.Comparator; import java.util.LinkedHashSet; @@ -57,8 +61,6 @@ import java.util.Optional; import java.util.Set; import java.util.TreeSet; import java.util.stream.Collectors; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; /** * @author Tony Chemit - dev@tchemit.fr @@ -66,6 +68,10 @@ import org.apache.commons.logging.LogFactory; public class FloatingObjectServiceLocal extends ObserveServiceLocal implements FloatingObjectService { private static final Log log = LogFactory.getLog(FloatingObjectServiceLocal.class); + //FIXME Make this configurable + private static final String FOB_OBSERVED_SYSTEM = "fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.2"; + //FIXME Make this configurable + private static final Set<String> FOB_OBSERVED_SYSTEM_EXCLUDE_OPERATIONS = ImmutableSet.of("fr.ird.observe.entities.referentiel.seine.ObjectOperation#0#10", "fr.ird.observe.entities.referentiel.seine.ObjectOperation#0#1"); @Override public List<ObjectMaterialHierarchyDto> getObjectMaterialHierarchy() { @@ -184,6 +190,15 @@ public class FloatingObjectServiceLocal extends ObserveServiceLocal implements F activitySeine.addFloatingObject(entity); } + boolean addFobObservedSystem = !FOB_OBSERVED_SYSTEM_EXCLUDE_OPERATIONS.contains(dto.getObjectOperation().getId()) + && !activitySeine.getObservedSystemTopiaIds().contains(FOB_OBSERVED_SYSTEM); + + if (addFobObservedSystem) { + log.info("Add FOB Observed System to activity: " + activitySeineId); + ObservedSystem observedSystem = getTopiaPersistenceContext().getObservedSystemDao().forTopiaIdEquals(FOB_OBSERVED_SYSTEM).findUnique(); + activitySeine.addObservedSystem(observedSystem); + } + return result; } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1e9ef62ea127f671b814196e99f8... --- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1e9ef62ea127f671b814196e99f8... You're receiving this email because of your account on gitlab.com.