/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.guvnor.common.services.project.backend.server.utils; import org.apache.maven.model.Build; import org.apache.maven.model.Plugin; class BuildContentHandler { org.guvnor.common.services.project.model.Build fromPomModelToClientModel( final Build from ) { if ( from != null ) { org.guvnor.common.services.project.model.Build build = new org.guvnor.common.services.project.model.Build(); if ( from.getPlugins() != null ) { for (Plugin plugin : from.getPlugins()) { build.getPlugins().add( fromPomModelToClientModel( plugin ) ); } } return build; } else { return null; } } public Build update( final org.guvnor.common.services.project.model.Build from, Build to ) { if ( from == null ) { return null; } else { if ( to == null ) { to = new Build(); } if ( from.getPlugins() != null ) { to.setPlugins( new MavenPluginUpdater( to.getPlugins() ).update( from.getPlugins() ) ); } return to; } } private org.guvnor.common.services.project.model.Plugin fromPomModelToClientModel( final Plugin from ) { org.guvnor.common.services.project.model.Plugin plugin = new org.guvnor.common.services.project.model.Plugin(); plugin.setGroupId( from.getGroupId() ); plugin.setArtifactId( from.getArtifactId() ); plugin.setVersion( from.getVersion() ); plugin.setExtensions( from.isExtensions() ); plugin.setDependencies( new DependencyContentHandler().fromPomModelToClientModel( from.getDependencies() ) ); return plugin; } }