use of org.apache.maven.plugins.ear.EarPluginException in project maven-plugins by apache.
the class ArtifactTypeMappingServiceTest method testConfigWithSameCustomType.
public void testConfigWithSameCustomType() {
try {
XmlPlexusConfiguration rootConfig = new XmlPlexusConfiguration("dummy");
XmlPlexusConfiguration childConfig = new XmlPlexusConfiguration(ArtifactTypeMappingService.ARTIFACT_TYPE_MAPPING_ELEMENT);
childConfig.setAttribute("type", "generic");
childConfig.setAttribute("mapping", "rar");
XmlPlexusConfiguration childConfig2 = new XmlPlexusConfiguration(ArtifactTypeMappingService.ARTIFACT_TYPE_MAPPING_ELEMENT);
childConfig.setAttribute("type", "generic");
childConfig.setAttribute("mapping", "ejb");
rootConfig.addChild(childConfig);
rootConfig.addChild(childConfig2);
ArtifactTypeMappingService service = new ArtifactTypeMappingService();
service.configure(rootConfig);
fail("Should have failed");
} catch (EarPluginException e) {
// OK
} catch (PlexusConfigurationException e) {
e.printStackTrace();
fail("Unexpected " + e.getMessage());
}
}
use of org.apache.maven.plugins.ear.EarPluginException in project maven-plugins by apache.
the class ArtifactTypeMappingServiceTest method getDefaultService.
protected ArtifactTypeMappingService getDefaultService() {
try {
ArtifactTypeMappingService service = new ArtifactTypeMappingService();
service.configure(new XmlPlexusConfiguration("dummy"));
return service;
} catch (EarPluginException e) {
e.printStackTrace();
fail(e.getMessage());
} catch (PlexusConfigurationException e) {
e.printStackTrace();
fail(e.getMessage());
}
// Won't occur
return null;
}
use of org.apache.maven.plugins.ear.EarPluginException in project maven-plugins by apache.
the class ArtifactTypeMappingService method configure.
/**
* @param plexusConfiguration {@link PlexusConfiguration}
* @throws EarPluginException {@link EarPluginException}
* @throws PlexusConfigurationException {@link PlexusConfigurationException}
*/
public void configure(final PlexusConfiguration plexusConfiguration) throws EarPluginException, PlexusConfigurationException {
// No user defined configuration
if (plexusConfiguration == null) {
return;
}
// Inject users configuration
final PlexusConfiguration[] artifactTypeMappings = plexusConfiguration.getChildren(ARTIFACT_TYPE_MAPPING_ELEMENT);
for (PlexusConfiguration artifactTypeMapping : artifactTypeMappings) {
final String customType = artifactTypeMapping.getAttribute(TYPE_ATTRIBUTE);
final String mapping = artifactTypeMapping.getAttribute(MAPPING_ATTRIBUTE);
if (customType == null) {
throw new EarPluginException("Invalid artifact type mapping, type attribute should be set.");
} else if (mapping == null) {
throw new EarPluginException("Invalid artifact type mapping, mapping attribute should be set.");
} else if (!EarModuleFactory.isStandardArtifactType(mapping)) {
throw new EarPluginException("Invalid artifact type mapping, mapping[" + mapping + "] must be a standard Ear artifact type[" + EarModuleFactory.getStandardArtifactTypes() + "]");
} else if (customMappings.containsKey(customType)) {
throw new EarPluginException("Invalid artifact type mapping, type[" + customType + "] is already registered.");
} else {
// Add the custom mapping
customMappings.put(customType, mapping);
// Register the custom mapping to its standard type
List<String> typeMapping = typeMappings.get(mapping);
typeMapping.add(customType);
}
}
}
use of org.apache.maven.plugins.ear.EarPluginException in project maven-plugins by apache.
the class ArtifactTypeMappingServiceTest method testConfigWithNoMapping.
public void testConfigWithNoMapping() {
try {
XmlPlexusConfiguration rootConfig = new XmlPlexusConfiguration("dummy");
XmlPlexusConfiguration childConfig = new XmlPlexusConfiguration(ArtifactTypeMappingService.ARTIFACT_TYPE_MAPPING_ELEMENT);
childConfig.setAttribute("type", "generic");
rootConfig.addChild(childConfig);
ArtifactTypeMappingService service = new ArtifactTypeMappingService();
service.configure(rootConfig);
fail("Should have failed");
} catch (EarPluginException e) {
// OK
} catch (PlexusConfigurationException e) {
e.printStackTrace();
fail("Unexpected " + e.getMessage());
}
}
use of org.apache.maven.plugins.ear.EarPluginException in project maven-plugins by apache.
the class ArtifactTypeMappingServiceTest method testConfigWithNoType.
public void testConfigWithNoType() {
try {
XmlPlexusConfiguration rootConfig = new XmlPlexusConfiguration("dummy");
XmlPlexusConfiguration childConfig = new XmlPlexusConfiguration(ArtifactTypeMappingService.ARTIFACT_TYPE_MAPPING_ELEMENT);
childConfig.setAttribute("mapping", "ejb");
rootConfig.addChild(childConfig);
ArtifactTypeMappingService service = new ArtifactTypeMappingService();
service.configure(rootConfig);
fail("Should have failed");
} catch (EarPluginException e) {
// OK
} catch (PlexusConfigurationException e) {
e.printStackTrace();
fail("Unexpected " + e.getMessage());
}
}
Aggregations