Return-Path: X-Original-To: apmail-commons-commits-archive@minotaur.apache.org Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CEA3D10E66 for ; Fri, 10 Jan 2014 20:15:11 +0000 (UTC) Received: (qmail 82968 invoked by uid 500); 10 Jan 2014 20:15:11 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 82872 invoked by uid 500); 10 Jan 2014 20:15:10 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 82865 invoked by uid 99); 10 Jan 2014 20:15:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Jan 2014 20:15:10 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Jan 2014 20:15:05 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id A1D8B2388868; Fri, 10 Jan 2014 20:14:45 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1557247 [1/2] - in /commons/proper/weaver/trunk: ./ ant/lib/src/main/java/org/apache/commons/weaver/ant/ build-tools/ build-tools/src/main/resources/org/apache/commons/proxy2/ build-tools/src/main/resources/org/apache/commons/weaver/ examp... Date: Fri, 10 Jan 2014 20:14:42 -0000 To: commits@commons.apache.org From: mbenson@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140110201445.A1D8B2388868@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mbenson Date: Fri Jan 10 20:14:41 2014 New Revision: 1557247 URL: http://svn.apache.org/r1557247 Log: checkstyle Added: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/package-info.java (with props) commons/proper/weaver/trunk/build-tools/ - copied from r1556597, commons/proper/proxy/branches/version-2.0-work/build-tools/ commons/proper/weaver/trunk/build-tools/src/main/resources/org/apache/commons/weaver/ - copied from r1556597, commons/proper/proxy/branches/version-2.0-work/build-tools/src/main/resources/org/apache/commons/proxy2/ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/package-info.java (with props) commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/package-info.java (with props) commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/package-info.java (with props) commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/package-info.java (with props) commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/package-info.java (with props) commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/package-info.java (with props) commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/spi/package-info.java (with props) commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/utils/package-info.java (with props) Removed: commons/proper/weaver/trunk/build-tools/src/main/resources/org/apache/commons/proxy2/ Modified: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/AbstractWeaverTask.java commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/CleanTask.java commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/InlineProperties.java commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaverSettings.java commons/proper/weaver/trunk/build-tools/pom.xml commons/proper/weaver/trunk/build-tools/src/main/resources/org/apache/commons/weaver/checkstyle.xml commons/proper/weaver/trunk/example/pom.xml commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Setup.java commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractPrepareMojo.java commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractWeaveMojo.java commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/JavaLoggingToMojoLoggingRedirector.java commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/PrepareMojo.java commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestPrepareMojo.java commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestWeaveMojo.java commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/WeaveMojo.java commons/proper/weaver/trunk/modules/normalizer/example/pom.xml commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/ContrivedWrapper.java commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/InstanceMembers.java commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/StaticMembers.java commons/proper/weaver/trunk/modules/normalizer/example/src/test/java/org/apache/commons/weaver/normalizer/example/NormalizerTest.java commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/NormalizerWeaver.java commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Utils.java commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privileged.java commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privilizing.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/AccessLevel.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Policy.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilized.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizingVisitor.java commons/proper/weaver/trunk/pom.xml commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Finder.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/Inflater.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/AnnotatedElements.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/NestedWeavable.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/ScanRequest.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/ScanResult.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/Scanner.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/Weavable.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableClass.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableConstructor.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableConstructorParameter.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableExecutable.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableField.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableMethod.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableMethodParameter.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavablePackage.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeavableParameter.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/model/WeaveInterest.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/spi/Cleaner.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/spi/Weaver.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/utils/Annotations.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/utils/Args.java commons/proper/weaver/trunk/processor/src/main/java/org/apache/commons/weaver/utils/URLArray.java commons/proper/weaver/trunk/src/site/markdown/index.md Modified: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/AbstractWeaverTask.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/AbstractWeaverTask.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/AbstractWeaverTask.java (original) +++ commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/AbstractWeaverTask.java Fri Jan 10 20:14:41 2014 @@ -29,11 +29,19 @@ import org.apache.tools.ant.types.Refere public abstract class AbstractWeaverTask extends Task { private WeaverSettings settings; + /** + * Create a new {@link AbstractWeaverTask} instance. + * @param project owner + */ protected AbstractWeaverTask(Project project) { super(); setProject(project); } + /** + * Add a nested {@link WeaverSettings}. + * @param settings to add + */ public void add(WeaverSettings settings) { if (this.settings != null) { throw new BuildException("settings already specified"); @@ -41,10 +49,18 @@ public abstract class AbstractWeaverTask this.settings = settings; } + /** + * Get the {@link WeaverSettings} in use. + * @return {@link WeaverSettings} + */ public WeaverSettings getSettings() { return settings; } + /** + * Set a project reference to a {@link WeaverSettings} object. + * @param refid key + */ public void setSettingsRef(String refid) { final WeaverSettings settings = new WeaverSettings(getProject()); settings.setRefid(new Reference(getProject(), refid)); Modified: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/CleanTask.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/CleanTask.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/CleanTask.java (original) +++ commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/CleanTask.java Fri Jan 10 20:14:41 2014 @@ -27,12 +27,19 @@ import org.apache.tools.ant.Project; * Clean Ant task. */ public class CleanTask extends AbstractWeaverTask { + /** + * Create a new {@link CleanTask} instance. + * @param project owner + */ public CleanTask(Project project) { super(project); } + /** + * Execute the clean task. + */ @Override - public void execute() throws BuildException { + public void execute() { try { final WeaverSettings settings = Validate.notNull(getSettings(), "settings"); final CleanProcessor cp = Modified: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/InlineProperties.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/InlineProperties.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/InlineProperties.java (original) +++ commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/InlineProperties.java Fri Jan 10 20:14:41 2014 @@ -24,36 +24,51 @@ import org.apache.commons.lang3.StringUt import org.apache.tools.ant.DynamicElement; /** - * Structure to allow inline specification of properties. - * - * Example: - * {pre}foo-value - * bar-value - * baz - * -nextline-value + *

