001    package org.apache.maven.profiles;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     *  http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    import org.apache.maven.model.Activation;
023    import org.apache.maven.model.ActivationFile;
024    import org.apache.maven.model.ActivationProperty;
025    import org.apache.maven.model.Profile;
026    import org.apache.maven.model.Repository;
027    
028    import java.util.Iterator;
029    import java.util.List;
030    
031    @Deprecated
032    public class ProfilesConversionUtils
033    {
034        private ProfilesConversionUtils()
035        {
036        }
037    
038        public static Profile convertFromProfileXmlProfile( org.apache.maven.profiles.Profile profileXmlProfile )
039        {
040            Profile profile = new Profile();
041    
042            profile.setId( profileXmlProfile.getId() );
043    
044            profile.setSource( "profiles.xml" );
045    
046            org.apache.maven.profiles.Activation profileActivation = profileXmlProfile.getActivation();
047    
048            if ( profileActivation != null )
049            {
050                Activation activation = new Activation();
051    
052                activation.setActiveByDefault( profileActivation.isActiveByDefault() );
053    
054                activation.setJdk( profileActivation.getJdk() );
055    
056                org.apache.maven.profiles.ActivationProperty profileProp = profileActivation.getProperty();
057    
058                if ( profileProp != null )
059                {
060                    ActivationProperty prop = new ActivationProperty();
061    
062                    prop.setName( profileProp.getName() );
063                    prop.setValue( profileProp.getValue() );
064    
065                    activation.setProperty( prop );
066                }
067    
068                
069                ActivationOS profileOs = profileActivation.getOs();
070                
071                if ( profileOs != null )
072                {
073                    org.apache.maven.model.ActivationOS os = new org.apache.maven.model.ActivationOS();
074    
075                    os.setArch( profileOs.getArch() );
076                    os.setFamily( profileOs.getFamily() );
077                    os.setName( profileOs.getName() );
078                    os.setVersion( profileOs.getVersion() );
079    
080                    activation.setOs( os );
081                }
082                
083                org.apache.maven.profiles.ActivationFile profileFile = profileActivation.getFile();
084    
085                if ( profileFile != null )
086                {
087                    ActivationFile file = new ActivationFile();
088    
089                    file.setExists( profileFile.getExists() );
090                    file.setMissing( profileFile.getMissing() );
091    
092                    activation.setFile( file );
093                }
094    
095                profile.setActivation( activation );
096            }
097    
098            profile.setProperties( profileXmlProfile.getProperties() );
099    
100            List repos = profileXmlProfile.getRepositories();
101            if ( repos != null )
102            {
103                for ( Object repo : repos )
104                {
105                    profile.addRepository( convertFromProfileXmlRepository( (org.apache.maven.profiles.Repository) repo ) );
106                }
107            }
108    
109            List pluginRepos = profileXmlProfile.getPluginRepositories();
110            if ( pluginRepos != null )
111            {
112                for ( Object pluginRepo : pluginRepos )
113                {
114                    profile.addPluginRepository(
115                        convertFromProfileXmlRepository( (org.apache.maven.profiles.Repository) pluginRepo ) );
116                }
117            }
118    
119            return profile;
120        }
121    
122        private static Repository convertFromProfileXmlRepository( org.apache.maven.profiles.Repository profileXmlRepo )
123        {
124            Repository repo = new Repository();
125    
126            repo.setId( profileXmlRepo.getId() );
127            repo.setLayout( profileXmlRepo.getLayout() );
128            repo.setName( profileXmlRepo.getName() );
129            repo.setUrl( profileXmlRepo.getUrl() );
130    
131            if ( profileXmlRepo.getSnapshots() != null )
132            {
133                repo.setSnapshots( convertRepositoryPolicy( profileXmlRepo.getSnapshots() ) );
134            }
135            if ( profileXmlRepo.getReleases() != null )
136            {
137                repo.setReleases( convertRepositoryPolicy( profileXmlRepo.getReleases() ) );
138            }
139    
140            return repo;
141        }
142    
143        private static org.apache.maven.model.RepositoryPolicy convertRepositoryPolicy( RepositoryPolicy profileXmlRepo )
144        {
145            org.apache.maven.model.RepositoryPolicy policy = new org.apache.maven.model.RepositoryPolicy();
146            policy.setEnabled( profileXmlRepo.isEnabled() );
147            policy.setUpdatePolicy( profileXmlRepo.getUpdatePolicy() );
148            policy.setChecksumPolicy( profileXmlRepo.getChecksumPolicy() );
149            return policy;
150        }
151    
152    }