Search in sources :

Example 11 with StringSearchInterpolator

use of org.codehaus.plexus.interpolation.StringSearchInterpolator in project maven-plugins by apache.

the class GenerateApplicationXmlMojo method buildEjbEntries.

/**
 * Builds the ejb-ref based on the configuration.
 *
 * @return a list of EjbRef object(s)
 * @throws EarPluginException if the configuration is invalid
 */
private List<EjbRef> buildEjbEntries() throws EarPluginException {
    final List<EjbRef> result = new ArrayList<EjbRef>();
    if (ejbRefs == null) {
        return result;
    }
    try {
        StringSearchInterpolator ssi = new StringSearchInterpolator();
        ValueSource vs = new MapBasedValueSource(project.getProperties());
        ssi.addValueSource(vs);
        final PlexusConfiguration[] allEjbEntries = ejbRefs.getChildren(EjbRef.EJB_REF);
        for (PlexusConfiguration ejbEntry : allEjbEntries) {
            // CHECKSTYLE_OFF: LineLength
            final String childDescription = interpolate(ssi, ejbEntry.getChild(EnvEntry.DESCRIPTION).getValue());
            final String childEjbEntryName = interpolate(ssi, ejbEntry.getChild(EjbRef.EJB_NAME).getValue());
            final String childEjbEntryType = interpolate(ssi, ejbEntry.getChild(EjbRef.EJB_TYPE).getValue());
            final String childEjbLookupNameValue = interpolate(ssi, ejbEntry.getChild(EjbRef.EJB_LOOKUP_NAME).getValue());
            try {
                result.add(new EjbRef(childDescription, childEjbEntryName, childEjbEntryType, childEjbLookupNameValue));
            } catch (IllegalArgumentException e) {
                throw new EarPluginException("Invalid ejb-ref [" + ejbEntry + "]", e);
            }
        }
        return result;
    } catch (InterpolationException e) {
        throw new EarPluginException("Interpolation exception:", e);
    }
}
Also used : PlexusConfiguration(org.codehaus.plexus.configuration.PlexusConfiguration) StringSearchInterpolator(org.codehaus.plexus.interpolation.StringSearchInterpolator) ValueSource(org.codehaus.plexus.interpolation.ValueSource) MapBasedValueSource(org.codehaus.plexus.interpolation.MapBasedValueSource) ArrayList(java.util.ArrayList) InterpolationException(org.codehaus.plexus.interpolation.InterpolationException) MapBasedValueSource(org.codehaus.plexus.interpolation.MapBasedValueSource)

Example 12 with StringSearchInterpolator

use of org.codehaus.plexus.interpolation.StringSearchInterpolator in project maven-plugins by apache.

the class GenerateApplicationXmlMojo method buildResourceRefs.

/**
 * Builds the <code>resource-ref</code> based on the configuration.
 *
 * @return a list of ResourceRef object(s)
 * @throws EarPluginException if the configuration is invalid
 */
private List<ResourceRef> buildResourceRefs() throws EarPluginException {
    final List<ResourceRef> result = new ArrayList<ResourceRef>();
    if (resourceRefs == null) {
        return result;
    }
    try {
        getLog().debug("Resources found");
        StringSearchInterpolator ssi = new StringSearchInterpolator();
        ValueSource vs = new MapBasedValueSource(project.getProperties());
        ssi.addValueSource(vs);
        // TODO: Check if this is a good idea hard code that here? Better idea?
        final PlexusConfiguration[] allResourceRefEntries = resourceRefs.getChildren("resourceRef");
        getLog().debug("allResourceRefEntries: " + allResourceRefEntries);
        getLog().debug("allResourceRefEntries length: " + allResourceRefEntries.length);
        for (PlexusConfiguration resEntry : allResourceRefEntries) {
            getLog().debug("Resources resEntry:" + resEntry.getName());
            // CHECKSTYLE_OFF: LineLength
            final String childResRefName = interpolate(ssi, resEntry.getChild(ResourceRef.RESOURCE_REF_NAME).getValue());
            final String childResType = interpolate(ssi, resEntry.getChild(ResourceRef.RESOURCE_TYPE).getValue());
            final String childResRefAuth = interpolate(ssi, resEntry.getChild(ResourceRef.RESOURCE_AUTH).getValue());
            try {
                result.add(new ResourceRef(childResRefName, childResType, childResRefAuth));
            } catch (IllegalArgumentException e) {
                throw new EarPluginException("Invalid resource-ref [" + resEntry + "]", e);
            }
        }
        return result;
    } catch (InterpolationException e) {
        throw new EarPluginException("Interpolation exception:", e);
    }
}
Also used : PlexusConfiguration(org.codehaus.plexus.configuration.PlexusConfiguration) StringSearchInterpolator(org.codehaus.plexus.interpolation.StringSearchInterpolator) ValueSource(org.codehaus.plexus.interpolation.ValueSource) MapBasedValueSource(org.codehaus.plexus.interpolation.MapBasedValueSource) ArrayList(java.util.ArrayList) InterpolationException(org.codehaus.plexus.interpolation.InterpolationException) MapBasedValueSource(org.codehaus.plexus.interpolation.MapBasedValueSource)

Aggregations

StringSearchInterpolator (org.codehaus.plexus.interpolation.StringSearchInterpolator)12 InterpolationException (org.codehaus.plexus.interpolation.InterpolationException)9 PropertiesBasedValueSource (org.codehaus.plexus.interpolation.PropertiesBasedValueSource)6 ArrayList (java.util.ArrayList)4 Properties (java.util.Properties)4 IOException (java.io.IOException)3 PlexusConfiguration (org.codehaus.plexus.configuration.PlexusConfiguration)3 MapBasedValueSource (org.codehaus.plexus.interpolation.MapBasedValueSource)3 ValueSource (org.codehaus.plexus.interpolation.ValueSource)3 File (java.io.File)2 ObjectBasedValueSource (org.codehaus.plexus.interpolation.ObjectBasedValueSource)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 InputStream (java.io.InputStream)1 PostConstruct (javax.annotation.PostConstruct)1 Settings (org.apache.maven.settings.Settings)1 PrefixAwareRecursionInterceptor (org.codehaus.plexus.interpolation.PrefixAwareRecursionInterceptor)1 PrefixedObjectValueSource (org.codehaus.plexus.interpolation.PrefixedObjectValueSource)1 RecursionInterceptor (org.codehaus.plexus.interpolation.RecursionInterceptor)1 SimpleRecursionInterceptor (org.codehaus.plexus.interpolation.SimpleRecursionInterceptor)1 MarshallableTypeHints (org.infinispan.commons.marshall.MarshallableTypeHints)1