/* * ### * phresco-pom * * Copyright (C) 1999 - 2012 Photon Infotech Inc. * * 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 com.phresco.pom.util; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBElement; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.apache.commons.lang.StringUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import com.phresco.pom.exception.PhrescoPomException; import com.phresco.pom.model.Build; import com.phresco.pom.model.Build.Plugins; import com.phresco.pom.model.BuildBase; import com.phresco.pom.model.Dependency; import com.phresco.pom.model.Model; import com.phresco.pom.model.Model.Dependencies; import com.phresco.pom.model.Model.Modules; import com.phresco.pom.model.Model.Profiles; import com.phresco.pom.model.Model.Properties; import com.phresco.pom.model.Parent; import com.phresco.pom.model.Plugin; import com.phresco.pom.model.Plugin.Configuration; import com.phresco.pom.model.PluginManagement; import com.phresco.pom.model.Profile; import com.phresco.pom.model.ReportPlugin; import com.phresco.pom.model.ReportSet; import com.phresco.pom.model.Reporting; import com.phresco.pom.site.ReportCategories; import com.phresco.pom.site.Reports; // TODO: Auto-generated Javadoc /** * * * Example * PomProcessor processor = new PomProcessor(new File("D:\\POM\\pom.xml")); processor.addDependency("com.suresh.marimuthu", "artifact" ,"2.3"); processor.save(); * * @author suresh_ma * */ public class PomProcessor { /** The model. */ protected Model model; /** The file. */ protected File file; /** * Instantiates a new pom processor. * * @param pomFile the pom file * @throws JAXBException the jAXB exception * @throws IOException Signals that an I/O exception has occurred. */ public PomProcessor(File pomFile) throws JAXBException, IOException { if(pomFile.exists()){ JAXBContext jaxbContext = JAXBContext.newInstance(Model.class); Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); model = (Model) ((JAXBElement)jaxbUnmarshaller.unmarshal(pomFile)).getValue(); } else { pomFile.createNewFile(); model = new Model(); } file = pomFile; } /** * Adds dependency. * * @param groupId the group id * @param artifactId the artifact id * @param version the version * @param scope the scope * @throws JAXBException the jAXB exception * @throws PhrescoPomException the phresco pom exception */ public void addDependency(String groupId, String artifactId, String version, String scope) throws JAXBException, PhrescoPomException { addDependency(groupId, artifactId, version, scope, null, null); } /** * Adds the dependency. * * @param groupId * @param artifactId * @param version * @param scope * @param type * @param systemPath * @throws JAXBException * @throws PhrescoPomException */ public void addDependency(String groupId, String artifactId, String version, String scope, String type,String systemPath) throws JAXBException, PhrescoPomException { if(isDependencyAvailable(groupId, artifactId)){ changeDependencyVersion(groupId, artifactId, version); setDependencySystemPath(groupId, artifactId, systemPath); return; } Dependency dependency = new Dependency(); dependency.setArtifactId(artifactId); dependency.setGroupId(groupId); dependency.setVersion(version); if(StringUtils.isNotBlank(scope)){ dependency.setScope(scope); if(scope.equals(PomConstants.MVN_SCOPE_SYSTEM)){ dependency.setSystemPath(systemPath); } } if(StringUtils.isNotBlank(type)){ dependency.setType(type); } addDependency(dependency); } /** * Checks if is dependency available. * * @param groupId the group id * @param artifactId the artifact id * @return true, if is dependency available * @throws PhrescoPomException the phresco pom exception */ /** * @param groupId * @param artifactId * @return * @throws PhrescoPomException */ public boolean isDependencyAvailable(String groupId,String artifactId) throws PhrescoPomException{ if(model.getDependencies()==null){ return false; } List<Dependency> list = model.getDependencies().getDependency(); for(Dependency dependency : list){ if(dependency.getGroupId().equals(groupId) && dependency.getArtifactId().equals(artifactId)){ return true; } } return false; } /** * Adds the dependency. * * @param dependency the dependency * @throws PhrescoPomException the phresco pom exception */ public void addDependency(Dependency dependency) throws PhrescoPomException { String groupId = dependency.getGroupId(); String artifactId = dependency.getArtifactId(); String version = dependency.getVersion(); if(isDependencyAvailable(groupId, artifactId)){ changeDependencyVersion(groupId, artifactId, version); return; } Dependencies dependencies = model.getDependencies(); if(dependencies == null) { dependencies = new Dependencies(); model.setDependencies(dependencies); } List<Dependency> dependencyList = dependencies.getDependency(); dependencyList.add(dependency); } /** * Change dependency version. * * @param groupId the group id * @param artifactId the artifact id * @param version the version * @throws PhrescoPomException the phresco pom exception */ public void changeDependencyVersion(String groupId, String artifactId,String version) throws PhrescoPomException { if(model.getDependencies()==null){ return; } List<Dependency> list = model.getDependencies().getDependency(); for(Dependency dependency : list){ if(dependency.getGroupId().equals(groupId) && dependency.getArtifactId().equals(artifactId)){ dependency.setVersion(version); } } } /** * @param groupId * @param artifactId * @param systemPath * @throws PhrescoPomException */ public void setDependencySystemPath(String groupId, String artifactId,String systemPath) throws PhrescoPomException { if(model.getDependencies()==null){ return; } List<Dependency> list = model.getDependencies().getDependency(); for(Dependency dependency : list){ if(dependency.getGroupId().equals(groupId) && dependency.getArtifactId().equals(artifactId)){ dependency.setSystemPath(systemPath); } } } /** * @param groupId * @param artifactId * @return */ public Dependency getDependency(String groupId, String artifactId) { if(model.getDependencies()!=null) { List<Dependency> list = model.getDependencies().getDependency(); for(Dependency dependency : list) { if(dependency.getGroupId().equals(groupId) && dependency.getArtifactId().equals(artifactId)){ return dependency; } } } return null; } /** * Adds the dependency. * * @param groupId the group id * @param artifactId the artifact id * @param version the version * @throws JAXBException the jAXB exception * @throws PhrescoPomException the phresco pom exception */ public void addDependency(String groupId, String artifactId, String version) throws JAXBException, PhrescoPomException { if(isDependencyAvailable(groupId, artifactId)){ changeDependencyVersion(groupId, artifactId, version); } addDependency(groupId, artifactId, version, ""); } /** * Delete dependency. * * @param groupId the group id * @param artifactId the artifact id * @return the boolean * @throws PhrescoPomException the phresco pom exception */ public Boolean deleteDependency(String groupId, String artifactId) throws PhrescoPomException{ boolean isFound = false; if(model.getDependencies()== null) { return isFound; } List<Dependency> list = model.getDependencies().getDependency(); for(Dependency dependency : list){ if(dependency.getGroupId().equals(groupId) && dependency.getArtifactId().equals(artifactId)){ model.getDependencies().getDependency().remove(dependency); isFound = true; break; } } if(model.getDependencies().getDependency().isEmpty()){ model.setDependencies(null); } return isFound; } public Boolean deletePluginDependency(String groupId, String artifactId) throws PhrescoPomException { boolean isFound = false; if(model.getBuild().getPlugins() == null) { return isFound; } Plugins plugins = model.getBuild().getPlugins(); List<Plugin> pluginList = plugins.getPlugin(); for (Plugin plugin : pluginList) { if (plugin.getGroupId().equals(groupId) && plugin.getArtifactId().equals(artifactId)) { if (plugin.getDependencies() != null) { plugin.setDependencies(null); isFound = true; } } } return isFound; } /** * Delete all dependencies. * * @param groupId the group id * @param artifactId the artifact id * @throws PhrescoPomException the phresco pom exception */ public void deleteAllDependencies(String groupId,String artifactId) throws PhrescoPomException{ boolean flag = true; while(flag){ flag = deleteDependency(groupId, artifactId); } } /** * Sets the model. * * @param groupId the group id * @param artifactId the artifact id * @param version the version * @param name the name * @param packaging the packaging * @param description the description */ public void setModel(String groupId,String artifactId,String version,String name,String packaging,String description){ model.setGroupId(groupId); model.setArtifactId(artifactId); model.setVersion(version); model.setName(name); model.setPackaging(packaging); model.setDescription(description); } /** * Sets the model version. * * @param version the new model version * @throws PhrescoPomException the phresco pom exception */ public void setModelVersion(String version) throws PhrescoPomException{ model.setVersion(version); } /** * Gets the model. * * @return Model */ public Model getModel() { return model; } /** * Removes the all dependencies. * * @throws PhrescoPomException the phresco pom exception */ public void removeAllDependencies() throws PhrescoPomException { if(model.getDependencies() == null){ return; } List <Dependency> list = model.getDependencies().getDependency(); model.getDependencies().getDependency().removeAll(list); model.setDependencies(null); } /** * Adds the plugin. * * @param groupId the group id * @param artifactId the artifact id * @param version the version * @return the plugin * @throws PhrescoPomException the phresco pom exception */ public Plugin addPlugin(String groupId,String artifactId, String version) throws PhrescoPomException { Plugin existingPlugin = getPlugin(groupId, artifactId); if(existingPlugin != null) { existingPlugin.setVersion(version); return existingPlugin; } Build build = model.getBuild(); if(build == null){ build = new Build(); model.setBuild(build); } Plugins plugins = build.getPlugins(); if(plugins == null ) { plugins = new Plugins(); build.setPlugins(plugins); } Plugin plugin = new Plugin(); plugin.setArtifactId(artifactId); plugin.setGroupId(groupId); plugin.setVersion(version); plugins.getPlugin().add(plugin); return plugin; } /** * Delete plugin. * * @param groupId the group id * @param artifactId the artifact id * @throws PhrescoPomException the phresco pom exception */ public void deletePlugin(String groupId,String artifactId) throws PhrescoPomException { Plugin plugin = getPlugin(groupId, artifactId); if(plugin != null) { model.getBuild().getPlugins().getPlugin().remove(plugin); } if(model.getBuild().getPlugins().getPlugin().isEmpty()){ model.getBuild().setPlugins(null); } } /** * Adds the configuration. * * @param pluginGroupId the plugin group id * @param pluginArtifactId the plugin artifact id * @param configList the config list * @return the configuration * @throws PhrescoPomException the phresco pom exception */ public Configuration addConfiguration(String pluginGroupId,String pluginArtifactId, List<Element> configList) throws PhrescoPomException { return addConfiguration(pluginGroupId, pluginArtifactId, configList, false); } /** * Adds the configuration. * * @param pluginGroupId the plugin group id * @param pluginArtifactId the plugin artifact id * @param configList the config list * @param overwrite the overwrite * @return the configuration * @throws PhrescoPomException the phresco pom exception */ public Configuration addConfiguration(String pluginGroupId,String pluginArtifactId, List<Element> configList, boolean overwrite) throws PhrescoPomException { Plugin plugin = getPlugin(pluginGroupId, pluginArtifactId); Configuration configuration = plugin.getConfiguration(); if (configuration == null) { configuration = new Configuration(); plugin.setConfiguration(configuration); } if (overwrite) { configuration.getAny().addAll(configList); } else { plugin.getConfiguration().getAny().clear(); configuration.getAny().addAll(configList); } return configuration; } /** * Gets the plugin configuration value. * * @param pluginGroupId the plugin group id * @param pluginArtifactId the plugin artifact id * @param tagName the tag name * @return the plugin configuration value * @throws PhrescoPomException the phresco pom exception */ public String getPluginConfigurationValue(String pluginGroupId,String pluginArtifactId,String tagName) throws PhrescoPomException{ Plugin plugin = getPlugin(pluginGroupId, pluginArtifactId); Configuration configuration = plugin.getConfiguration(); if(model.getBuild() != null && model.getBuild().getPlugins() != null && configuration !=null) { for (Element config : configuration.getAny()) { if(tagName.equals(config.getTagName())){ return config.getTextContent(); } } } return ""; } /** * Adds the plugin dependency. * * @param pluginGroupId the plugin group id * @param pluginArtifactId the plugin artifact id * @param dependency the dependency * @return the com.phresco.pom.model. plugin. dependencies * @throws ParserConfigurationException the parser configuration exception * @throws PhrescoPomException the phresco pom exception */ public com.phresco.pom.model.Plugin.Dependencies addPluginDependency(String pluginGroupId,String pluginArtifactId, Dependency dependency) throws PhrescoPomException{ Plugin plugin = getPlugin(pluginGroupId, pluginArtifactId); com.phresco.pom.model.Plugin.Dependencies dependencies = plugin.getDependencies(); if(dependencies == null){ dependencies = new Plugin.Dependencies(); plugin.setDependencies(dependencies); } plugin.getDependencies().getDependency().add(dependency); return dependencies; } /** * Gets the plugin. * * @param groupId the group id * @param artifactId the artifact id * @return the plugin * @throws PhrescoPomException the phresco pom exception */ public Plugin getPlugin(String groupId,String artifactId) throws PhrescoPomException{ if(model.getBuild() != null && model.getBuild().getPlugins() != null) { for (Plugin plugin : model.getBuild().getPlugins().getPlugin()) { if(groupId.equals(plugin.getGroupId()) && artifactId.equals(plugin.getArtifactId())) { return plugin; } } } return null; } /** * Change plugin version. * * @param groupId the group id * @param artifactId the artifact id * @param version the version * @throws PhrescoPomException the phresco pom exception */ public void changePluginVersion(String groupId,String artifactId,String version) throws PhrescoPomException{ if(model.getBuild() != null && model.getBuild().getPlugins() != null) { for (Plugin plugin : model.getBuild().getPlugins().getPlugin()) { if(groupId.equals(plugin.getGroupId()) && artifactId.equals(plugin.getArtifactId())) { plugin.setVersion(version); } } } } /** * Sets the property. * * @param name the name * @param value the value * @throws ParserConfigurationException the parser configuration exception */ public void setProperty(String name,String value) throws ParserConfigurationException { DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = dbfac.newDocumentBuilder(); Document doc = docBuilder.newDocument(); Element element = doc.createElement(name); element.setTextContent(value); if(model.getProperties()==null){ Properties properties = new Properties(); model.setProperties(properties); } for(Element proElement : model.getProperties().getAny()){ if(proElement.getTagName().equals(name)){ proElement.setTextContent(value); return; } } model.getProperties().getAny().add(element); } /** * Gets the property. * * @param propertyName the property name * @return the property * @throws PhrescoPomException the phresco pom exception */ public String getProperty(String propertyName) throws PhrescoPomException { if(model.getProperties()==null) { return ""; } List<Element> property = model.getProperties().getAny(); int size = model.getProperties().getAny().size(); for(int i=0;i<size;i++) { if(propertyName.equals(property.get(i).getTagName())) { return property.get(i).getTextContent(); } } return ""; } /** * Adds the module. * * @param moduleName the module name * @throws PhrescoPomException the phresco pom exception */ public void addModule(String moduleName) throws PhrescoPomException { if(getPomModule(moduleName).equals(moduleName)){ return; } Modules modules = new Modules(); if(model.getModules()==null){ model.setModules(modules); } model.getModules().getModule().add(moduleName); } /** * Gets the pom module. * * @param moduleName the module name * @return the pom module * @throws PhrescoPomException the phresco pom exception */ public String getPomModule(String moduleName) throws PhrescoPomException{ if(model.getModules() != null){ for(String moduleNames : model.getModules().getModule()) { if(moduleName.equals(moduleNames)) { return moduleNames; } } } return ""; } /** * Gets the pom module. * * @return the pom module * @throws PhrescoPomException the phresco pom exception */ public Modules getPomModule() throws PhrescoPomException { return model.getModules(); } /** * Removes the module. * * @param moduleName the module name * @throws PhrescoPomException the phresco pom exception */ public void removeModule(String moduleName) throws PhrescoPomException { if(model.getModules() == null){ return; } for(String moduleNames : model.getModules().getModule()) { if(moduleName.equals(moduleNames)) { model.getModules().getModule().remove(moduleNames); if(model.getModules().getModule().isEmpty()) { model.setModules(null); } break; } } } /** * Adds the source directory. * * @param sourceDirectoryvalue the source directoryvalue * @throws PhrescoPomException the phresco pom exception */ public void setSourceDirectory(String sourceDirectoryvalue) throws PhrescoPomException{ Build build = model.getBuild(); if(build==null){ build = new Build(); model.setBuild(build); } build.setSourceDirectory(sourceDirectoryvalue); } /** * Gets the source directory. * * @return the source directory * @throws PhrescoPomException the phresco pom exception */ public String getSourceDirectory() throws PhrescoPomException{ if(model.getBuild().getSourceDirectory()==null){ return "src"; } return model.getBuild().getSourceDirectory(); } /** * Adds the profile. * * @param id the id * @param activation the activation * @param build the build * @param modules the modules * @return the profile * @throws PhrescoPomException the phresco pom exception */ public Profile addProfile(String id,BuildBase build,com.phresco.pom.model.Profile.Modules modules) throws PhrescoPomException { Profiles profiles = model.getProfiles(); if(profiles ==null) { profiles = new Profiles(); model.setProfiles(profiles); } Profile profile = new Profile(); for(Profile tmpProfile : model.getProfiles().getProfile()){ if(tmpProfile.getId().equals(id)){ profile = tmpProfile; break; } } profile.setId(id); profile.setBuild(build); profile.setModules(modules); model.getProfiles().getProfile().add(profile); return profile; } /** * Adds the profile. * * @param id the id * @return the profile * @throws PhrescoPomException the phresco pom exception */ public Profile addProfile(String id) throws PhrescoPomException { Profiles profiles = model.getProfiles(); if(profiles ==null) { profiles = new Profiles(); model.setProfiles(profiles); } Profile profile = new Profile(); for(Profile tmpProfile : model.getProfiles().getProfile()){ if(tmpProfile.getId().equals(id)){ profile = tmpProfile; break; } } profile.setId(id); model.getProfiles().getProfile().add(profile); return profile; } /** * Gets the profile. * * @param id the id * @return the profile * @throws PhrescoPomException the phresco pom exception */ public Profile getProfile(String id) throws PhrescoPomException { if(model.getProfiles().getProfile() != null){ for(Profile profile : model.getProfiles().getProfile()){ if(id.equals(profile.getId())) { return profile; } } } return null; } /** * Site report config. * * @param reportPlugin the report plugin */ public void siteReportConfig(ReportPlugin reportPlugin) { com.phresco.pom.model.Reporting.Plugins plugins = new com.phresco.pom.model.Reporting.Plugins(); if(model.getReporting()==null){ model.setReporting(new Reporting()); model.getReporting().setPlugins(plugins); } model.getReporting().getPlugins().getPlugin().add(reportPlugin); } /** * Removes the site plugin. * * @param groupId the group id * @param artifactId the artifact id */ public void removeSitePlugin(String groupId,String artifactId) { com.phresco.pom.model.Reporting.Plugins plugins = model.getReporting().getPlugins(); if(model.getReporting() == null && plugins == null){ return; } for (ReportPlugin plugin : plugins.getPlugin()) { if(groupId.equals(plugin.getGroupId()) && artifactId.equals(plugin.getArtifactId())){ plugins.getPlugin().remove(plugin); if(model.getReporting().getPlugins().getPlugin().isEmpty()){ model.setReporting(null); } return; } } } /** * Sets the final name. * * @param finalName the new final name */ public void setFinalName(String finalName){ Build build = model.getBuild(); if(build==null){ build = new Build(); model.setBuild(build); } model.getBuild().setFinalName(finalName); } /** * Gets the final name. * * @return the final name */ public String getFinalName() { if(model.getBuild() != null){ return model.getBuild().getFinalName(); } return null; } public String getName() { if(model.getName() == null){ return ""; } return model.getName(); } public void setName(String name){ model.setName(name); } public String getGroupId() { if(model.getGroupId() == null){ return model.getParent().getGroupId(); } return model.getGroupId(); } public void setGroupId(String groupId){ model.setGroupId(groupId); } public String getArtifactId() { if(model.getArtifactId() == null){ return model.getParent().getArtifactId(); } return model.getArtifactId(); } public void setArtifactId(String artifactId){ model.setArtifactId(artifactId); } public String getVersion(){ if(model.getVersion() == null){ return model.getParent().getVersion(); } return model.getVersion(); } public void setVersion(String version){ model.setVersion(version); } public String getPackage() { if(model.getPackaging() == null){ return ""; } return model.getPackaging(); } public void setPackaging(String packaging){ model.setPackaging(packaging); } public Parent getParent(){ if (model.getParent() != null) { return model.getParent(); } return null; } /** * @param artifactId * @return */ public Plugin getSitePlugin(String artifactId){ if(model.getBuild() != null && model.getBuild().getPluginManagement() != null) { for (Plugin plugin : model.getBuild().getPluginManagement().getPlugins().getPlugin()) { if(artifactId.equals(plugin.getArtifactId())) { return plugin; } } } return null; } /** * @param artifactId * @param version * @throws JAXBException * @throws PhrescoPomException */ public void addSitePlugin() throws JAXBException, PhrescoPomException{ Plugin existingPlugin = getSitePlugin(PomConstants.SITE_PLUGIN_ARTIFACT_ID); if(existingPlugin != null) { existingPlugin.setVersion(PomConstants.SITE_PLUGIN_VERSION); return ; } Build build = model.getBuild(); if(build == null){ build = new Build(); model.setBuild(build); } PluginManagement pluginManagement = build.getPluginManagement(); if(pluginManagement == null){ pluginManagement = new PluginManagement(); build.setPluginManagement(pluginManagement); } com.phresco.pom.model.PluginManagement.Plugins plugins = build.getPluginManagement().getPlugins(); if(plugins == null ) { plugins = new com.phresco.pom.model.PluginManagement.Plugins(); build.getPluginManagement().setPlugins(plugins); } Plugin plugin = new Plugin(); com.phresco.pom.model.Plugin.Dependencies dependencies = new com.phresco.pom.model.Plugin.Dependencies(); plugin.setArtifactId(PomConstants.SITE_PLUGIN_ARTIFACT_ID); plugin.setVersion(PomConstants.SITE_PLUGIN_VERSION); plugin.setDependencies(dependencies); Dependency dependency = new Dependency(); dependency.setGroupId(PomConstants.DOXIA_GROUPID); dependency.setArtifactId(PomConstants.DOXIA_ARTIFACT_ID); dependency.setVersion(PomConstants.DOXIA_VERSION); dependencies.getDependency().add(dependency); plugins.getPlugin().add(plugin); } public List<ReportPlugin> getReportPlugin() { if(model.getReporting() != null && model.getReporting().getPlugins().getPlugin() != null) { return model.getReporting().getPlugins().getPlugin(); } return null; } /** * @return */ public List<String> getProjectInfoReportCategories() { List<ReportPlugin> reportPlugin = getReportPlugin(); if(reportPlugin != null){ return getProjectInfoReport(reportPlugin); } return null; } /** * @param reportPlugin * @return */ private List<String> getProjectInfoReport(List<ReportPlugin> reportPlugin) { for (ReportPlugin reportPlugin2 : reportPlugin) { if(reportPlugin2.getGroupId().equals(Reports.PROJECT_INFO.getGroupId()) && reportPlugin2.getArtifactId().equals(Reports.PROJECT_INFO.getArtifactId())){ List<ReportSet> reportSet = reportPlugin2.getReportSets().getReportSet(); for (ReportSet reportSet2 : reportSet) { return reportSet2.getReports().getReport(); } } } return null; } /** * @param reportCategories */ public void removeProjectInfoReportCategory(List<ReportCategories> reportCategories){ if (reportCategories != null) { List<String> removeList = new ArrayList<String>(); List<String> projectInfoReportCategories = getProjectInfoReportCategories(); for (String string : projectInfoReportCategories) { for (ReportCategories reportCategoriesList : reportCategories) { if(reportCategoriesList.getName().equals(string)){ removeList.add(string); } } } projectInfoReportCategories.removeAll(removeList); } } public void removeAllReportingPlugin(){ com.phresco.pom.model.Reporting.Plugins plugins = model.getReporting().getPlugins(); if(model.getReporting() == null && plugins == null){ return; } model.getReporting().getPlugins().getPlugin().removeAll(getReportPlugin()); } /** * Save. * * @throws JAXBException the jAXB exception */ public void save() throws JAXBException { JAXBContext jaxbContext = JAXBContext.newInstance(Model.class); Marshaller marshal = jaxbContext.createMarshaller(); marshal.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshal.marshal(model, file); } }