package org.netbeans.gradle.javaee.models; import java.io.File; import org.gradle.api.Project; import org.gradle.api.plugins.WarPluginConvention; import org.netbeans.gradle.model.api.ProjectInfoBuilder2; /** * * @author Ed */ enum NbWebModelBuilder implements ProjectInfoBuilder2<NbWebModel> { INSTANCE; @Override public NbWebModel getProjectInfo(Object project) { return getProjectInfo((Project) project); } private NbWebModel getProjectInfo(Project project) { WarPluginConvention war = project.getConvention().findPlugin(WarPluginConvention.class); return war != null ? createModel(project, war) : null; } private NbWebModel createModel(Project project, WarPluginConvention war) { String webAppDirValue = war.getWebAppDirName(); String ddValue = "web.xml"; File deploymentDesc = (File) project.getProperties().get("webXml"); if (deploymentDesc != null) { ddValue = deploymentDesc.getName(); } return new NbWebModel(webAppDirValue, ddValue); } @Override public String getName() { return getClass().getName(); } }