CPD Results
The following document contains the results of PMD's CPD 5.2.3.
Duplications
File |
Line |
org/jomc/ant/MergeModletsTask.java |
510 |
org/jomc/ant/MergeModulesTask.java |
468 |
urls[i].toExternalForm() ) );
}
suppressExceptionOnClose = false;
}
catch ( final SocketTimeoutException e )
{
String message = Messages.getMessage( e );
message = Messages.getMessage( "resourceTimeout", message != null ? " " + message : "" );
if ( resource.isOptional() )
{
this.getProject().log( message, e, Project.MSG_WARN );
}
else
{
throw new BuildException( message, e, this.getLocation() );
}
}
catch ( final IOException e )
{
String message = Messages.getMessage( e );
message = Messages.getMessage( "resourceFailure", message != null ? " " + message : "" );
if ( resource.isOptional() )
{
this.getProject().log( message, e, Project.MSG_WARN );
}
else
{
throw new BuildException( message, e, this.getLocation() );
}
}
finally
{
try
{
if ( in != null )
{
in.close();
}
}
catch ( final IOException e )
{
if ( suppressExceptionOnClose )
{
this.logMessage( Level.SEVERE, Messages.getMessage( e ), e );
}
else
{
throw new BuildException( Messages.getMessage( e ), e, this.getLocation() );
}
}
}
}
suppressExceptionOnClose = true;
}
for ( final String defaultExclude : classLoader.getModletExcludes() ) |
File |
Line |
org/jomc/ant/MergeModletsTask.java |
645 |
org/jomc/ant/MergeModulesTask.java |
612 |
marshaller.marshal( new ObjectFactory().createModlet( mergedModlet ), this.getModletFile() );
suppressExceptionOnClose = false;
}
catch ( final URISyntaxException e )
{
throw new BuildException( Messages.getMessage( e ), e, this.getLocation() );
}
catch ( final JAXBException e )
{
String message = Messages.getMessage( e );
if ( message == null )
{
message = Messages.getMessage( e.getLinkedException() );
}
throw new BuildException( message, e, this.getLocation() );
}
catch ( final TransformerConfigurationException e )
{
throw new BuildException( Messages.getMessage( e ), e, this.getLocation() );
}
catch ( final TransformerException e )
{
throw new BuildException( Messages.getMessage( e ), e, this.getLocation() );
}
catch ( final ModelException e )
{
throw new BuildException( Messages.getMessage( e ), e, this.getLocation() );
}
finally
{
try
{
if ( classLoader != null )
{
classLoader.close();
}
}
catch ( final IOException e )
{
if ( suppressExceptionOnClose )
{
this.logMessage( Level.SEVERE, Messages.getMessage( e ), e );
}
else
{
throw new BuildException( Messages.getMessage( e ), e, this.getLocation() );
}
}
}
}
/**
* Tests inclusion of a given modlet based on property {@code modletIncludes}.
*
* @param modlet The modlet to test.
*
* @return {@code true}, if {@code modlet} is included based on property {@code modletIncludes}.
*
* @throws NullPointerException if {@code modlet} is {@code null}.
*
* @see #getModletIncludes()
*/
public boolean isModletIncluded( final Modlet modlet ) |
File |
Line |
org/jomc/ant/ValidateClassesTask.java |
187 |
org/jomc/ant/ValidateClasspathTask.java |
146 |
validationReport = tool.validateModelObjects( context, this.getClassesDirectory() );
if ( validationReport != null )
{
this.logValidationReport( context, validationReport );
if ( !validationReport.isModelValid() )
{
throw new ModelException( Messages.getMessage( "invalidModel", this.getModel() ) );
}
}
}
suppressExceptionOnClose = false;
}
else
{
throw new ModelException( Messages.getMessage( "invalidModel", this.getModel() ) );
}
}
catch ( final IOException e )
{
throw new ClassProcessingException( Messages.getMessage( e ), e, this.getLocation() );
}
catch ( final JAXBException e )
{
throw new ClassProcessingException( Messages.getMessage( e ), e, this.getLocation() );
}
catch ( final ModelException e )
{
throw new ClassProcessingException( Messages.getMessage( e ), e, this.getLocation() );
}
finally
{
try
{
if ( classLoader != null )
{
classLoader.close();
}
}
catch ( final IOException e )
{
if ( suppressExceptionOnClose )
{
this.logMessage( Level.SEVERE, Messages.getMessage( e ), e );
}
else
{
throw new ClassProcessingException( Messages.getMessage( e ), e, this.getLocation() );
}
}
}
}
/**
* {@inheritDoc}
*/
@Override
public ValidateClassesTask clone() |
File |
Line |
org/jomc/ant/JomcTask.java |
494 |
org/jomc/ant/types/TransformerResourceType.java |
68 |
}
/**
* Gets the global transformation parameters to apply.
* <p>
* This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make
* to the returned list will be present inside the object. This is why there is no {@code set} method for the
* transformation parameters property.
* </p>
*
* @return The global transformation parameters to apply.
*
* @see #createTransformationParameter()
* @see #getTransformer(org.jomc.ant.types.TransformerResourceType)
*/
public final List<KeyValueType> getTransformationParameters()
{
if ( this.transformationParameters == null )
{
this.transformationParameters = new LinkedList<KeyValueType>();
}
return this.transformationParameters;
}
/**
* Creates a new {@code transformationParameter} element instance.
*
* @return A new {@code transformationParameter} element instance.
*
* @see #getTransformationParameters()
*/
public KeyValueType createTransformationParameter()
{
final KeyValueType transformationParameter = new KeyValueType();
this.getTransformationParameters().add( transformationParameter );
return transformationParameter;
}
/**
* Gets the global transformation parameter resources to apply.
* <p>
* This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make
* to the returned list will be present inside the object. This is why there is no {@code set} method for the
* transformation parameter resources property.
* </p>
*
* @return The global transformation parameter resources to apply.
*
* @see #createTransformationParameterResource()
* @see #getTransformer(org.jomc.ant.types.TransformerResourceType)
*/
public final List<PropertiesResourceType> getTransformationParameterResources()
{
if ( this.transformationParameterResources == null )
{
this.transformationParameterResources = new LinkedList<PropertiesResourceType>();
}
return this.transformationParameterResources;
}
/**
* Creates a new {@code transformationParameterResource} element instance.
*
* @return A new {@code transformationParameterResource} element instance.
*
* @see #getTransformationParameterResources()
*/
public PropertiesResourceType createTransformationParameterResource()
{
final PropertiesResourceType transformationParameterResource = new PropertiesResourceType();
this.getTransformationParameterResources().add( transformationParameterResource );
return transformationParameterResource;
}
/**
* Gets the global transformation output properties to apply.
* <p>
* This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make
* to the returned list will be present inside the object. This is why there is no {@code set} method for the
* transformation output properties property.
* </p>
*
* @return The global transformation output properties to apply.
*
* @see #createTransformationOutputProperty()
*/
public final List<KeyValueType> getTransformationOutputProperties()
{
if ( this.transformationOutputProperties == null )
{
this.transformationOutputProperties = new LinkedList<KeyValueType>();
}
return this.transformationOutputProperties;
}
/**
* Creates a new {@code transformationOutputProperty} element instance.
*
* @return A new {@code transformationOutputProperty} element instance.
*
* @see #getTransformationOutputProperties()
*/
public KeyValueType createTransformationOutputProperty()
{
final KeyValueType transformationOutputProperty = new KeyValueType();
this.getTransformationOutputProperties().add( transformationOutputProperty );
return transformationOutputProperty;
} |
File |
Line |
org/jomc/ant/JomcModelTask.java |
356 |
org/jomc/ant/MergeModulesTask.java |
463 |
modules.getModule().add( (Module) o );
}
else
{
this.log( Messages.getMessage( "unsupportedModuleResource", urls[i].toExternalForm() ),
Project.MSG_WARN );
}
suppressExceptionOnClose = false;
}
catch ( final SocketTimeoutException e )
{
String message = Messages.getMessage( e );
message = Messages.getMessage( "resourceTimeout", message != null ? " " + message : "" );
if ( resource.isOptional() )
{
this.getProject().log( message, e, Project.MSG_WARN );
}
else
{
throw new BuildException( message, e, this.getLocation() );
}
}
catch ( final IOException e )
{
String message = Messages.getMessage( e );
message = Messages.getMessage( "resourceFailure", message != null ? " " + message : "" );
if ( resource.isOptional() )
{
this.getProject().log( message, e, Project.MSG_WARN );
}
else
{
throw new BuildException( message, e, this.getLocation() );
}
} |
File |
Line |
org/jomc/ant/Messages.java |
43 |
org/jomc/ant/types/Messages.java |
43 |
abstract class Messages
{
/**
* Constant for the name of the resource bundle backing the tasks.
*/
private static final String RESOURCE_BUNDLE_NAME =
Messages.class.getPackage().getName().replace( '.', '/' ) + "/Messages";
/**
* Creates a new {@code Messages} instance.
*/
Messages()
{
super();
}
/**
* Gets a message for a given key from the resource bundle backing the tasks formatted using the given arguments.
*
* @param key The key of the string to get.
* @param arguments The arguments to format the string with.
*
* @return The string matching {@code key} formatted using {@code arguments}.
*
* @throws NullPointerException if {@code key} is {@code null}.
*/
static String getMessage( final String key, final Object... arguments )
{
if ( key == null )
{
throw new NullPointerException( "key" );
}
try
{
return MessageFormat.format( ResourceBundle.getBundle( RESOURCE_BUNDLE_NAME ).getString( key ), arguments );
}
catch ( final MissingResourceException e )
{
throw new AssertionError( e );
}
catch ( final ClassCastException e )
{
throw new AssertionError( e );
}
catch ( final IllegalArgumentException e )
{
throw new AssertionError( e );
}
}
/**
* Gets the message of a given {@code Throwable} recursively.
*
* @param t The {@code Throwable} to get the message of or {@code null}.
*
* @return The message of {@code t} or {@code null}.
*/
static String getMessage( final Throwable t )
{
return t != null
? t.getMessage() != null && t.getMessage().trim().length() > 0
? t.getMessage()
: getMessage( t.getCause() )
: null;
}
} |
File |
Line |
org/jomc/ant/JomcModelTask.java |
361 |
org/jomc/ant/MergeModletsTask.java |
510 |
Project.MSG_WARN );
}
suppressExceptionOnClose = false;
}
catch ( final SocketTimeoutException e )
{
String message = Messages.getMessage( e );
message = Messages.getMessage( "resourceTimeout", message != null ? " " + message : "" );
if ( resource.isOptional() )
{
this.getProject().log( message, e, Project.MSG_WARN );
}
else
{
throw new BuildException( message, e, this.getLocation() );
}
}
catch ( final IOException e )
{
String message = Messages.getMessage( e );
message = Messages.getMessage( "resourceFailure", message != null ? " " + message : "" );
if ( resource.isOptional() )
{
this.getProject().log( message, e, Project.MSG_WARN );
}
else
{
throw new BuildException( message, e, this.getLocation() );
}
} |
File |
Line |
org/jomc/ant/ValidateClassesTask.java |
121 |
org/jomc/ant/ValidateClasspathTask.java |
80 |
this.log( Messages.getMessage( "validatingModelObjects", this.getModel() ) );
classLoader = this.newProjectClassLoader();
final ModelContext context = this.newModelContext( classLoader );
final ClassFileProcessor tool = this.newClassFileProcessor();
final JAXBContext jaxbContext = context.createContext( this.getModel() );
final Model model = this.getModel( context );
final Source source = new JAXBSource( jaxbContext, new ObjectFactory().createModel( model ) );
ModelValidationReport validationReport = context.validateModel( this.getModel(), source );
this.logValidationReport( context, validationReport );
tool.setModel( model );
if ( validationReport.isModelValid() )
{
final Specification s = this.getSpecification( model );
final Implementation i = this.getImplementation( model );
final Module m = this.getModule( model );
if ( s != null )
{
validationReport = tool.validateModelObjects( s, context, this.getClassesDirectory() ); |
File |
Line |
org/jomc/ant/JomcTask.java |
1678 |
org/jomc/ant/types/TransformerResourceType.java |
188 |
if ( this.transformationParameters != null )
{
clone.transformationParameters =
new ArrayList<KeyValueType>( this.transformationParameters.size() );
for ( final KeyValueType e : this.transformationParameters )
{
clone.transformationParameters.add( e.clone() );
}
}
if ( this.transformationParameterResources != null )
{
clone.transformationParameterResources =
new ArrayList<PropertiesResourceType>( this.transformationParameterResources.size() );
for ( final PropertiesResourceType e : this.transformationParameterResources )
{
clone.transformationParameterResources.add( e.clone() );
}
}
if ( this.transformationOutputProperties != null )
{
clone.transformationOutputProperties =
new ArrayList<KeyValueType>( this.transformationOutputProperties.size() );
for ( final KeyValueType e : this.transformationOutputProperties )
{
clone.transformationOutputProperties.add( e.clone() );
}
}
return clone;
} |
File |
Line |
org/jomc/ant/MergeModletsTask.java |
472 |
org/jomc/ant/MergeModulesTask.java |
429 |
resource.getLocation() ) );
}
}
for ( int i = urls.length - 1; i >= 0; i-- )
{
InputStream in = null;
suppressExceptionOnClose = true;
try
{
this.logMessage( Level.FINEST, Messages.getMessage( "reading", urls[i].toExternalForm() ) );
final URLConnection con = urls[i].openConnection();
con.setConnectTimeout( resource.getConnectTimeout() );
con.setReadTimeout( resource.getReadTimeout() );
con.connect();
in = con.getInputStream();
final Source source = new StreamSource( in, urls[i].toURI().toASCIIString() );
Object o = unmarshaller.unmarshal( source );
if ( o instanceof JAXBElement<?> )
{
o = ( (JAXBElement<?>) o ).getValue();
}
if ( o instanceof Modlet ) |
File |
Line |
org/jomc/ant/JomcTask.java |
1118 |
org/jomc/ant/JomcTask.java |
1234 |
if ( resource.isOptional() )
{
this.getProject().log( Messages.getMessage( "resourceFailure", message != null ? " " + message : "" ),
e, Project.MSG_WARN );
}
else
{
throw new BuildException( Messages.getMessage( "resourceFailure", message != null ? " " + message : "" ),
e, this.getLocation() );
}
}
finally
{
try
{
if ( in != null )
{
in.close();
}
}
catch ( final IOException e )
{
if ( suppressExceptionOnClose )
{
this.logMessage( Level.SEVERE, Messages.getMessage( e ), e );
}
else
{
throw new BuildException( Messages.getMessage( e ), e, this.getLocation() );
}
}
}
return null; |
File |
Line |
org/jomc/ant/CommitClassesTask.java |
257 |
org/jomc/ant/ValidateClassesTask.java |
211 |
org/jomc/ant/ValidateClasspathTask.java |
170 |
catch ( final TransformerConfigurationException e )
{
throw new ClassProcessingException( Messages.getMessage( e ), e, this.getLocation() );
}
catch ( final ModelException e )
{
throw new ClassProcessingException( Messages.getMessage( e ), e, this.getLocation() );
}
finally
{
try
{
if ( classLoader != null )
{
classLoader.close();
}
}
catch ( final IOException e )
{
if ( suppressExceptionOnClose )
{
this.logMessage( Level.SEVERE, Messages.getMessage( e ), e );
}
else
{
throw new ClassProcessingException( Messages.getMessage( e ), e, this.getLocation() );
}
}
}
}
/**
* {@inheritDoc}
*/
@Override
public CommitClassesTask clone() |
File |
Line |
org/jomc/ant/GenerateResourcesTask.java |
125 |
org/jomc/ant/ManageSourcesTask.java |
125 |
final ResourceFileProcessor tool = this.newResourceFileProcessor();
final JAXBContext jaxbContext = context.createContext( this.getModel() );
final Model model = this.getModel( context );
final Source source = new JAXBSource( jaxbContext, new ObjectFactory().createModel( model ) );
final ModelValidationReport validationReport = context.validateModel( this.getModel(), source );
this.logValidationReport( context, validationReport );
tool.setModel( model );
if ( validationReport.isModelValid() )
{
final Specification s = this.getSpecification( model );
final Implementation i = this.getImplementation( model );
final Module m = this.getModule( model );
if ( s != null )
{
tool.writeResourceBundleResourceFiles( s, this.getResourcesDirectory() ); |
File |
Line |
org/jomc/ant/JomcModelTask.java |
302 |
org/jomc/ant/MergeModulesTask.java |
413 |
for ( final ResourceType resource : this.getModuleResources() )
{
final URL[] urls = this.getResources( context, resource.getLocation() );
if ( urls.length == 0 )
{
if ( resource.isOptional() )
{
this.logMessage( Level.WARNING, Messages.getMessage( "moduleResourceNotFound",
resource.getLocation() ) );
}
else
{
throw new BuildException( Messages.getMessage( "moduleResourceNotFound", resource.getLocation() ),
this.getLocation() );
}
}
for ( int i = urls.length - 1; i >= 0; i-- )
{
InputStream in = null; |
File |
Line |
org/jomc/ant/JomcToolTask.java |
455 |
org/jomc/ant/WriteModelTask.java |
292 |
public final Specification getSpecification( final Model model )
{
if ( model == null )
{
throw new NullPointerException( "model" );
}
Specification s = null;
if ( this.getSpecification() != null )
{
final Modules modules = ModelHelper.getModules( model );
if ( modules != null )
{
s = modules.getSpecification( this.getSpecification() );
}
if ( s == null )
{
this.log( Messages.getMessage( "specificationNotFound", this.getSpecification() ), Project.MSG_WARN );
}
}
return s;
}
/**
* Gets the identifier of an implementation to process.
*
* @return The identifier of an implementation to process or {@code null}.
*
* @see #setImplementation(java.lang.String)
*/
public final String getImplementation() |
File |
Line |
org/jomc/ant/JomcToolTask.java |
579 |
org/jomc/ant/WriteModelTask.java |
416 |
public final Module getModule( final Model model )
{
if ( model == null )
{
throw new NullPointerException( "model" );
}
Module m = null;
if ( this.getModule() != null )
{
final Modules modules = ModelHelper.getModules( model );
if ( modules != null )
{
m = modules.getModule( this.getModule() );
}
if ( m == null )
{
this.log( Messages.getMessage( "moduleNotFound", this.getModule() ), Project.MSG_WARN );
}
}
return m;
} |