Structure to allow inline specification of properties.

+ *

Example: + * {pre}<foo>foo-value</foo> + * <bar>bar-value</bar> + * <baz>baz + * -nextline-value</baz> * {/pre} + *

*/ public class InlineProperties implements DynamicElement { /** * Represents a single inline property. */ - public class InlineProperty { + public final class InlineProperty { private final String name; private InlineProperty(String name) { this.name = name; } + /** + * Add text to this property. + * @param text to add + */ public void addText(String text) { + final String value; if (properties.containsKey(name)) { - text = StringUtils.join(properties.getProperty(name), text); + value = StringUtils.join(properties.getProperty(name), text); + } else { + value = text; } - properties.setProperty(name, text); + properties.setProperty(name, value); } } + /** + * {@link Properties} object maintained by the {@link InlineProperties}. + */ final Properties properties = new Properties(); + /** + * Handle the specified nested element. + * @param name property name + * @return {@link InlineProperty} + */ public InlineProperty createDynamicElement(String name) { return new InlineProperty(name); } Modified: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java (original) +++ commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java Fri Jan 10 20:14:41 2014 @@ -27,12 +27,19 @@ import org.apache.tools.ant.Project; * Weave Ant task. */ public class WeaveTask extends AbstractWeaverTask { + /** + * Create a new {@link WeaveTask} instance. + * @param project owner + */ public WeaveTask(Project project) { super(project); } + /** + * Execute the weave task. + */ @Override - public void execute() throws BuildException { + public void execute() { try { final WeaverSettings settings = Validate.notNull(getSettings(), "settings"); final WeaveProcessor wp = Modified: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaverSettings.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaverSettings.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaverSettings.java (original) +++ commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaverSettings.java Fri Jan 10 20:14:41 2014 @@ -52,11 +52,19 @@ public class WeaverSettings extends Data private PropertySet propertySet; private InlineProperties inlineProperties; + /** + * Create a new {@link WeaverSettings} object. + * @param project owner + */ public WeaverSettings(Project project) { super(); setProject(project); } + /** + * Get the {@code target} directory. + * @return {@link File} + */ public File getTarget() { if (isReference()) { return getRef().getTarget(); @@ -64,6 +72,10 @@ public class WeaverSettings extends Data return target; } + /** + * Set the {@code target} directory. + * @param target {@link File} + */ public void setTarget(File target) { if (isReference()) { throw tooManyAttributes(); @@ -71,6 +83,10 @@ public class WeaverSettings extends Data this.target = target; } + /** + * Get the {@code classpathref}. + * @return {@link String} + */ public String getClasspathref() { if (isReference()) { return getRef().getClasspathref(); @@ -78,6 +94,10 @@ public class WeaverSettings extends Data return classpathref; } + /** + * Set the {@code classpathref}. + * @param classpathref {@link String} + */ public void setClasspathRef(String classpathref) { if (isReference()) { throw tooManyAttributes(); @@ -88,7 +108,6 @@ public class WeaverSettings extends Data /** * Return the effective classpath (system classpath + configured classpath) as a {@link List} of {@link String} * filesystem paths. - * * @return List */ public List getClasspathEntries() { @@ -102,6 +121,10 @@ public class WeaverSettings extends Data return Arrays.asList(p.list()); } + /** + * Get the {@code classpath}. + * @return {@link Path} + */ public Path getClasspath() { if (isReference()) { return getRef().getClasspath(); @@ -118,6 +141,10 @@ public class WeaverSettings extends Data return classpath; } + /** + * Set the {@code classpath}. + * @param classpath {@link Path} + */ public void setClasspath(Path classpath) { if (isReference()) { throw tooManyAttributes(); @@ -128,6 +155,10 @@ public class WeaverSettings extends Data this.classpath = classpath; } + /** + * Create the nested {@code properties}. + * @return {@link InlineProperties} + */ public InlineProperties createProperties() { if (isReference()) { throw noChildrenAllowed(); @@ -139,6 +170,10 @@ public class WeaverSettings extends Data return inlineProperties; } + /** + * Create a nested {@code propertyset}. + * @return {@link PropertySet} + */ public PropertySet createPropertySet() { if (isReference()) { throw noChildrenAllowed(); @@ -153,7 +188,6 @@ public class WeaverSettings extends Data /** * Merge nested {@code propertyset} and {@code properties}; latter takes precedence. - * * @return Properties */ public Properties getProperties() { Added: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/package-info.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/package-info.java?rev=1557247&view=auto ============================================================================== --- commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/package-info.java (added) +++ commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/package-info.java Fri Jan 10 20:14:41 2014 @@ -0,0 +1,4 @@ +/** + * Integration with Apache Ant. + */ +package org.apache.commons.weaver.ant; \ No newline at end of file Propchange: commons/proper/weaver/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/package-info.java ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/build-tools/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/build-tools/pom.xml?rev=1557247&r1=1556597&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/build-tools/pom.xml (original) +++ commons/proper/weaver/trunk/build-tools/pom.xml Fri Jan 10 20:14:41 2014 @@ -18,11 +18,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> org.apache.commons - commons-proxy2-parent - 2.0-SNAPSHOT + commons-weaver-parent + 1.0-SNAPSHOT 4.0.0 - commons-proxy2-build-tools - Commons Proxy Build Tools + commons-weaver-build-tools + Apache Commons Weaver Build Tools Provide common setup, from http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html Modified: commons/proper/weaver/trunk/build-tools/src/main/resources/org/apache/commons/weaver/checkstyle.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/build-tools/src/main/resources/org/apache/commons/weaver/checkstyle.xml?rev=1557247&r1=1556597&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/build-tools/src/main/resources/org/apache/commons/weaver/checkstyle.xml (original) +++ commons/proper/weaver/trunk/build-tools/src/main/resources/org/apache/commons/weaver/checkstyle.xml Fri Jan 10 20:14:41 2014 @@ -1,45 +1,207 @@ - + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + "-//Puppy Crawl//DTD Check Configuration 1.2//EN" + "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> + + - - + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: commons/proper/weaver/trunk/example/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/example/pom.xml?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/example/pom.xml (original) +++ commons/proper/weaver/trunk/example/pom.xml Fri Jan 10 20:14:41 2014 @@ -30,6 +30,7 @@ under the License. UTF-8 ON_INIT true + true Modified: commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Setup.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Setup.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Setup.java (original) +++ commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Setup.java Fri Jan 10 20:14:41 2014 @@ -18,7 +18,10 @@ package org.apache.commons.weaver.privil import java.security.AccessController; import java.security.PrivilegedAction; -class Setup { +final class Setup { + private Setup() { + } + /** * This simply allows us to to set up test classes by doing * privileged things without granting privileges to the test Modified: commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java (original) +++ commons/proper/weaver/trunk/example/src/main/java/org/apache/commons/weaver/privilizer/example/Utils.java Fri Jan 10 20:14:41 2014 @@ -18,8 +18,8 @@ */ package org.apache.commons.weaver.privilizer.example; -public class Utils { - public static class More { +public final class Utils { + public static final class More { private More() { } @@ -49,7 +49,8 @@ public class Utils { if (i <= 0) { return getProperty(key); } - return getProperty(--i, key); + int counter = i; + return getProperty(--counter, key); } public static String getProperty(String key) { Modified: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractPrepareMojo.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractPrepareMojo.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractPrepareMojo.java (original) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractPrepareMojo.java Fri Jan 10 20:14:41 2014 @@ -32,16 +32,34 @@ import org.apache.maven.plugins.annotati */ public abstract class AbstractPrepareMojo extends AbstractMojo { + /** + * {@code verbose} parameter. + */ @Parameter(defaultValue = "false") protected boolean verbose; + /** + * {@code weaver.config} parameter. + */ @Parameter(property = "weaver.config", required = false) protected Properties weaverConfig; + /** + * Get the classpath for this prepare mojo. + * @return {@link List} of {@link String} + */ protected abstract List getClasspath(); + /** + * Get the target directory for this prepare mojo. + * @return {@link File} + */ protected abstract File getTarget(); + /** + * Execute this mojo. + * @throws MojoExecutionException in the event of failure + */ @Override public void execute() throws MojoExecutionException { if (!getTarget().isDirectory()) { Modified: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractWeaveMojo.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractWeaveMojo.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractWeaveMojo.java (original) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/AbstractWeaveMojo.java Fri Jan 10 20:14:41 2014 @@ -32,16 +32,34 @@ import org.apache.maven.plugins.annotati */ public abstract class AbstractWeaveMojo extends AbstractMojo { + /** + * {@code verbose} parameter. + */ @Parameter(defaultValue = "false") protected boolean verbose; + /** + * {@code weaver.config} parameter. + */ @Parameter(property = "weaver.config", required = false) protected Properties weaverConfig; + /** + * Get the classpath for this weave mojo. + * @return {@link List} of {@link String} + */ protected abstract List getClasspath(); + /** + * Get the target directory for this weave mojo. + * @return {@link File} + */ protected abstract File getTarget(); + /** + * Execute this mojo. + * @throws MojoExecutionException in the event of failure + */ @Override public void execute() throws MojoExecutionException { final JavaLoggingToMojoLoggingRedirector logRedirector = new JavaLoggingToMojoLoggingRedirector(getLog()); Modified: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/JavaLoggingToMojoLoggingRedirector.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/JavaLoggingToMojoLoggingRedirector.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/JavaLoggingToMojoLoggingRedirector.java (original) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/JavaLoggingToMojoLoggingRedirector.java Fri Jan 10 20:14:41 2014 @@ -53,6 +53,7 @@ public class JavaLoggingToMojoLoggingRed /** * Activates this feature. + * @throws MojoExecutionException in the event of failure */ public void activate() throws MojoExecutionException { try { @@ -62,7 +63,7 @@ public class JavaLoggingToMojoLoggingRed rootLogger.removeHandler(handler); removedHandlers.add(handler); } - if (removedHandlers.size() == 0) { + if (removedHandlers.isEmpty()) { throw new MojoExecutionException("could not remove any handler. aborting."); } @@ -78,7 +79,7 @@ public class JavaLoggingToMojoLoggingRed } /** - * deactivate the redirection and put the original Handlers back in place + * Deactivate the redirection and put the original Handlers back in place * again. */ public void deactivate() { @@ -131,7 +132,7 @@ public class JavaLoggingToMojoLoggingRed private String getMessage(LogRecord record) { String message = record.getMessage(); ResourceBundle bundle = record.getResourceBundle(); - Object params[] = record.getParameters(); + Object[] params = record.getParameters(); if (bundle != null && bundle.containsKey(message)) { // todo: cannot enforce Locale.ENGLISH here message = bundle.getString(message); Modified: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/PrepareMojo.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/PrepareMojo.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/PrepareMojo.java (original) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/PrepareMojo.java Fri Jan 10 20:14:41 2014 @@ -21,27 +21,45 @@ package org.apache.commons.weaver.maven; import java.io.File; import java.util.List; +import org.apache.maven.model.Build; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProject; /** * Goal to clean woven classes. */ -@Mojo(name = "prepare", defaultPhase = LifecyclePhase.INITIALIZE, requiresDependencyCollection = ResolutionScope.COMPILE) +@Mojo( + name = "prepare", + defaultPhase = LifecyclePhase.INITIALIZE, + requiresDependencyCollection = ResolutionScope.COMPILE +) public class PrepareMojo extends AbstractPrepareMojo { + /** + * {@link MavenProject#getCompileClasspathElements()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.compileClasspathElements}") protected List classpath; + /** + * {@link Build#getOutputDirectory()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.build.outputDirectory}") protected File target; + /** + * {@inheritDoc} + */ @Override protected List getClasspath() { return classpath; } + /** + * {@inheritDoc} + */ @Override protected File getTarget() { return target; Modified: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestPrepareMojo.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestPrepareMojo.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestPrepareMojo.java (original) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestPrepareMojo.java Fri Jan 10 20:14:41 2014 @@ -21,28 +21,46 @@ package org.apache.commons.weaver.maven; import java.io.File; import java.util.List; +import org.apache.maven.model.Build; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProject; /** * Goal to clean woven test classes. */ -@Mojo(name = "test-prepare", defaultPhase = LifecyclePhase.INITIALIZE, requiresDependencyCollection = ResolutionScope.TEST) +@Mojo( + name = "test-prepare", + defaultPhase = LifecyclePhase.INITIALIZE, + requiresDependencyCollection = ResolutionScope.TEST +) public class TestPrepareMojo extends AbstractPrepareMojo { + /** + * {@link MavenProject#getTestClasspathElements()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.testClasspathElements}") protected List classpath; + /** + * {@link Build#getTestOutputDirectory()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.build.testOutputDirectory}") protected File target; + /** + * {@inheritDoc} + */ @Override protected List getClasspath() { return classpath; } + /** + * {@inheritDoc} + */ @Override protected File getTarget() { return target; Modified: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestWeaveMojo.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestWeaveMojo.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestWeaveMojo.java (original) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/TestWeaveMojo.java Fri Jan 10 20:14:41 2014 @@ -21,28 +21,46 @@ package org.apache.commons.weaver.maven; import java.io.File; import java.util.List; +import org.apache.maven.model.Build; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProject; /** * Goal to weave test classes. */ -@Mojo(name = "test-weave", defaultPhase = LifecyclePhase.PROCESS_TEST_CLASSES, requiresDependencyCollection = ResolutionScope.TEST) +@Mojo( + name = "test-weave", + defaultPhase = LifecyclePhase.PROCESS_TEST_CLASSES, + requiresDependencyCollection = ResolutionScope.TEST +) public class TestWeaveMojo extends AbstractWeaveMojo { + /** + * {@link MavenProject#getTestClasspathElements()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.testClasspathElements}") protected List classpath; + /** + * {@link Build#getTestOutputDirectory()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.build.testOutputDirectory}") protected File target; + /** + * {@inheritDoc} + */ @Override protected List getClasspath() { return classpath; } + /** + * {@inheritDoc} + */ @Override protected File getTarget() { return target; Modified: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/WeaveMojo.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/WeaveMojo.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/WeaveMojo.java (original) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/WeaveMojo.java Fri Jan 10 20:14:41 2014 @@ -21,28 +21,46 @@ package org.apache.commons.weaver.maven; import java.io.File; import java.util.List; +import org.apache.maven.model.Build; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProject; /** * Goal to weave classes. */ -@Mojo(name = "weave", defaultPhase = LifecyclePhase.PROCESS_CLASSES, requiresDependencyCollection = ResolutionScope.COMPILE) +@Mojo( + name = "weave", + defaultPhase = LifecyclePhase.PROCESS_CLASSES, + requiresDependencyCollection = ResolutionScope.COMPILE +) public class WeaveMojo extends AbstractWeaveMojo { + /** + * {@link MavenProject#getCompileClasspathElements()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.compileClasspathElements}") protected List classpath; + /** + * {@link Build#getOutputDirectory()}. + */ @Parameter(readonly = true, required = true, defaultValue = "${project.build.outputDirectory}") protected File target; + /** + * {@inheritDoc} + */ @Override protected List getClasspath() { return classpath; } + /** + * {@inheritDoc} + */ @Override protected File getTarget() { return target; Added: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/package-info.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/package-info.java?rev=1557247&view=auto ============================================================================== --- commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/package-info.java (added) +++ commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/package-info.java Fri Jan 10 20:14:41 2014 @@ -0,0 +1,4 @@ +/** + * Integration with Apache Maven. + */ +package org.apache.commons.weaver.maven; \ No newline at end of file Propchange: commons/proper/weaver/trunk/maven-plugin/src/main/java/org/apache/commons/weaver/maven/package-info.java ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/modules/normalizer/example/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/example/pom.xml?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/example/pom.xml (original) +++ commons/proper/weaver/trunk/modules/normalizer/example/pom.xml Fri Jan 10 20:14:41 2014 @@ -28,6 +28,7 @@ under the License. Apache Commons Weaver Normalizer Example UTF-8 + true @@ -49,7 +50,7 @@ under the License. - org.apache.commons.weaver.normalizer.example.TypeLiteral, + org.apache.commons.lang3.reflect.TypeLiteral, org.apache.commons.weaver.normalizer.example.ContrivedWrapper org.apache.commons.weaver.normalizer.example.normalized Modified: commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/ContrivedWrapper.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/ContrivedWrapper.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/ContrivedWrapper.java (original) +++ commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/ContrivedWrapper.java Fri Jan 10 20:14:41 2014 @@ -34,7 +34,7 @@ public abstract class ContrivedWrapper { if (obj == this) { return true; } - if (obj instanceof ContrivedWrapper == false) { + if (!(obj instanceof ContrivedWrapper)) { return false; } final ContrivedWrapper other = (ContrivedWrapper) obj; Modified: commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/InstanceMembers.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/InstanceMembers.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/InstanceMembers.java (original) +++ commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/InstanceMembers.java Fri Jan 10 20:14:41 2014 @@ -18,14 +18,16 @@ */ package org.apache.commons.weaver.normalizer.example; +import org.apache.commons.lang3.reflect.TypeLiteral; + public class InstanceMembers { - public final TypeLiteral STRING_TYPE = new TypeLiteral() {}; - public final TypeLiteral STRING_TYPE2 = new TypeLiteral() {}; - public final TypeLiteral> INTEGER_ITERABLE_TYPE = new TypeLiteral>() {}; - - public final ContrivedWrapper WRAPPED_OBJECT = new ContrivedWrapper(new Object()) {}; - public final ContrivedWrapper WRAPPED_STRING = new ContrivedWrapper("foo") {}; - public final ContrivedWrapper WRAPPED_STRING2 = new ContrivedWrapper("foo") {}; - public final ContrivedWrapper WRAPPED_INTEGER = new ContrivedWrapper(Integer.valueOf(1)) {}; - public final ContrivedWrapper WRAPPED_INT = new ContrivedWrapper(1) {}; + public final TypeLiteral stringType = new TypeLiteral() { }; + public final TypeLiteral stringType2 = new TypeLiteral() { }; + public final TypeLiteral> integerIterableType = new TypeLiteral>() { }; + + public final ContrivedWrapper wrappedObject = new ContrivedWrapper(new Object()) { }; + public final ContrivedWrapper wrappedString = new ContrivedWrapper("foo") { }; + public final ContrivedWrapper wrappedString2 = new ContrivedWrapper("foo") { }; + public final ContrivedWrapper wrappedInteger = new ContrivedWrapper(Integer.valueOf(1)) { }; + public final ContrivedWrapper wrappedInt = new ContrivedWrapper(1) { }; } Modified: commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/StaticMembers.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/StaticMembers.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/StaticMembers.java (original) +++ commons/proper/weaver/trunk/modules/normalizer/example/src/main/java/org/apache/commons/weaver/normalizer/example/StaticMembers.java Fri Jan 10 20:14:41 2014 @@ -18,14 +18,19 @@ */ package org.apache.commons.weaver.normalizer.example; -public class StaticMembers { - public static final TypeLiteral STRING_TYPE = new TypeLiteral() {}; - public static final TypeLiteral STRING_TYPE2 = new TypeLiteral() {}; - public static final TypeLiteral> INTEGER_ITERABLE_TYPE = new TypeLiteral>() {}; - - public static final ContrivedWrapper WRAPPED_OBJECT = new ContrivedWrapper(new Object()) {}; - public static final ContrivedWrapper WRAPPED_STRING = new ContrivedWrapper("foo") {}; - public static final ContrivedWrapper WRAPPED_STRING2 = new ContrivedWrapper("foo") {}; - public static final ContrivedWrapper WRAPPED_INTEGER = new ContrivedWrapper(Integer.valueOf(1)) {}; - public static final ContrivedWrapper WRAPPED_INT = new ContrivedWrapper(1) {}; +import org.apache.commons.lang3.reflect.TypeLiteral; + +public final class StaticMembers { + private StaticMembers() { + } + + public static final TypeLiteral STRING_TYPE = new TypeLiteral() { }; + public static final TypeLiteral STRING_TYPE2 = new TypeLiteral() { }; + public static final TypeLiteral> INTEGER_ITERABLE_TYPE = new TypeLiteral>() { }; + + public static final ContrivedWrapper WRAPPED_OBJECT = new ContrivedWrapper(new Object()) { }; + public static final ContrivedWrapper WRAPPED_STRING = new ContrivedWrapper("foo") { }; + public static final ContrivedWrapper WRAPPED_STRING2 = new ContrivedWrapper("foo") { }; + public static final ContrivedWrapper WRAPPED_INTEGER = new ContrivedWrapper(Integer.valueOf(1)) { }; + public static final ContrivedWrapper WRAPPED_INT = new ContrivedWrapper(1) { }; } Modified: commons/proper/weaver/trunk/modules/normalizer/example/src/test/java/org/apache/commons/weaver/normalizer/example/NormalizerTest.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/example/src/test/java/org/apache/commons/weaver/normalizer/example/NormalizerTest.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/example/src/test/java/org/apache/commons/weaver/normalizer/example/NormalizerTest.java (original) +++ commons/proper/weaver/trunk/modules/normalizer/example/src/test/java/org/apache/commons/weaver/normalizer/example/NormalizerTest.java Fri Jan 10 20:14:41 2014 @@ -37,12 +37,12 @@ public class NormalizerTest { final Class stringLiteral = StaticMembers.STRING_TYPE.getClass(); assertTrue(stringLiteral.isInstance(StaticMembers.STRING_TYPE2)); assertFalse(stringLiteral.isInstance(StaticMembers.INTEGER_ITERABLE_TYPE)); - assertTrue(stringLiteral.isInstance(instanceMembers.STRING_TYPE)); - assertTrue(stringLiteral.isInstance(instanceMembers.STRING_TYPE2)); - assertFalse(stringLiteral.isInstance(instanceMembers.INTEGER_ITERABLE_TYPE)); + assertTrue(stringLiteral.isInstance(instanceMembers.stringType)); + assertTrue(stringLiteral.isInstance(instanceMembers.stringType2)); + assertFalse(stringLiteral.isInstance(instanceMembers.integerIterableType)); final Class integerIterable = StaticMembers.INTEGER_ITERABLE_TYPE.getClass(); - assertTrue(integerIterable.isInstance(instanceMembers.INTEGER_ITERABLE_TYPE)); + assertTrue(integerIterable.isInstance(instanceMembers.integerIterableType)); } @Test @@ -52,12 +52,12 @@ public class NormalizerTest { assertTrue(objectWrapper.isInstance(StaticMembers.WRAPPED_STRING2)); assertTrue(objectWrapper.isInstance(StaticMembers.WRAPPED_INTEGER)); assertFalse(objectWrapper.isInstance(StaticMembers.WRAPPED_INT)); - assertTrue(objectWrapper.isInstance(instanceMembers.WRAPPED_OBJECT)); - assertTrue(objectWrapper.isInstance(instanceMembers.WRAPPED_STRING)); - assertTrue(objectWrapper.isInstance(instanceMembers.WRAPPED_STRING2)); - assertTrue(objectWrapper.isInstance(instanceMembers.WRAPPED_INTEGER)); - assertFalse(objectWrapper.isInstance(instanceMembers.WRAPPED_INT)); + assertTrue(objectWrapper.isInstance(instanceMembers.wrappedObject)); + assertTrue(objectWrapper.isInstance(instanceMembers.wrappedString)); + assertTrue(objectWrapper.isInstance(instanceMembers.wrappedString2)); + assertTrue(objectWrapper.isInstance(instanceMembers.wrappedInteger)); + assertFalse(objectWrapper.isInstance(instanceMembers.wrappedInt)); final Class intWrapper = StaticMembers.WRAPPED_INT.getClass(); - assertTrue(intWrapper.isInstance(instanceMembers.WRAPPED_INT)); + assertTrue(intWrapper.isInstance(instanceMembers.wrappedInt)); } } Modified: commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java (original) +++ commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java Fri Jan 10 20:14:41 2014 @@ -95,8 +95,8 @@ public class Normalizer { } @Override - public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { - super.visit(version, access, name, signature, superName, interfaces); + public void visit(int version, int access, String name, String signature, String superName, String[] intrfces) { + super.visit(version, access, name, signature, superName, intrfces); className = name; } @@ -250,16 +250,17 @@ public class Normalizer { return new MethodVisitor(Opcodes.ASM4, mv) { @Override public void visitMethodInsn(int opcode, String owner, String name, String desc) { + String useDescriptor = desc; if ("".equals(name)) { final ClassWrapper w = e.getValue().get(owner); if (w != null && w.mustRewriteConstructor) { // simply replace first argument type with OBJECT_TYPE: final Type[] args = Type.getArgumentTypes(desc); args[0] = OBJECT_TYPE; - desc = new Method("", Type.VOID_TYPE, args).getDescriptor(); + useDescriptor = new Method("", Type.VOID_TYPE, args).getDescriptor(); } } - super.visitMethodInsn(opcode, owner, name, desc); + super.visitMethodInsn(opcode, owner, name, useDescriptor); } }; } @@ -281,16 +282,16 @@ public class Normalizer { } /** - * Find subclasses/implementors of {code supertype} that: + *

Find subclasses/implementors of {code supertype} that: *

    *
  • are anonymous
  • *
  • declare a single constructor (probably redundant in the case of an anonymous class)
  • *
  • do not implement any methods
  • *
- * + *

* Considered "broadly" eligible because the instructions in the implemented constructor may remove the class from * consideration later on. - * + *

* @param supertype whose subtypes are sought * @param scanner to use * @return {@link Set} of {@link Class} @@ -319,20 +320,22 @@ public class Normalizer { } /** - * Segregate a number of classes (presumed subclasses/implementors of a common supertype/interface). The keys of the - * map consist of the important parts for identifying similar anonymous types: the "signature" and the invoked - * superclass constructor. For our purposes, the signature consists of the first applicable item of: + *

Segregate a number of classes (presumed subclasses/implementors of a + * common supertype/interface). The keys of the map consist of the important + * parts for identifying similar anonymous types: the "signature" and the + * invoked superclass constructor. For our purposes, the signature consists + * of the first applicable item of: *

    *
  1. The generic signature of the class
  2. *
  3. The sole implemented interface
  4. *
  5. The superclass
  6. *
- * + *

* The class will be considered ineligible if its constructor is too "busy" as its side effects cannot be * anticipated; the normalizer will err on the side of caution. - * + *

* Further, we will here avail ourselves of the opportunity to discard any types we have already normalized. - * + *

* @param subtypes * @return Map of Pair to Set of Classes * @throws Exception @@ -426,7 +429,6 @@ public class Normalizer { * Create the normalized version of a given class in the configured target package. The {@link Normalizer} will * gladly do so in a package from which the normalized class will not actually be able to reference any types upon * which it relies; in such a situation you must specify the target package as the package of the supertype. - * * @param key used to generate the normalized classname. * @param classWrapper * @return the generated classname. Modified: commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/NormalizerWeaver.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/NormalizerWeaver.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/NormalizerWeaver.java (original) +++ commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/NormalizerWeaver.java Fri Jan 10 20:14:41 2014 @@ -28,6 +28,9 @@ import org.apache.commons.weaver.spi.Wea */ public class NormalizerWeaver implements Weaver { + /** + * {@inheritDoc} + */ @Override public boolean process(WeaveEnvironment environment, Scanner scanner) { return new Normalizer(environment).normalize(scanner); Modified: commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Utils.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Utils.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Utils.java (original) +++ commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/Utils.java Fri Jan 10 20:14:41 2014 @@ -20,43 +20,62 @@ import java.util.LinkedHashSet; import java.util.Set; import org.apache.commons.lang3.ClassUtils; -import org.apache.commons.lang3.Conversion; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; -class Utils { +/** + * Normalization utilities. + */ +final class Utils { + private Utils() { + } + /** + * Validate a package name. + * @param pkg to validate + * @return {@code pkg}, ({@code ""} if {@code null}), having replaced + * {@code '.'} with {@code '/'} and removed any terminating separator + * @throws IllegalArgumentException if invalid + */ static String validatePackageName(String pkg) { if (StringUtils.isBlank(pkg)) { return ""; } - pkg = pkg.trim(); + String result = pkg.trim(); final String unexpected = "Unexpected character %s at pos %s of package name \"%s\""; boolean next = true; - for (int pos = 0; pos < pkg.length(); pos++) { - final char c = pkg.charAt(pos); + for (int pos = 0; pos < result.length(); pos++) { + final char c = result.charAt(pos); if (next) { next = false; - Validate.isTrue(Character.isJavaIdentifierStart(c), unexpected, c, pos, pkg); + Validate.isTrue(Character.isJavaIdentifierStart(c), unexpected, c, pos, result); continue; } if (c == '/' || c == '.') { next = true; continue; } - Validate.isTrue(Character.isJavaIdentifierPart(c), unexpected, c, pos, pkg); + Validate.isTrue(Character.isJavaIdentifierPart(c), unexpected, c, pos, result); } - pkg = pkg.replace('.', '/'); - final int last = pkg.length() - 1; - if (pkg.charAt(last) == '/') { - pkg = pkg.substring(0, last); + result = result.replace('.', '/'); + final int last = result.length() - 1; + if (result.charAt(last) == '/') { + result = result.substring(0, last); } - return pkg; + return result; } + /** + * Parse a number of Java types speciified as a comma-delimited + * {@link String} of fully-qualified or internal names (i.e., slashes are + * legal). + * @param types to parse + * @param cl {@link ClassLoader} to search + * @return {@link Set} of {@link Class} + */ static Set> parseTypes(String types, ClassLoader cl) { final Set> result = new LinkedHashSet>(); for (String s : StringUtils.splitByWholeSeparatorPreserveAllTokens(types, ",")) { Added: commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/package-info.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/package-info.java?rev=1557247&view=auto ============================================================================== --- commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/package-info.java (added) +++ commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/package-info.java Fri Jan 10 20:14:41 2014 @@ -0,0 +1,5 @@ +/** + * Implements the Normalizer weaver, whose purpose is to collapse identical + * anonymous class definitions into a single one. + */ +package org.apache.commons.weaver.normalizer; \ No newline at end of file Propchange: commons/proper/weaver/trunk/modules/normalizer/weaver/src/main/java/org/apache/commons/weaver/normalizer/package-info.java ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privileged.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privileged.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privileged.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privileged.java Fri Jan 10 20:14:41 2014 @@ -24,7 +24,8 @@ import java.lang.annotation.RetentionPol import java.lang.annotation.Target; /** - * Marks a method as needing to execute in a privileged fashion in secured environments. + * Marks a method as needing to execute in a privileged fashion in secured + * environments. */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.CLASS) Modified: commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privilizing.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privilizing.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privilizing.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/Privilizing.java Fri Jan 10 20:14:41 2014 @@ -28,11 +28,23 @@ import java.lang.annotation.Target; */ @Target(ElementType.TYPE) public @interface Privilizing { + /** + * Models calls to blueprint methods defined on a specific class. + */ public @interface CallTo { + /** + * The class owning one or more blueprint method. + */ Class value(); - String[] methods() default {}; + /** + * The names of the blueprint methods. + */ + String[] methods() default { }; } + /** + * List of blueprint calls. + */ CallTo[] value(); } Added: commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/package-info.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/package-info.java?rev=1557247&view=auto ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/package-info.java (added) +++ commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/package-info.java Fri Jan 10 20:14:41 2014 @@ -0,0 +1,4 @@ +/** + * Defines the annotations that drive the privilizer weaver. + */ +package org.apache.commons.weaver.privilizer; \ No newline at end of file Propchange: commons/proper/weaver/trunk/modules/privilizer/api/src/main/java/org/apache/commons/weaver/privilizer/package-info.java ------------------------------------------------------------------------------ svn:executable = * Modified: commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/AccessLevel.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/AccessLevel.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/AccessLevel.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/AccessLevel.java Fri Jan 10 20:14:41 2014 @@ -26,8 +26,29 @@ import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; +/** + * Enumerates the Java access levels. + */ public enum AccessLevel { - PUBLIC(Modifier.PUBLIC), PROTECTED(Modifier.PROTECTED), PACKAGE(0), PRIVATE(Modifier.PRIVATE); + /** + * {@code public}. + */ + PUBLIC(Modifier.PUBLIC), + + /** + * {@code protected}. + */ + PROTECTED(Modifier.PROTECTED), + + /** + * {@code ""}. + */ + PACKAGE(0), + + /** + * {@code private}. + */ + PRIVATE(Modifier.PRIVATE); private final int flag; @@ -35,6 +56,12 @@ public enum AccessLevel { this.flag = flag; } + /** + * Get the {@link AccessLevel} specified by a Java modifier. + * @param mod from which to extract + * @return {@link AccessLevel} + * @throws IllegalArgumentException if multiple access modifiers specified + */ public static AccessLevel of(int mod) { final Set matched = EnumSet.noneOf(AccessLevel.class); if (Modifier.isPublic(mod)) { @@ -53,6 +80,11 @@ public enum AccessLevel { return matched.iterator().next(); } + /** + * Overlay this {@link AccessLevel} onto a Java modifier value. + * @param mod input + * @return {@code mod}, with this {@link AccessLevel} + */ public int merge(int mod) { int remove = 0; for (AccessLevel accessLevel : EnumSet.complementOf(EnumSet.of(this))) { @@ -61,6 +93,10 @@ public enum AccessLevel { return mod & ~remove | flag; } + /** + * Render this {@link AccessLevel} as a {@link String}. + * @return {@link String} + */ @Override public String toString() { return name().toLowerCase(Locale.US); @@ -68,7 +104,8 @@ public enum AccessLevel { /** * Get the {@link AccessLevel} value that should be used as a default. - * + * This is not "default"/{@code package} access, but rather the default + * value that should be used for privilizer weaving. * @return {@link AccessLevel#PRIVATE} */ public static AccessLevel defaultValue() { @@ -77,8 +114,7 @@ public enum AccessLevel { /** * Parse from a {@link String} returning {@link #defaultValue()} for blank/null input. - * - * @param s + * @param s to parse * @return {@link AccessLevel} */ public static AccessLevel parse(String s) { Modified: commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/ActionGenerator.java Fri Jan 10 20:14:41 2014 @@ -54,6 +54,13 @@ class ActionGenerator extends Privilizer final Field[] fields; private final Type actionInterface; + /** + * Create a new {@link ActionGenerator}. + * @param access modifier + * @param m {@link Method} to implement + * @param exceptions thrown + * @param owner of the action class + */ ActionGenerator(final int access, final Method m, final String[] exceptions, PrivilizingVisitor owner) { owner.privilizer().super(new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES)); this.m = m; @@ -155,13 +162,12 @@ class ActionGenerator extends Privilizer final String signature = type.toString(); visit(Opcodes.V1_5, Opcodes.ACC_SUPER | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_FINAL, action.getInternalName(), - signature, Type.getType(Object.class).getInternalName(), new String[] { actionInterface.getInternalName() }); + signature, Type.getType(Object.class).getInternalName(), + new String[] { actionInterface.getInternalName() }); } /** * Add fields and generate constructor. - * - * @param cv */ private void init() { for (Field field : fields) { @@ -201,8 +207,6 @@ class ActionGenerator extends Privilizer /** * Generate impl method. - * - * @param cv */ private void impl() { final Method run = Method.getMethod("Object run()"); Modified: commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/BlueprintingVisitor.java Fri Jan 10 20:14:41 2014 @@ -49,6 +49,9 @@ import org.objectweb.asm.commons.Method; import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.MethodNode; +/** + * {@link ClassVisitor} to import so-called "blueprint methods". + */ class BlueprintingVisitor extends Privilizer.PrivilizerClassVisitor { private final Set blueprintTypes = new HashSet(); @@ -61,6 +64,12 @@ class BlueprintingVisitor extends Privil private final ClassVisitor next; + /** + * Create a new {@link BlueprintingVisitor}. + * @param privilizer owner + * @param cv wrapped + * @param config annotation + */ BlueprintingVisitor(Privilizer privilizer, ClassVisitor cv, Privilizing config) { privilizer.super(new ClassNode(Opcodes.ASM4)); this.next = cv; @@ -220,7 +229,8 @@ class BlueprintingVisitor extends Privil final Pair k = Pair.of(type, name); // skip shadowed fields: if (!fieldAccessMap.containsKey(k)) { - fieldAccessMap.put(k, new FieldAccess(access, target, name, Type.getType(desc))); + fieldAccessMap.put(k, + new FieldAccess(access, target, name, Type.getType(desc))); } } return null; @@ -235,8 +245,6 @@ class BlueprintingVisitor extends Privil } } catch (Exception e) { throw new RuntimeException(e); - } finally { - } Validate.isTrue(fieldAccessMap.containsKey(key), "Could not locate %s.%s", owner.getClassName(), name); } Modified: commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Field.java Fri Jan 10 20:14:41 2014 @@ -27,10 +27,27 @@ import org.objectweb.asm.Type; * Represents a Java field. */ public class Field { + /** + * Access modifier. + */ public final int access; + + /** + * Field name. + */ public final String name; + + /** + * Field type. + */ public final Type type; + /** + * Create a new {@link Field}. + * @param access modifier + * @param name of field + * @param type of field + */ public Field(int access, String name, Type type) { super(); this.access = access; @@ -40,8 +57,7 @@ public class Field { /** * Considers name and type. - * - * @param obj + * @param obj to check for equality * @return whether equal */ @Override @@ -49,7 +65,7 @@ public class Field { if (obj == this) { return true; } - if (obj instanceof Field == false) { + if (!(obj instanceof Field)) { return false; } final Field other = (Field) obj; @@ -58,7 +74,6 @@ public class Field { /** * Considers name and type. - * * @return hashCode */ @Override Modified: commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FieldAccess.java Fri Jan 10 20:14:41 2014 @@ -20,25 +20,48 @@ package org.apache.commons.weaver.privil import org.objectweb.asm.Type; +/** + * Models the action of accessing a field by extending {@link Field} with an + * accessing type. + */ public class FieldAccess extends Field { + /** + * {@link Type} from which field is accessed. + */ public final Type owner; + /** + * Create a new {@link FieldAccess}. + * @param access operation + * @param owner {@link Type} from which field is accessed. + * @param name of field + * @param type of field + */ public FieldAccess(int access, Type owner, String name, Type type) { super(access, name, type); this.owner = owner; } + /** + * Compare against {@code obj} for equality. + * @param obj to compare + * @return whether Objects are equal + */ @Override public boolean equals(Object obj) { if (obj == this) { return true; } - if (obj instanceof FieldAccess == false) { + if (!(obj instanceof FieldAccess)) { return false; } return super.equals(obj) && ((FieldAccess) obj).owner.equals(owner); } + /** + * Generate a hashCode. + * @return int + */ @Override public int hashCode() { final int result = super.hashCode() << 4; Modified: commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java URL: http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java?rev=1557247&r1=1557246&r2=1557247&view=diff ============================================================================== --- commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java (original) +++ commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/InlineNestedPrivilegedCalls.java Fri Jan 10 20:14:41 2014 @@ -38,10 +38,16 @@ class InlineNestedPrivilegedCalls extend private final ClassVisitor next; /** - * Map of original method to name of internal implementation method + * Map of original method to name of internal implementation method. */ private final Map privilegedMethods; + /** + * Create a new {@link InlineNestedPrivilegedCalls} object. + * @param privilizer owner + * @param privilegedMethods map of original method to name of internal implementation method + * @param next visitor + */ InlineNestedPrivilegedCalls(Privilizer privilizer, Map privilegedMethods, ClassVisitor next) { super(Opcodes.ASM4); this.privilizer = privilizer; @@ -62,15 +68,16 @@ class InlineNestedPrivilegedCalls extend if (privilegedMethods.containsValue(name)) { return new MethodVisitor(Opcodes.ASM4, orig) { public void visitMethodInsn(int opcode, String owner, String name, String desc) { + String useName = name; if (owner.equals(InlineNestedPrivilegedCalls.this.name)) { final Method m = new Method(name, desc); if (privilegedMethods.containsKey(m)) { - name = privilegedMethods.get(m); + useName = privilegedMethods.get(m); privilizer.env.debug("Inlining call from %s to %s as %s", outer, m, - name); + useName); } } - super.visitMethodInsn(opcode, owner, name, desc); + super.visitMethodInsn(opcode, owner, useName, desc); } }; }