From: <de...@us...> - 2012-07-12 21:01:29
|
Revision: 7485 http://fudaa.svn.sourceforge.net/fudaa/?rev=7485&view=rev Author: deniger Date: 2012-07-12 21:01:23 +0000 (Thu, 12 Jul 2012) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionPrevalidateModifyRelationSection.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRelationSection.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRename.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutCasierProcess.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutNoeudProcess.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutRelationSectionProcess.java Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionPrevalidateModifyRelationSection.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionPrevalidateModifyRelationSection.java 2012-07-12 20:24:17 UTC (rev 7484) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionPrevalidateModifyRelationSection.java 2012-07-12 21:01:23 UTC (rev 7485) @@ -4,14 +4,11 @@ */ package org.fudaa.dodico.crue.edition; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeSet; +import java.util.*; +import org.apache.commons.collections.map.MultiKeyMap; import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.CtuluLog; +import org.fudaa.ctulu.CtuluLogLevel; import org.fudaa.ctulu.CtuluLogRecord; import org.fudaa.dodico.crue.common.BusinessMessages; import org.fudaa.dodico.crue.common.Pair; @@ -73,6 +70,20 @@ return wrongBranche; } + protected CtuluLog removeDuplicateLines(ValidationMessage<ListRelationSectionContent> res) { + CtuluLog withoutDuplicate = new CtuluLog(BusinessMessages.RESOURCE_BUNDLE); + List<CtuluLogRecord> records = res.log.getRecords(); + MultiKeyMap map = new MultiKeyMap(); + for (CtuluLogRecord record : records) { + String args = StringUtils.join(record.getArgs()); + if (!map.containsKey(record.getMsg(), args)) { + withoutDuplicate.addRecord(record); + map.put(record.getMsg(), args, record); + } + } + return withoutDuplicate; + } + private class BadXpContainer { List<String> branchesDistanceNullButXpIsNot = new ArrayList<String>(); @@ -231,14 +242,13 @@ if (badXp.branchesDistanceNullButXpIsNot.contains(brancheNom)) { msgs.add(log.addSevereError("ChangeEMH.XpIsNotNullForBrancheWithNullDistance", brancheNom)); } - if(badXp.branchesDistanceNotNullAndAmontNotZero.contains(brancheNom)){ + if (badXp.branchesDistanceNotNullAndAmontNotZero.contains(brancheNom)) { msgs.add(log.addSevereError("ChangeEMH.NoZeroXpForBranche", brancheNom)); } //on ne doit modifier que le nombre de section existante. if (branche != null && brancheWithWrongNumberOfRelation.contains(brancheNom)) { msgs.add(log.addSevereError("ChangeEMH.NewRelationEMHCountError", brancheNom, branche.getSections().size(), sectionByBrancheName.get(brancheNom).size())); } - } if (!msgs.isEmpty()) { res.accepted = false; @@ -252,6 +262,7 @@ } } + res.log = removeDuplicateLines(res); return res; } Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRelationSection.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRelationSection.java 2012-07-12 20:24:17 UTC (rev 7484) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRelationSection.java 2012-07-12 21:01:23 UTC (rev 7485) @@ -43,7 +43,7 @@ Map<String, CatEMHSection> sectionsByNom = TransformerHelper.toMapOfNom(emhSousModele.getSections()); updateSections(contents, sectionsByNom); //on met a jour les relation - Map<String, EMHBrancheSaintVenant> branchesByNom = TransformerHelper.toMapOfNom(emhSousModele.getBranchesSaintVenant()); + Map<String, CatEMHBranche> branchesByNom = TransformerHelper.toMapOfNom(emhSousModele.getBranches()); Map<String, List<ListRelationSectionContent>> newContentByBrancheName = EditionPrevalidateModifyRelationSection.getNewContentByBrancheName(contents); List<EnumBrancheType> brancheTypeWithDistanceNotNull = DelegateValidatorBranche.getBrancheTypeWithDistanceNotNull(); for (Map.Entry<String, List<ListRelationSectionContent>> entry : newContentByBrancheName.entrySet()) { Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRename.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRename.java 2012-07-12 20:24:17 UTC (rev 7484) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/edition/EditionRename.java 2012-07-12 21:01:23 UTC (rev 7485) @@ -1,7 +1,9 @@ package org.fudaa.dodico.crue.edition; +import java.util.Collection; import java.util.List; import java.util.Set; +import org.apache.commons.lang.StringUtils; import org.fudaa.dodico.crue.common.BusinessMessages; import org.fudaa.dodico.crue.metier.emh.*; import org.fudaa.dodico.crue.metier.factory.CruePrefix; @@ -14,7 +16,7 @@ * @author deniger ( genesis) */ public class EditionRename { - + public String rename(EMH emh, String newName) { String error = isNameValid(emh, newName); if (error != null) { @@ -24,11 +26,15 @@ if (emh.getCatType().equals(EnumCatEMH.NOEUD)) { CatEMHNoeud nd = (CatEMHNoeud) emh; if (nd.getCasier() != null) { - nd.getCasier().setNom(CruePrefix.changePrefix(newName, EnumCatEMH.CASIER)); + final String newCasierName = CruePrefix.changePrefix(newName, EnumCatEMH.CASIER); + nd.getCasier().setNom(newCasierName); + propagateCasierRenamed(nd.getCasier(), newCasierName); } } else if (emh.getCatType().equals(EnumCatEMH.CASIER)) { CatEMHCasier casier = (CatEMHCasier) emh; casier.getNoeud().setNom(CruePrefix.changePrefix(newName, EnumCatEMH.NOEUD)); + propagateCasierRenamed(casier, newName); + } else if (emh.getCatType().equals(EnumCatEMH.SECTION)) { CatEMHSection section = (CatEMHSection) emh; if (section.getSectionType().equals(EnumSectionType.EMHSectionProfil)) { @@ -37,10 +43,25 @@ profilSection.setNom(CruePrefix.changePrefix(newName, CruePrefix.P_SECTION, CruePrefix.P_PROFIL_SECTION)); } } - + return null; } + protected void propagateCasierRenamed(CatEMHCasier casier, String newCasierName) { + Collection<DonPrtGeoProfilCasier> profilsCasier = EMHHelper.selectClass(casier.getInfosEMH(), DonPrtGeoProfilCasier.class); + if (profilsCasier != null) { + for (DonPrtGeoProfilCasier profilCasier : profilsCasier) { + String suffix = StringUtils.substringAfterLast(profilCasier.getNom(), "_"); + profilCasier.setNom(CruePrefix.changePrefix(newCasierName, CruePrefix.P_CASIER, CruePrefix.P_PROFIL_CASIER) + "_" + suffix); + + } + } + DonPrtGeoBatiCasier batiCasier = EMHHelper.selectFirstOfClass(casier.getInfosEMH(), DonPrtGeoBatiCasier.class); + if (batiCasier != null) { + batiCasier.setNom(CruePrefix.changePrefix(newCasierName, CruePrefix.P_CASIER, CruePrefix.P_BATI_CASIER)); + } + } + /** * * @param emh Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutCasierProcess.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutCasierProcess.java 2012-07-12 20:24:17 UTC (rev 7484) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutCasierProcess.java 2012-07-12 21:01:23 UTC (rev 7485) @@ -115,8 +115,8 @@ return createCasiersMessages.log; } - protected Map<ListCasierContent, ListCasierContentAddNode> getContentList(Node[] newCasiers) { - Map<ListCasierContent, ListCasierContentAddNode> contents = new LinkedHashMap<ListCasierContent, ListCasierContentAddNode>(); + protected LinkedHashMap<ListCasierContent, ListCasierContentAddNode> getContentList(Node[] newCasiers) { + LinkedHashMap<ListCasierContent, ListCasierContentAddNode> contents = new LinkedHashMap<ListCasierContent, ListCasierContentAddNode>(); for (Node node : newCasiers) { ListCasierContent content = node.getLookup().lookup(ListCasierContent.class); if (content != null) { Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutNoeudProcess.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutNoeudProcess.java 2012-07-12 20:24:17 UTC (rev 7484) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutNoeudProcess.java 2012-07-12 21:01:23 UTC (rev 7485) @@ -79,8 +79,8 @@ return log; } - protected Map<ListNoeudContent, ListNoeudContentAddNode> getContentList(Node[] newNoeuds) { - Map<ListNoeudContent, ListNoeudContentAddNode> contents = new LinkedHashMap<ListNoeudContent, ListNoeudContentAddNode>(); + protected LinkedHashMap<ListNoeudContent, ListNoeudContentAddNode> getContentList(Node[] newNoeuds) { + LinkedHashMap<ListNoeudContent, ListNoeudContentAddNode> contents = new LinkedHashMap<ListNoeudContent, ListNoeudContentAddNode>(); for (Node node : newNoeuds) { ListNoeudContent content = node.getLookup().lookup(ListNoeudContent.class); if (content != null) { Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutRelationSectionProcess.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutRelationSectionProcess.java 2012-07-12 20:24:17 UTC (rev 7484) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/edition/ListAjoutRelationSectionProcess.java 2012-07-12 21:01:23 UTC (rev 7485) @@ -3,12 +3,7 @@ import com.Ostermiller.util.CSVParser; import java.awt.Toolkit; import java.awt.datatransfer.DataFlavor; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.CtuluLog; import org.fudaa.dodico.crue.common.CollectionCrueUtil; @@ -134,8 +129,8 @@ return createSectionsMessages.log; } - protected Map<ListRelationSectionContent, ListRelationSectionContentAddNode> getContentList(Node[] newNoeuds) { - Map<ListRelationSectionContent, ListRelationSectionContentAddNode> contents = new HashMap<ListRelationSectionContent, ListRelationSectionContentAddNode>(); + protected LinkedHashMap<ListRelationSectionContent, ListRelationSectionContentAddNode> getContentList(Node[] newNoeuds) { + LinkedHashMap<ListRelationSectionContent, ListRelationSectionContentAddNode> contents = new LinkedHashMap<ListRelationSectionContent, ListRelationSectionContentAddNode>(); for (Node node : newNoeuds) { ListRelationSectionContent content = node.getLookup().lookup(ListRelationSectionContent.class); if (content != null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |