1 19 20 package org.apache.geronimo.mavenplugins.geronimo.module; 21 22 import java.util.Arrays ; 23 import java.util.List ; 24 import java.util.ArrayList ; 25 26 import org.apache.geronimo.mavenplugins.geronimo.ModuleConfig; 27 import org.apache.maven.plugin.MojoExecutionException; 28 import org.apache.maven.plugin.MojoFailureException; 29 30 35 public abstract class StartStopUndeployMojoSupport 36 extends ModuleMojoSupport 37 { 38 42 47 protected String moduleId = null; 48 49 protected void init() throws MojoExecutionException, MojoFailureException { 50 super.init(); 51 52 if (moduleId != null) { 53 log.info("Using non-artifact based module id: " + moduleId); 54 55 ModuleConfig moduleConfig = createModuleConfigFromId(moduleId); 60 if (modules == null) { 61 modules = new ModuleConfig[] { 62 moduleConfig 63 }; 64 } 65 else { 66 List list = Arrays.asList(modules); 67 ArrayList aList = new ArrayList (list); 68 aList.add(moduleConfig); 69 modules = (ModuleConfig[]) aList.toArray(new ModuleConfig[list.size()]); 70 } 71 } 72 else if (modules == null || modules.length == 0) { 73 throw new MojoExecutionException("At least one module configuration (or moduleId) must be specified"); 74 } 75 } 76 77 private ModuleConfig createModuleConfigFromId(String moduleId) throws MojoExecutionException { 78 assert moduleId != null; 79 80 ModuleConfig moduleConfig = new ModuleConfig(); 81 moduleId = moduleId.replace('\\', '/'); 82 String [] splitStr = moduleId.split("/"); 83 if (splitStr.length != 4) { 84 throw new MojoExecutionException("Invalid moduleId: " + moduleId); 85 } 86 moduleConfig.setGroupId(splitStr[0]); 87 moduleConfig.setArtifactId(splitStr[1]); 88 moduleConfig.setVersion(splitStr[2]); 89 moduleConfig.setType(splitStr[3]); 90 91 return moduleConfig; 92 } 93 } 94 | Popular Tags |