/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale 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 Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ /* * Cr�� le 22 juil. 05 * * Pour changer le mod�le de ce fichier g�n�r�, allez � : * Fen�tre>Pr�f�rences>Java>G�n�ration de code>Code et commentaires */ package org.squale.squalecommon.datatransfertobject.transform.component; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import org.squale.squalecommon.datatransfertobject.component.ApplicationConfDTO; import org.squale.squalecommon.datatransfertobject.component.ProjectConfDTO; import org.squale.squalecommon.datatransfertobject.config.ServeurDTO; import org.squale.squalecommon.datatransfertobject.transform.access.UserAccessTransform; import org.squale.squalecommon.datatransfertobject.transform.config.ServeurTransform; import org.squale.squalecommon.enterpriselayer.businessobject.component.ApplicationBO; import org.squale.squalecommon.enterpriselayer.businessobject.component.ProjectBO; import org.squale.squalecommon.enterpriselayer.businessobject.profile.ProfileBO; import org.squale.squalecommon.enterpriselayer.businessobject.profile.UserBO; import org.squale.squalecommon.enterpriselayer.businessobject.config.ServeurBO; /** * @author M400841 Pour changer le mod�le de ce commentaire de type g�n�r�, allez � : * Fen�tre>Pr�f�rences>Java>G�n�ration de code>Code et commentaires */ public class ApplicationConfTransform implements Serializable { /** * ApplicationConfDTO --> ApplicationBO * * @param pApplicationConfDTO ApplicationDTO � transformer * @return ApplicationBO */ public static ApplicationBO dto2Bo( ApplicationConfDTO pApplicationConfDTO ) { // Initialisation du retour ApplicationBO applicationBO = new ApplicationBO(); applicationBO.setAuditFrequency( pApplicationConfDTO.getAuditFrequency() ); applicationBO.setId( pApplicationConfDTO.getId() ); applicationBO.setName( pApplicationConfDTO.getName() ); applicationBO.setResultsStorageOptions( pApplicationConfDTO.getResultsStorageOptions() ); applicationBO.setExternalDev( pApplicationConfDTO.getExternalDev() ); applicationBO.setInProduction( pApplicationConfDTO.getInProduction() ); applicationBO.setQualityApproachOnStart( pApplicationConfDTO.getQualityApproachOnStart() ); applicationBO.setInInitialDev( pApplicationConfDTO.getInInitialDev() ); applicationBO.setGlobalCost( pApplicationConfDTO.getGlobalCost() ); applicationBO.setDevCost( pApplicationConfDTO.getDevCost() ); if ( pApplicationConfDTO.getServeurDTO() != null ) { applicationBO.setServeurBO( (ServeurBO) ServeurTransform.dto2bo( pApplicationConfDTO.getServeurDTO() ) ); } return applicationBO; } /** * ApplicationBO -> ApplicationConfDTO * * @param pApplicationBO ApplicationBO * @param pUserBOs collection de UserBOs * @return ApplicationConfDTO */ public static ApplicationConfDTO bo2Dto( ApplicationBO pApplicationBO, Collection pUserBOs ) { // Initialisation Collection Projects = new ArrayList(); // collection de sous-projets HashMap users = new HashMap(); // map de Users // Initialisation du retour ApplicationConfDTO applicationConfDTO = new ApplicationConfDTO(); applicationConfDTO.setAuditFrequency( pApplicationBO.getAuditFrequency() ); applicationConfDTO.setId( pApplicationBO.getId() ); applicationConfDTO.setLastUpdate( pApplicationBO.getLastUpdate() ); applicationConfDTO.setLastUser( pApplicationBO.getLastUser() ); applicationConfDTO.setName( pApplicationBO.getName() ); applicationConfDTO.setResultsStorageOptions( pApplicationBO.getResultsStorageOptions() ); applicationConfDTO.setStatus( pApplicationBO.getStatus() ); applicationConfDTO.setPublic( pApplicationBO.getPublic() ); applicationConfDTO.setExternalDev( pApplicationBO.getExternalDev() ); applicationConfDTO.setInProduction( pApplicationBO.getInProduction() ); applicationConfDTO.setInInitialDev( pApplicationBO.getInInitialDev() ); applicationConfDTO.setQualityApproachOnStart( pApplicationBO.getQualityApproachOnStart() ); applicationConfDTO.setGlobalCost( pApplicationBO.getGlobalCost() ); applicationConfDTO.setDevCost( pApplicationBO.getDevCost() ); if ( null != pApplicationBO.getUserAccesses() ) { applicationConfDTO.setAccesses( UserAccessTransform.bo2dto( pApplicationBO.getUserAccesses() ) ); } if ( pApplicationBO.getServeurBO() != null ) { applicationConfDTO.setServeurDTO( ServeurTransform.bo2dto( pApplicationBO.getServeurBO() ) ); } // Traitement de la collection de sous-projets if ( null != pApplicationBO.getChildren() ) { Iterator iterator = pApplicationBO.getChildren().iterator(); ProjectConfDTO currentProject = null; while ( iterator.hasNext() ) { ProjectBO bo = (ProjectBO) iterator.next(); // On l'ajoute � la liste des projets seulement si // il n'est pas supprim� if ( bo.getStatus() != ProjectBO.DELETED ) { currentProject = ProjectConfTransform.bo2Dto( bo ); Projects.add( currentProject ); } } } applicationConfDTO.setProjectConf( Projects ); // Traitement des Users if ( pUserBOs != null ) { Iterator userIterator = pUserBOs.iterator(); UserBO currentUser = null; while ( userIterator.hasNext() ) { currentUser = (UserBO) userIterator.next(); users.put( currentUser.getMatricule(), ( (ProfileBO) currentUser.getRights().get( pApplicationBO ) ).getName() ); } } applicationConfDTO.setUsers( users ); return applicationConfDTO; } /** * ApplicationBO -> ApplicationConfDTO * * @param pApplicationBO ApplicationBO * @return ApplicationConfDTO */ public static ApplicationConfDTO bo2Dto( ApplicationBO pApplicationBO ) { // Initialisation Collection Projects = new ArrayList(); // collection de sous-projets // Initialisation du retour ApplicationConfDTO applicationConfDTO = new ApplicationConfDTO(); applicationConfDTO.setAuditFrequency( pApplicationBO.getAuditFrequency() ); applicationConfDTO.setId( pApplicationBO.getId() ); applicationConfDTO.setLastUpdate( pApplicationBO.getLastUpdate() ); applicationConfDTO.setLastUser( pApplicationBO.getLastUser() ); applicationConfDTO.setName( pApplicationBO.getName() ); applicationConfDTO.setResultsStorageOptions( pApplicationBO.getResultsStorageOptions() ); applicationConfDTO.setStatus( pApplicationBO.getStatus() ); applicationConfDTO.setPublic( pApplicationBO.getPublic() ); applicationConfDTO.setExternalDev( pApplicationBO.getExternalDev() ); applicationConfDTO.setInProduction( pApplicationBO.getInProduction() ); applicationConfDTO.setInInitialDev( pApplicationBO.getInInitialDev() ); applicationConfDTO.setQualityApproachOnStart( pApplicationBO.getQualityApproachOnStart() ); applicationConfDTO.setGlobalCost( pApplicationBO.getGlobalCost() ); applicationConfDTO.setDevCost( pApplicationBO.getDevCost() ); if ( pApplicationBO.getServeurBO() != null ) { applicationConfDTO.setServeurDTO( (ServeurDTO) ServeurTransform.bo2dto( pApplicationBO.getServeurBO() ) ); } if ( null != pApplicationBO.getUserAccesses() ) { applicationConfDTO.setAccesses( UserAccessTransform.bo2dto( pApplicationBO.getUserAccesses() ) ); } // Traitement de la collection de sous-projets if ( null != pApplicationBO.getChildren() ) { Iterator iterator = pApplicationBO.getChildren().iterator(); ProjectConfDTO currentProject = null; while ( iterator.hasNext() ) { currentProject = ProjectConfTransform.bo2Dto( (ProjectBO) iterator.next() ); Projects.add( currentProject ); } } applicationConfDTO.setProjectConf( Projects ); return applicationConfDTO; } /** * Permet de modifier les valeurs souhait�es dans ApplicationDTO sans ecraser les relations * * @param pApplicationConfDTO ApplicationDTO * @param pApplicationBO ApplicationBO */ public static void dto2Bo( ApplicationConfDTO pApplicationConfDTO, ApplicationBO pApplicationBO ) { pApplicationBO.setAuditFrequency( pApplicationConfDTO.getAuditFrequency() ); pApplicationBO.setId( pApplicationConfDTO.getId() ); pApplicationBO.setName( pApplicationConfDTO.getName() ); pApplicationBO.setResultsStorageOptions( pApplicationConfDTO.getResultsStorageOptions() ); pApplicationBO.setStatus( pApplicationConfDTO.getStatus() ); pApplicationBO.setPublic( pApplicationConfDTO.getPublic() ); pApplicationBO.setExternalDev( pApplicationConfDTO.getExternalDev() ); pApplicationBO.setInProduction( pApplicationConfDTO.getInProduction() ); pApplicationBO.setLastUpdate( pApplicationConfDTO.getLastUpdate() ); pApplicationBO.setLastUser( pApplicationConfDTO.getLastUser() ); pApplicationBO.setQualityApproachOnStart( pApplicationConfDTO.getQualityApproachOnStart() ); pApplicationBO.setInInitialDev( pApplicationConfDTO.getInInitialDev() ); pApplicationBO.setGlobalCost( pApplicationConfDTO.getGlobalCost() ); pApplicationBO.setDevCost( pApplicationConfDTO.getDevCost() ); if ( pApplicationConfDTO.getServeurDTO() != null ) { pApplicationBO.setServeurBO( (ServeurBO) ServeurTransform.dto2bo( pApplicationConfDTO.getServeurDTO() ) ); } if ( null != pApplicationConfDTO.getAccesses() ) { pApplicationBO.setUserAccesses( UserAccessTransform.dto2bo( pApplicationConfDTO.getAccesses() ) ); } } }