You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/11/24 20:52:32 UTC
svn commit: r1771226 - in /tomcat/trunk: java/org/apache/naming/
webapps/docs/
Author: markt
Date: Thu Nov 24 20:52:31 2016
New Revision: 1771226
URL: http://svn.apache.org/viewvc?rev=1771226&view=rev
Log:
Clean up.
Refactoring to add a base class to:
- reduce duplication in the getFactoryClassName() method
- reduce duplication in the toString()method where present
- provide each type of Ref with a consistent toString() implementation
Added:
tomcat/trunk/java/org/apache/naming/AbstractRef.java (with props)
Modified:
tomcat/trunk/java/org/apache/naming/EjbRef.java
tomcat/trunk/java/org/apache/naming/HandlerRef.java
tomcat/trunk/java/org/apache/naming/ResourceEnvRef.java
tomcat/trunk/java/org/apache/naming/ResourceLinkRef.java
tomcat/trunk/java/org/apache/naming/ResourceRef.java
tomcat/trunk/java/org/apache/naming/ServiceRef.java
tomcat/trunk/java/org/apache/naming/TransactionRef.java
tomcat/trunk/webapps/docs/changelog.xml
Added: tomcat/trunk/java/org/apache/naming/AbstractRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/AbstractRef.java?rev=1771226&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/naming/AbstractRef.java (added)
+++ tomcat/trunk/java/org/apache/naming/AbstractRef.java Thu Nov 24 20:52:31 2016
@@ -0,0 +1,87 @@
+/*
+ * 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.
+ */
+package org.apache.naming;
+
+import java.util.Enumeration;
+
+import javax.naming.Context;
+import javax.naming.RefAddr;
+import javax.naming.Reference;
+
+public abstract class AbstractRef extends Reference {
+
+ private static final long serialVersionUID = 1L;
+
+
+ public AbstractRef(String className) {
+ super(className);
+ }
+
+
+ public AbstractRef(String className, String factory, String factoryLocation) {
+ super(className, factory, factoryLocation);
+ }
+
+
+ /**
+ * Retrieves the class name of the factory of the object to which this
+ * reference refers.
+ */
+ @Override
+ public final String getFactoryClassName() {
+ String factory = super.getFactoryClassName();
+ if (factory != null) {
+ return factory;
+ } else {
+ factory = System.getProperty(Context.OBJECT_FACTORIES);
+ if (factory != null) {
+ return null;
+ } else {
+ return getDefaultFactoryClassName();
+ }
+ }
+ }
+
+
+ protected abstract String getDefaultFactoryClassName();
+
+
+ /**
+ * Return a String rendering of this object.
+ */
+ @Override
+ public final String toString() {
+ StringBuilder sb = new StringBuilder(this.getClass().getSimpleName());
+ sb.append("[className=");
+ sb.append(getClassName());
+ sb.append(",factoryClassLocation=");
+ sb.append(getFactoryClassLocation());
+ sb.append(",factoryClassName=");
+ sb.append(getFactoryClassName());
+ Enumeration<RefAddr> refAddrs = getAll();
+ while (refAddrs.hasMoreElements()) {
+ RefAddr refAddr = refAddrs.nextElement();
+ sb.append(",{type=");
+ sb.append(refAddr.getType());
+ sb.append(",content=");
+ sb.append(refAddr.getContent());
+ sb.append("}");
+ }
+ sb.append("]");
+ return sb.toString();
+ }
+}
Propchange: tomcat/trunk/java/org/apache/naming/AbstractRef.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tomcat/trunk/java/org/apache/naming/EjbRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/EjbRef.java?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/EjbRef.java (original)
+++ tomcat/trunk/java/org/apache/naming/EjbRef.java Thu Nov 24 20:52:31 2016
@@ -14,12 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.naming;
-import javax.naming.Context;
-import javax.naming.Reference;
import javax.naming.StringRefAddr;
/**
@@ -27,17 +23,16 @@ import javax.naming.StringRefAddr;
*
* @author Remy Maucherat
*/
-public class EjbRef extends Reference {
+public class EjbRef extends AbstractRef {
private static final long serialVersionUID = 1L;
- // -------------------------------------------------------------- Constants
/**
* Default factory for this reference.
*/
public static final String DEFAULT_FACTORY =
- org.apache.naming.factory.Constants.DEFAULT_EJB_FACTORY;
+ org.apache.naming.factory.Constants.DEFAULT_EJB_FACTORY;
/**
@@ -58,9 +53,6 @@ public class EjbRef extends Reference {
public static final String LINK = "link";
- // ----------------------------------------------------------- Constructors
-
-
/**
* EJB Reference.
*
@@ -86,7 +78,7 @@ public class EjbRef extends Reference {
* the factory (e.g. URL)
*/
public EjbRef(String ejbType, String home, String remote, String link,
- String factory, String factoryLocation) {
+ String factory, String factoryLocation) {
super(home, factory, factoryLocation);
StringRefAddr refAddr = null;
if (ejbType != null) {
@@ -104,36 +96,8 @@ public class EjbRef extends Reference {
}
- // ----------------------------------------------------- Instance Variables
-
-
- // -------------------------------------------------------- RefAddr Methods
-
-
- // ------------------------------------------------------ Reference Methods
-
-
- /**
- * Retrieves the class name of the factory of the object to which this
- * reference refers.
- */
@Override
- public String getFactoryClassName() {
- String factory = super.getFactoryClassName();
- if (factory != null) {
- return factory;
- } else {
- factory = System.getProperty(Context.OBJECT_FACTORIES);
- if (factory != null) {
- return null;
- } else {
- return DEFAULT_FACTORY;
- }
- }
+ protected String getDefaultFactoryClassName() {
+ return DEFAULT_FACTORY;
}
-
-
- // ------------------------------------------------------------- Properties
-
-
}
Modified: tomcat/trunk/java/org/apache/naming/HandlerRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/HandlerRef.java?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/HandlerRef.java (original)
+++ tomcat/trunk/java/org/apache/naming/HandlerRef.java Thu Nov 24 20:52:31 2016
@@ -14,15 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.naming;
-import java.util.Enumeration;
-
-import javax.naming.Context;
-import javax.naming.RefAddr;
-import javax.naming.Reference;
import javax.naming.StringRefAddr;
/**
@@ -30,18 +23,16 @@ import javax.naming.StringRefAddr;
*
* @author Fabien Carrion
*/
-
-public class HandlerRef extends Reference {
+public class HandlerRef extends AbstractRef {
private static final long serialVersionUID = 1L;
- // -------------------------------------------------------------- Constants
/**
* Default factory for this reference.
*/
public static final String DEFAULT_FACTORY =
- org.apache.naming.factory.Constants.DEFAULT_HANDLER_FACTORY;
+ org.apache.naming.factory.Constants.DEFAULT_HANDLER_FACTORY;
/**
@@ -92,9 +83,6 @@ public class HandlerRef extends Referenc
public static final String HANDLER_PORTNAME = "handlerportname";
- // ----------------------------------------------------------- Constructors
-
-
public HandlerRef(String refname, String handlerClass) {
this(refname, handlerClass, null, null);
}
@@ -115,64 +103,8 @@ public class HandlerRef extends Referenc
}
- // ----------------------------------------------------- Instance Variables
-
-
- // ------------------------------------------------------ Reference Methods
-
-
- /**
- * Retrieves the class name of the factory of the object to which this
- * reference refers.
- */
- @Override
- public String getFactoryClassName() {
- String factory = super.getFactoryClassName();
- if (factory != null) {
- return factory;
- } else {
- factory = System.getProperty(Context.OBJECT_FACTORIES);
- if (factory != null) {
- return null;
- } else {
- return DEFAULT_FACTORY;
- }
- }
- }
-
-
- // --------------------------------------------------------- Public Methods
-
-
- /**
- * Return a String rendering of this object.
- */
@Override
- public String toString() {
-
- StringBuilder sb = new StringBuilder("HandlerRef[");
- sb.append("className=");
- sb.append(getClassName());
- sb.append(",factoryClassLocation=");
- sb.append(getFactoryClassLocation());
- sb.append(",factoryClassName=");
- sb.append(getFactoryClassName());
- Enumeration<RefAddr> refAddrs = getAll();
- while (refAddrs.hasMoreElements()) {
- RefAddr refAddr = refAddrs.nextElement();
- sb.append(",{type=");
- sb.append(refAddr.getType());
- sb.append(",content=");
- sb.append(refAddr.getContent());
- sb.append("}");
- }
- sb.append("]");
- return (sb.toString());
-
+ protected String getDefaultFactoryClassName() {
+ return DEFAULT_FACTORY;
}
-
-
- // ------------------------------------------------------------- Properties
-
-
}
Modified: tomcat/trunk/java/org/apache/naming/ResourceEnvRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/ResourceEnvRef.java?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/ResourceEnvRef.java (original)
+++ tomcat/trunk/java/org/apache/naming/ResourceEnvRef.java Thu Nov 24 20:52:31 2016
@@ -16,15 +16,12 @@
*/
package org.apache.naming;
-import javax.naming.Context;
-import javax.naming.Reference;
-
/**
* Represents a reference address to a resource environment.
*
* @author Remy Maucherat
*/
-public class ResourceEnvRef extends Reference {
+public class ResourceEnvRef extends AbstractRef {
private static final long serialVersionUID = 1L;
@@ -33,7 +30,7 @@ public class ResourceEnvRef extends Refe
* Default factory for this reference.
*/
public static final String DEFAULT_FACTORY =
- org.apache.naming.factory.Constants.DEFAULT_RESOURCE_ENV_FACTORY;
+ org.apache.naming.factory.Constants.DEFAULT_RESOURCE_ENV_FACTORY;
/**
@@ -46,22 +43,8 @@ public class ResourceEnvRef extends Refe
}
- /**
- * Retrieves the class name of the factory of the object to which this
- * reference refers.
- */
@Override
- public String getFactoryClassName() {
- String factory = super.getFactoryClassName();
- if (factory != null) {
- return factory;
- } else {
- factory = System.getProperty(Context.OBJECT_FACTORIES);
- if (factory != null) {
- return null;
- } else {
- return DEFAULT_FACTORY;
- }
- }
+ protected String getDefaultFactoryClassName() {
+ return DEFAULT_FACTORY;
}
}
Modified: tomcat/trunk/java/org/apache/naming/ResourceLinkRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/ResourceLinkRef.java?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/ResourceLinkRef.java (original)
+++ tomcat/trunk/java/org/apache/naming/ResourceLinkRef.java Thu Nov 24 20:52:31 2016
@@ -16,8 +16,6 @@
*/
package org.apache.naming;
-import javax.naming.Context;
-import javax.naming.Reference;
import javax.naming.StringRefAddr;
/**
@@ -25,7 +23,7 @@ import javax.naming.StringRefAddr;
*
* @author Remy Maucherat
*/
-public class ResourceLinkRef extends Reference {
+public class ResourceLinkRef extends AbstractRef {
private static final long serialVersionUID = 1L;
@@ -34,7 +32,7 @@ public class ResourceLinkRef extends Ref
* Default factory for this reference.
*/
public static final String DEFAULT_FACTORY =
- org.apache.naming.factory.Constants.DEFAULT_RESOURCE_LINK_FACTORY;
+ org.apache.naming.factory.Constants.DEFAULT_RESOURCE_LINK_FACTORY;
/**
@@ -53,7 +51,7 @@ public class ResourceLinkRef extends Ref
* factory (e.g. URL)
*/
public ResourceLinkRef(String resourceClass, String globalName,
- String factory, String factoryLocation) {
+ String factory, String factoryLocation) {
super(resourceClass, factory, factoryLocation);
StringRefAddr refAddr = null;
if (globalName != null) {
@@ -63,22 +61,8 @@ public class ResourceLinkRef extends Ref
}
- /**
- * Retrieves the class name of the factory of the object to which this
- * reference refers.
- */
@Override
- public String getFactoryClassName() {
- String factory = super.getFactoryClassName();
- if (factory != null) {
- return factory;
- } else {
- factory = System.getProperty(Context.OBJECT_FACTORIES);
- if (factory != null) {
- return null;
- } else {
- return DEFAULT_FACTORY;
- }
- }
+ protected String getDefaultFactoryClassName() {
+ return DEFAULT_FACTORY;
}
}
Modified: tomcat/trunk/java/org/apache/naming/ResourceRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/ResourceRef.java?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/ResourceRef.java (original)
+++ tomcat/trunk/java/org/apache/naming/ResourceRef.java Thu Nov 24 20:52:31 2016
@@ -14,15 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.naming;
-import java.util.Enumeration;
-
-import javax.naming.Context;
-import javax.naming.RefAddr;
-import javax.naming.Reference;
import javax.naming.StringRefAddr;
/**
@@ -30,18 +23,16 @@ import javax.naming.StringRefAddr;
*
* @author Remy Maucherat
*/
-public class ResourceRef extends Reference {
+public class ResourceRef extends AbstractRef {
private static final long serialVersionUID = 1L;
- // -------------------------------------------------------------- Constants
-
/**
* Default factory for this reference.
*/
public static final String DEFAULT_FACTORY =
- org.apache.naming.factory.Constants.DEFAULT_RESOURCE_FACTORY;
+ org.apache.naming.factory.Constants.DEFAULT_RESOURCE_FACTORY;
/**
@@ -67,8 +58,6 @@ public class ResourceRef extends Referen
*/
public static final String SINGLETON = "singleton";
- // ----------------------------------------------------------- Constructors
-
/**
* Resource Reference.
@@ -122,64 +111,8 @@ public class ResourceRef extends Referen
}
- // ----------------------------------------------------- Instance Variables
-
-
- // ------------------------------------------------------ Reference Methods
-
-
- /**
- * Retrieves the class name of the factory of the object to which this
- * reference refers.
- */
@Override
- public String getFactoryClassName() {
- String factory = super.getFactoryClassName();
- if (factory != null) {
- return factory;
- } else {
- factory = System.getProperty(Context.OBJECT_FACTORIES);
- if (factory != null) {
- return null;
- } else {
- return DEFAULT_FACTORY;
- }
- }
+ protected String getDefaultFactoryClassName() {
+ return DEFAULT_FACTORY;
}
-
-
- // --------------------------------------------------------- Public Methods
-
-
- /**
- * Return a String rendering of this object.
- */
- @Override
- public String toString() {
-
- StringBuilder sb = new StringBuilder("ResourceRef[");
- sb.append("className=");
- sb.append(getClassName());
- sb.append(",factoryClassLocation=");
- sb.append(getFactoryClassLocation());
- sb.append(",factoryClassName=");
- sb.append(getFactoryClassName());
- Enumeration<RefAddr> refAddrs = getAll();
- while (refAddrs.hasMoreElements()) {
- RefAddr refAddr = refAddrs.nextElement();
- sb.append(",{type=");
- sb.append(refAddr.getType());
- sb.append(",content=");
- sb.append(refAddr.getContent());
- sb.append("}");
- }
- sb.append("]");
- return (sb.toString());
-
- }
-
-
- // ------------------------------------------------------------- Properties
-
-
}
Modified: tomcat/trunk/java/org/apache/naming/ServiceRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/ServiceRef.java?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/ServiceRef.java (original)
+++ tomcat/trunk/java/org/apache/naming/ServiceRef.java Thu Nov 24 20:52:31 2016
@@ -14,16 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.naming;
-import java.util.Enumeration;
import java.util.Vector;
-import javax.naming.Context;
-import javax.naming.RefAddr;
-import javax.naming.Reference;
import javax.naming.StringRefAddr;
/**
@@ -31,18 +25,16 @@ import javax.naming.StringRefAddr;
*
* @author Fabien Carrion
*/
-
-public class ServiceRef extends Reference {
+public class ServiceRef extends AbstractRef {
private static final long serialVersionUID = 1L;
- // -------------------------------------------------------------- Constants
/**
* Default factory for this reference.
*/
public static final String DEFAULT_FACTORY =
- org.apache.naming.factory.Constants.DEFAULT_SERVICE_FACTORY;
+ org.apache.naming.factory.Constants.DEFAULT_SERVICE_FACTORY;
/**
@@ -61,7 +53,7 @@ public class ServiceRef extends Referenc
/**
* Wsdl Location address type.
*/
- public static final String WSDL = "wsdl";
+ public static final String WSDL = "wsdl";
/**
@@ -89,14 +81,13 @@ public class ServiceRef extends Referenc
private final Vector<HandlerRef> handlers = new Vector<>();
- // ----------------------------------------------------------- Constructors
-
public ServiceRef(String refname, String serviceInterface, String[] serviceQname,
String wsdl, String jaxrpcmapping) {
this(refname, serviceInterface, serviceQname, wsdl, jaxrpcmapping,
null, null);
}
+
public ServiceRef(@SuppressWarnings("unused") String refname,
String serviceInterface, String[] serviceQname,
String wsdl, String jaxrpcmapping,
@@ -126,12 +117,6 @@ public class ServiceRef extends Referenc
}
- // ----------------------------------------------------- Instance Variables
-
-
- // ------------------------------------------------------ Reference Methods
-
-
/**
* Add and Get Handlers classes.
* @return the handler
@@ -151,59 +136,8 @@ public class ServiceRef extends Referenc
}
- /**
- * Retrieves the class name of the factory of the object to which this
- * reference refers.
- * @return the factory
- */
@Override
- public String getFactoryClassName() {
- String factory = super.getFactoryClassName();
- if (factory != null) {
- return factory;
- } else {
- factory = System.getProperty(Context.OBJECT_FACTORIES);
- if (factory != null) {
- return null;
- } else {
- return DEFAULT_FACTORY;
- }
- }
+ protected String getDefaultFactoryClassName() {
+ return DEFAULT_FACTORY;
}
-
-
- // --------------------------------------------------------- Public Methods
-
-
- /**
- * Return a String rendering of this object.
- */
- @Override
- public String toString() {
-
- StringBuilder sb = new StringBuilder("ServiceRef[");
- sb.append("className=");
- sb.append(getClassName());
- sb.append(",factoryClassLocation=");
- sb.append(getFactoryClassLocation());
- sb.append(",factoryClassName=");
- sb.append(getFactoryClassName());
- Enumeration<RefAddr> refAddrs = getAll();
- while (refAddrs.hasMoreElements()) {
- RefAddr refAddr = refAddrs.nextElement();
- sb.append(",{type=");
- sb.append(refAddr.getType());
- sb.append(",content=");
- sb.append(refAddr.getContent());
- sb.append("}");
- }
- sb.append("]");
- return (sb.toString());
-
- }
-
-
- // ------------------------------------------------------------- Properties
-
-
}
Modified: tomcat/trunk/java/org/apache/naming/TransactionRef.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/TransactionRef.java?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/TransactionRef.java (original)
+++ tomcat/trunk/java/org/apache/naming/TransactionRef.java Thu Nov 24 20:52:31 2016
@@ -14,32 +14,23 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.naming;
-import javax.naming.Context;
-import javax.naming.Reference;
-
/**
* Represents a reference address to a transaction.
*
* @author Remy Maucherat
*/
-public class TransactionRef extends Reference {
+public class TransactionRef extends AbstractRef {
private static final long serialVersionUID = 1L;
- // -------------------------------------------------------------- Constants
/**
* Default factory for this reference.
*/
public static final String DEFAULT_FACTORY =
- org.apache.naming.factory.Constants.DEFAULT_TRANSACTION_FACTORY;
-
-
- // ----------------------------------------------------------- Constructors
+ org.apache.naming.factory.Constants.DEFAULT_TRANSACTION_FACTORY;
/**
@@ -61,33 +52,8 @@ public class TransactionRef extends Refe
}
- // ----------------------------------------------------- Instance Variables
-
-
- // ------------------------------------------------------ Reference Methods
-
-
- /**
- * Retrieves the class name of the factory of the object to which this
- * reference refers.
- */
@Override
- public String getFactoryClassName() {
- String factory = super.getFactoryClassName();
- if (factory != null) {
- return factory;
- } else {
- factory = System.getProperty(Context.OBJECT_FACTORIES);
- if (factory != null) {
- return null;
- } else {
- return DEFAULT_FACTORY;
- }
- }
+ protected String getDefaultFactoryClassName() {
+ return DEFAULT_FACTORY;
}
-
-
- // ------------------------------------------------------------- Properties
-
-
}
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1771226&r1=1771225&r2=1771226&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Nov 24 20:52:31 2016
@@ -94,6 +94,10 @@
<bug>60393</bug>: Use consistent parameter naming in implementations of
<code>Realm#authenticate(GSSContext, boolean)</code>. (markt)
</scode>
+ <scode>
+ Refactor the <code>org.apache.naming</code> package to reduce duplicate
+ code. Duplicate code identified by the Simian tool. (markt)
+ </scode>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org