Author: markt
Date: Wed May 16 11:11:56 2018
New Revision: 1831701
URL: http://svn.apache.org/viewvc?rev=1831701&view=rev
Log:
Clean-up
Mostly auto-format from Eclipse
A few additional line length fixes made manually
Modified:
tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java?rev=1831701&r1=1831700&r2=1831701&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java Wed May 16
11:11:56 2018
@@ -14,11 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.tomcat.util.modeler;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -49,15 +46,15 @@ import org.apache.tomcat.util.modeler.mo
- double check the interfaces
- start removing the use of the experimental methods in tomcat, then remove
the methods ( before 1.1 final )
- - is the security enough to prevent Registry being used to avoid the
permission
- checks in the mbean server ?
+ - is the security enough to prevent Registry being used to avoid the
+ permission checks in the mbean server ?
*/
/**
* Registry for modeler MBeans.
*
- * This is the main entry point into modeler. It provides methods to create
- * and manipulate model mbeans and simplify their use.
+ * This is the main entry point into modeler. It provides methods to create and
+ * manipulate model mbeans and simplify their use.
*
* This class is itself an mbean.
*
@@ -67,7 +64,8 @@ import org.apache.tomcat.util.modeler.mo
* @author Craig R. McClanahan
* @author Costin Manolache
*/
-public class Registry implements RegistryMBean, MBeanRegistration {
+public class Registry implements RegistryMBean, MBeanRegistration {
+
/**
* The Log instance to which we will write our log messages.
*/
@@ -75,13 +73,14 @@ public class Registry implements Registr
// Support for the factory methods
- /** Will be used to isolate different apps and enhance security.
+ /**
+ * Will be used to isolate different apps and enhance security.
*/
- private static final HashMap<Object,Registry> perLoaderRegistries = null;
+ private static final HashMap<Object, Registry> perLoaderRegistries = null;
/**
- * The registry instance created by our factory method the first time
- * it is called.
+ * The registry instance created by our factory method the first time it is
+ * called.
*/
private static Registry registry = null;
@@ -95,68 +94,66 @@ public class Registry implements Registr
private final Object serverLock = new Object();
/**
- * The set of ManagedBean instances for the beans this registry
- * knows about, keyed by name.
+ * The set of ManagedBean instances for the beans this registry knows
about,
+ * keyed by name.
*/
- private Map<String,ManagedBean> descriptors = new HashMap<>();
+ private Map<String, ManagedBean> descriptors = new HashMap<>();
- /** List of managed beans, keyed by class name
+ /**
+ * List of managed beans, keyed by class name
*/
- private Map<String,ManagedBean> descriptorsByClass = new HashMap<>();
+ private Map<String, ManagedBean> descriptorsByClass = new HashMap<>();
// map to avoid duplicated searching or loading descriptors
- private Map<String,URL> searchedPaths = new HashMap<>();
+ private Map<String, URL> searchedPaths = new HashMap<>();
private Object guard;
// Id - small ints to use array access. No reset on stop()
// Used for notifications
- private final Hashtable<String,Hashtable<String,Integer>> idDomains =
- new Hashtable<>();
- private final Hashtable<String,int[]> ids = new Hashtable<>();
+ private final Hashtable<String, Hashtable<String, Integer>> idDomains =
new Hashtable<>();
+ private final Hashtable<String, int[]> ids = new Hashtable<>();
// ----------------------------------------------------------- Constructors
- /**
- */
- public Registry() {
+ public Registry() {
super();
}
- // -------------------- Static methods --------------------
+
+ // -------------------- Static methods --------------------
// Factories
/**
* Factory method to create (if necessary) and return our
* <code>Registry</code> instance.
*
- * The current version uses a static - future versions could use
- * the thread class loader.
+ * The current version uses a static - future versions could use the thread
+ * class loader.
*
* @param key Support for application isolation. If null, the context class
- * loader will be used ( if setUseContextClassLoader is called ) or the
- * default registry is returned.
+ * loader will be used ( if setUseContextClassLoader is called )
+ * or the default registry is returned.
* @param guard Prevent access to the registry by untrusted components
* @return the registry
* @since 1.1
*/
public static synchronized Registry getRegistry(Object key, Object guard) {
Registry localRegistry;
- if( perLoaderRegistries!=null ) {
- if( key==null )
- key=Thread.currentThread().getContextClassLoader();
- if( key != null ) {
+ if (perLoaderRegistries != null) {
+ if (key == null)
+ key = Thread.currentThread().getContextClassLoader();
+ if (key != null) {
localRegistry = perLoaderRegistries.get(key);
- if( localRegistry == null ) {
- localRegistry=new Registry();
-// localRegistry.key=key;
- localRegistry.guard=guard;
- perLoaderRegistries.put( key, localRegistry );
+ if (localRegistry == null) {
+ localRegistry = new Registry();
+ // localRegistry.key=key;
+ localRegistry.guard = guard;
+ perLoaderRegistries.put(key, localRegistry);
return localRegistry;
}
- if( localRegistry.guard != null &&
- localRegistry.guard != guard ) {
+ if (localRegistry.guard != null && localRegistry.guard !=
guard) {
return null; // XXX Should I throw a permission ex ?
}
return localRegistry;
@@ -167,17 +164,18 @@ public class Registry implements Registr
if (registry == null) {
registry = new Registry();
}
- if( registry.guard != null &&
- registry.guard != guard ) {
+ if (registry.guard != null && registry.guard != guard) {
return null;
}
return registry;
}
- // -------------------- Generic methods --------------------
- /** Lifecycle method - clean up the registry metadata.
- * Called from resetMetadata().
+ // -------------------- Generic methods --------------------
+
+ /**
+ * Lifecycle method - clean up the registry metadata. Called from
+ * resetMetadata().
*
* @since 1.1
*/
@@ -185,9 +183,10 @@ public class Registry implements Registr
public void stop() {
descriptorsByClass = new HashMap<>();
descriptors = new HashMap<>();
- searchedPaths=new HashMap<>();
+ searchedPaths = new HashMap<>();
}
+
/**
* Register a bean by creating a modeler mbean and adding it to the
* MBeanServer.
@@ -196,8 +195,9 @@ public class Registry implements Registr
* "mbeans-descriptors.ser" or "mbeans-descriptors.xml" in the same package
* or parent.
*
- * If the bean is an instance of DynamicMBean. it's metadata will be
converted
- * to a model mbean and we'll wrap it - so modeler services will be
supported
+ * If the bean is an instance of DynamicMBean. it's metadata will be
+ * converted to a model mbean and we'll wrap it - so modeler services will
+ * be supported
*
* If the metadata is still not found, introspection will be used to
extract
* it automatically.
@@ -205,40 +205,39 @@ public class Registry implements Registr
* If an mbean is already registered under this name, it'll be first
* unregistered.
*
- * If the component implements MBeanRegistration, the methods will be
called.
- * If the method has a method "setRegistry" that takes a RegistryMBean as
- * parameter, it'll be called with the current registry.
+ * If the component implements MBeanRegistration, the methods will be
+ * called. If the method has a method "setRegistry" that takes a
+ * RegistryMBean as parameter, it'll be called with the current registry.
*
*
* @param bean Object to be registered
* @param oname Name used for registration
* @param type The type of the mbean, as declared in mbeans-descriptors. If
- * null, the name of the class will be used. This can be used as a hint or
- * by subclasses.
+ * null, the name of the class will be used. This can be used as
+ * a hint or by subclasses.
* @throws Exception if a registration error occurred
* @since 1.1
*/
@Override
- public void registerComponent(Object bean, String oname, String type)
- throws Exception
- {
+ public void registerComponent(Object bean, String oname, String type)
throws Exception {
registerComponent(bean, new ObjectName(oname), type);
}
+
/**
- * Unregister a component. We'll first check if it is registered,
- * and mask all errors. This is mostly a helper.
+ * Unregister a component. We'll first check if it is registered, and mask
+ * all errors. This is mostly a helper.
*
* @param oname Name used for unregistration
*
* @since 1.1
*/
@Override
- public void unregisterComponent( String oname ) {
+ public void unregisterComponent(String oname) {
try {
unregisterComponent(new ObjectName(oname));
} catch (MalformedObjectNameException e) {
- log.info("Error creating object name " + e );
+ log.info("Error creating object name " + e);
}
}
@@ -248,40 +247,42 @@ public class Registry implements Registr
* lifecycle operations.
*
* @param mbeans list of ObjectName on which we'll invoke the operations
- * @param operation Name of the operation ( init, start, stop, etc)
- * @param failFirst If false, exceptions will be ignored
+ * @param operation Name of the operation ( init, start, stop, etc)
+ * @param failFirst If false, exceptions will be ignored
* @throws Exception Error invoking operation
* @since 1.1
*/
@Override
- public void invoke(List<ObjectName> mbeans, String operation,
- boolean failFirst ) throws Exception {
- if( mbeans==null ) {
+ public void invoke(List<ObjectName> mbeans, String operation, boolean
failFirst)
+ throws Exception {
+
+ if (mbeans == null) {
return;
}
for (ObjectName current : mbeans) {
try {
- if(current == null) {
+ if (current == null) {
continue;
}
- if(getMethodInfo(current, operation) == null) {
+ if (getMethodInfo(current, operation) == null) {
continue;
}
- getMBeanServer().invoke(current, operation,
- new Object[] {}, new String[] {});
+ getMBeanServer().invoke(current, operation, new Object[] {},
new String[] {});
- } catch( Exception t ) {
- if( failFirst ) throw t;
+ } catch (Exception t) {
+ if (failFirst)
+ throw t;
log.info("Error initializing " + current + " " + t.toString());
}
}
}
+
// -------------------- ID registry --------------------
/**
- * Return an int ID for faster access. Will be used for notifications
- * and for other operations we want to optimize.
+ * Return an int ID for faster access. Will be used for notifications and
+ * for other operations we want to optimize.
*
* @param domain Namespace
* @param name Type of the notification
@@ -289,40 +290,41 @@ public class Registry implements Registr
* @since 1.1
*/
@Override
- public synchronized int getId( String domain, String name) {
- if( domain==null) {
- domain="";
+ public synchronized int getId(String domain, String name) {
+ if (domain == null) {
+ domain = "";
}
- Hashtable<String,Integer> domainTable = idDomains.get(domain);
- if( domainTable == null ) {
+ Hashtable<String, Integer> domainTable = idDomains.get(domain);
+ if (domainTable == null) {
domainTable = new Hashtable<>();
- idDomains.put( domain, domainTable);
+ idDomains.put(domain, domainTable);
}
- if( name==null ) {
- name="";
+ if (name == null) {
+ name = "";
}
Integer i = domainTable.get(name);
- if( i!= null ) {
+ if (i != null) {
return i.intValue();
}
int id[] = ids.get(domain);
- if( id == null ) {
- id=new int[1];
- ids.put( domain, id);
+ if (id == null) {
+ id = new int[1];
+ ids.put(domain, id);
}
- int code=id[0]++;
- domainTable.put( name, Integer.valueOf( code ));
+ int code = id[0]++;
+ domainTable.put(name, Integer.valueOf(code));
return code;
}
- // -------------------- Metadata --------------------
+
+ // -------------------- Metadata --------------------
// methods from 1.0
/**
- * Add a new bean metadata to the set of beans known to this registry.
- * This is used by internal components.
+ * Add a new bean metadata to the set of beans known to this registry. This
+ * is used by internal components.
*
* @param bean The managed bean to be added
* @since 1.0
@@ -330,30 +332,31 @@ public class Registry implements Registr
public void addManagedBean(ManagedBean bean) {
// XXX Use group + name
descriptors.put(bean.getName(), bean);
- if( bean.getType() != null ) {
- descriptorsByClass.put( bean.getType(), bean );
+ if (bean.getType() != null) {
+ descriptorsByClass.put(bean.getType(), bean);
}
}
/**
- * Find and return the managed bean definition for the specified
- * bean name, if any; otherwise return <code>null</code>.
+ * Find and return the managed bean definition for the specified bean name,
+ * if any; otherwise return <code>null</code>.
*
* @param name Name of the managed bean to be returned. Since 1.1, both
- * short names or the full name of the class can be used.
+ * short names or the full name of the class can be used.
* @return the managed bean
* @since 1.0
*/
public ManagedBean findManagedBean(String name) {
// XXX Group ?? Use Group + Type
ManagedBean mb = descriptors.get(name);
- if( mb==null )
+ if (mb == null)
mb = descriptorsByClass.get(name);
return mb;
}
- // -------------------- Helpers --------------------
+
+ // -------------------- Helpers --------------------
/**
* Get the type of an attribute of the object, from the metadata.
@@ -363,27 +366,27 @@ public class Registry implements Registr
* @return null if metadata about the attribute is not found
* @since 1.1
*/
- public String getType( ObjectName oname, String attName )
- {
- String type=null;
- MBeanInfo info=null;
+ public String getType(ObjectName oname, String attName) {
+ String type = null;
+ MBeanInfo info = null;
try {
info = getMBeanServer().getMBeanInfo(oname);
} catch (Exception e) {
- log.info( "Can't find metadata for object" + oname );
+ log.info("Can't find metadata for object" + oname);
return null;
}
- MBeanAttributeInfo attInfo[]=info.getAttributes();
- for( int i=0; i<attInfo.length; i++ ) {
- if( attName.equals(attInfo[i].getName())) {
- type=attInfo[i].getType();
+ MBeanAttributeInfo attInfo[] = info.getAttributes();
+ for (int i = 0; i < attInfo.length; i++) {
+ if (attName.equals(attInfo[i].getName())) {
+ type = attInfo[i].getType();
return type;
}
}
return null;
}
+
/**
* Find the operation info for a method
*
@@ -391,31 +394,31 @@ public class Registry implements Registr
* @param opName The operation name
* @return the operation info for the specified operation
*/
- public MBeanOperationInfo getMethodInfo( ObjectName oname, String opName )
- {
- MBeanInfo info=null;
+ public MBeanOperationInfo getMethodInfo(ObjectName oname, String opName) {
+ MBeanInfo info = null;
try {
info = getMBeanServer().getMBeanInfo(oname);
} catch (Exception e) {
- log.info( "Can't find metadata " + oname );
+ log.info("Can't find metadata " + oname);
return null;
}
- MBeanOperationInfo attInfo[]=info.getOperations();
- for( int i=0; i<attInfo.length; i++ ) {
- if( opName.equals(attInfo[i].getName())) {
+ MBeanOperationInfo attInfo[] = info.getOperations();
+ for (int i = 0; i < attInfo.length; i++) {
+ if (opName.equals(attInfo[i].getName())) {
return attInfo[i];
}
}
return null;
}
+
/**
- * Unregister a component. This is just a helper that
- * avoids exceptions by checking if the mbean is already registered
+ * Unregister a component. This is just a helper that avoids exceptions by
+ * checking if the mbean is already registered
*
* @param oname The bean name
*/
- public void unregisterComponent( ObjectName oname ) {
+ public void unregisterComponent(ObjectName oname) {
try {
if (oname != null && getMBeanServer().isRegistered(oname)) {
getMBeanServer().unregisterMBean(oname);
@@ -425,9 +428,11 @@ public class Registry implements Registr
}
}
+
/**
* Factory method to create (if necessary) and return our
* <code>MBeanServer</code> instance.
+ *
* @return the MBean server
*/
public MBeanServer getMBeanServer() {
@@ -452,53 +457,56 @@ public class Registry implements Registr
return server;
}
+
/**
* Find or load metadata.
+ *
* @param bean The bean
* @param beanClass The bean class
* @param type The registry type
* @return the managed bean
* @throws Exception An error occurred
*/
- public ManagedBean findManagedBean(Object bean, Class<?> beanClass,
- String type) throws Exception {
- if( bean!=null && beanClass==null ) {
- beanClass=bean.getClass();
+ public ManagedBean findManagedBean(Object bean, Class<?> beanClass, String
type)
+ throws Exception {
+
+ if (bean != null && beanClass == null) {
+ beanClass = bean.getClass();
}
- if( type==null ) {
- type=beanClass.getName();
+ if (type == null) {
+ type = beanClass.getName();
}
// first look for existing descriptor
ManagedBean managed = findManagedBean(type);
// Search for a descriptor in the same package
- if( managed==null ) {
+ if (managed == null) {
// check package and parent packages
- if( log.isDebugEnabled() ) {
- log.debug( "Looking for descriptor ");
+ if (log.isDebugEnabled()) {
+ log.debug("Looking for descriptor ");
}
- findDescriptor( beanClass, type );
+ findDescriptor(beanClass, type);
- managed=findManagedBean(type);
+ managed = findManagedBean(type);
}
// Still not found - use introspection
- if( managed==null ) {
- if( log.isDebugEnabled() ) {
- log.debug( "Introspecting ");
+ if (managed == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Introspecting ");
}
// introspection
load("MbeansDescriptorsIntrospectionSource", beanClass, type);
- managed=findManagedBean(type);
- if( managed==null ) {
- log.warn( "No metadata found for " + type );
+ managed = findManagedBean(type);
+ if (managed == null) {
+ log.warn("No metadata found for " + type);
return null;
}
- managed.setName( type );
+ managed.setName(type);
addManagedBean(managed);
}
return managed;
@@ -507,40 +515,36 @@ public class Registry implements Registr
/**
* EXPERIMENTAL Convert a string to object, based on type. Used by several
- * components. We could provide some pluggability. It is here to keep
- * things consistent and avoid duplication in other tasks
+ * components. We could provide some pluggability. It is here to keep
things
+ * consistent and avoid duplication in other tasks
*
* @param type Fully qualified class name of the resulting value
* @param value String value to be converted
* @return Converted value
*/
- public Object convertValue(String type, String value)
- {
- Object objValue=value;
+ public Object convertValue(String type, String value) {
+ Object objValue = value;
- if( type==null || "java.lang.String".equals( type )) {
+ if (type == null || "java.lang.String".equals(type)) {
// string is default
- objValue=value;
- } else if( "javax.management.ObjectName".equals( type ) ||
- "ObjectName".equals( type )) {
+ objValue = value;
+ } else if ("javax.management.ObjectName".equals(type) ||
"ObjectName".equals(type)) {
try {
- objValue=new ObjectName( value );
+ objValue = new ObjectName(value);
} catch (MalformedObjectNameException e) {
return null;
}
- } else if( "java.lang.Integer".equals( type ) ||
- "int".equals( type )) {
- objValue=Integer.valueOf( value );
- } else if( "java.lang.Long".equals( type ) ||
- "long".equals( type )) {
- objValue=Long.valueOf( value );
- } else if( "java.lang.Boolean".equals( type ) ||
- "boolean".equals( type )) {
- objValue=Boolean.valueOf( value );
+ } else if ("java.lang.Integer".equals(type) || "int".equals(type)) {
+ objValue = Integer.valueOf(value);
+ } else if ("java.lang.Long".equals(type) || "long".equals(type)) {
+ objValue = Long.valueOf(value);
+ } else if ("java.lang.Boolean".equals(type) || "boolean".equals(type))
{
+ objValue = Boolean.valueOf(value);
}
return objValue;
}
+
/**
* Experimental. Load descriptors.
*
@@ -550,48 +554,46 @@ public class Registry implements Registr
* @return List of descriptors
* @throws Exception Error loading descriptors
*/
- public List<ObjectName> load( String sourceType, Object source,
- String param) throws Exception {
- if( log.isTraceEnabled()) {
- log.trace("load " + source );
- }
- String location=null;
- String type=null;
- Object inputsource=null;
-
- if( source instanceof URL ) {
- URL url=(URL)source;
- location=url.toString();
- type=param;
- inputsource=url.openStream();
+ public List<ObjectName> load(String sourceType, Object source, String
param) throws Exception {
+ if (log.isTraceEnabled()) {
+ log.trace("load " + source);
+ }
+ String location = null;
+ String type = null;
+ Object inputsource = null;
+
+ if (source instanceof URL) {
+ URL url = (URL) source;
+ location = url.toString();
+ type = param;
+ inputsource = url.openStream();
if (sourceType == null && location.endsWith(".xml")) {
sourceType = "MbeansDescriptorsDigesterSource";
}
- } else if( source instanceof File ) {
- location=((File)source).getAbsolutePath();
- inputsource=new FileInputStream((File)source);
- type=param;
+ } else if (source instanceof File) {
+ location = ((File) source).getAbsolutePath();
+ inputsource = new FileInputStream((File) source);
+ type = param;
if (sourceType == null && location.endsWith(".xml")) {
sourceType = "MbeansDescriptorsDigesterSource";
}
- } else if( source instanceof InputStream ) {
- type=param;
- inputsource=source;
- } else if( source instanceof Class<?> ) {
- location=((Class<?>)source).getName();
- type=param;
- inputsource=source;
- if( sourceType== null ) {
- sourceType="MbeansDescriptorsIntrospectionSource";
+ } else if (source instanceof InputStream) {
+ type = param;
+ inputsource = source;
+ } else if (source instanceof Class<?>) {
+ location = ((Class<?>) source).getName();
+ type = param;
+ inputsource = source;
+ if (sourceType == null) {
+ sourceType = "MbeansDescriptorsIntrospectionSource";
}
}
- if( sourceType==null ) {
- sourceType="MbeansDescriptorsDigesterSource";
- }
- ModelerSource ds=getModelerSource(sourceType);
- List<ObjectName> mbeans =
- ds.loadDescriptors(this, type, inputsource);
+ if (sourceType == null) {
+ sourceType = "MbeansDescriptorsDigesterSource";
+ }
+ ModelerSource ds = getModelerSource(sourceType);
+ List<ObjectName> mbeans = ds.loadDescriptors(this, type, inputsource);
return mbeans;
}
@@ -605,21 +607,19 @@ public class Registry implements Registr
* @param type The registry type
* @throws Exception Error registering component
*/
- public void registerComponent(Object bean, ObjectName oname, String type)
- throws Exception
- {
- if( log.isDebugEnabled() ) {
- log.debug( "Managed= "+ oname);
+ public void registerComponent(Object bean, ObjectName oname, String type)
throws Exception {
+ if (log.isDebugEnabled()) {
+ log.debug("Managed= " + oname);
}
- if( bean ==null ) {
- log.error("Null component " + oname );
+ if (bean == null) {
+ log.error("Null component " + oname);
return;
}
try {
- if( type==null ) {
- type=bean.getClass().getName();
+ if (type == null) {
+ type = bean.getClass().getName();
}
ManagedBean managed = findManagedBean(null, bean.getClass(), type);
@@ -627,101 +627,104 @@ public class Registry implements Registr
// The real mbean is created and registered
DynamicMBean mbean = managed.createMBean(bean);
- if( getMBeanServer().isRegistered( oname )) {
- if( log.isDebugEnabled()) {
- log.debug("Unregistering existing component " + oname );
+ if (getMBeanServer().isRegistered(oname)) {
+ if (log.isDebugEnabled()) {
+ log.debug("Unregistering existing component " + oname);
}
- getMBeanServer().unregisterMBean( oname );
+ getMBeanServer().unregisterMBean(oname);
}
- getMBeanServer().registerMBean( mbean, oname);
- } catch( Exception ex) {
- log.error("Error registering " + oname, ex );
+ getMBeanServer().registerMBean(mbean, oname);
+ } catch (Exception ex) {
+ log.error("Error registering " + oname, ex);
throw ex;
}
}
+
/**
- * Lookup the component descriptor in the package and
- * in the parent packages.
+ * Lookup the component descriptor in the package and in the parent
+ * packages.
*
* @param packageName The package name
* @param classLoader The class loader
*/
- public void loadDescriptors( String packageName, ClassLoader classLoader
) {
- String res=packageName.replace( '.', '/');
+ public void loadDescriptors(String packageName, ClassLoader classLoader) {
+ String res = packageName.replace('.', '/');
- if( log.isTraceEnabled() ) {
- log.trace("Finding descriptor " + res );
+ if (log.isTraceEnabled()) {
+ log.trace("Finding descriptor " + res);
}
- if( searchedPaths.get( packageName ) != null ) {
+ if (searchedPaths.get(packageName) != null) {
return;
}
String descriptors = res + "/mbeans-descriptors.xml";
- URL dURL = classLoader.getResource( descriptors );
+ URL dURL = classLoader.getResource(descriptors);
if (dURL == null) {
return;
}
- log.debug( "Found " + dURL);
- searchedPaths.put( packageName, dURL );
+ log.debug("Found " + dURL);
+ searchedPaths.put(packageName, dURL);
try {
load("MbeansDescriptorsDigesterSource", dURL, null);
- } catch(Exception ex ) {
+ } catch (Exception ex) {
log.error("Error loading " + dURL);
}
}
+
/**
- * Lookup the component descriptor in the package and
- * in the parent packages.
+ * Lookup the component descriptor in the package and in the parent
+ * packages.
*/
private void findDescriptor(Class<?> beanClass, String type) {
- if( type==null ) {
- type=beanClass.getName();
+ if (type == null) {
+ type = beanClass.getName();
}
- ClassLoader classLoader=null;
- if( beanClass!=null ) {
- classLoader=beanClass.getClassLoader();
- }
- if( classLoader==null ) {
- classLoader=Thread.currentThread().getContextClassLoader();
- }
- if( classLoader==null ) {
- classLoader=this.getClass().getClassLoader();
- }
-
- String className=type;
- String pkg=className;
- while( pkg.indexOf( ".") > 0 ) {
- int lastComp=pkg.lastIndexOf( ".");
- if( lastComp <= 0 ) return;
- pkg=pkg.substring(0, lastComp);
- if( searchedPaths.get( pkg ) != null ) {
+ ClassLoader classLoader = null;
+ if (beanClass != null) {
+ classLoader = beanClass.getClassLoader();
+ }
+ if (classLoader == null) {
+ classLoader = Thread.currentThread().getContextClassLoader();
+ }
+ if (classLoader == null) {
+ classLoader = this.getClass().getClassLoader();
+ }
+
+ String className = type;
+ String pkg = className;
+ while (pkg.indexOf(".") > 0) {
+ int lastComp = pkg.lastIndexOf(".");
+ if (lastComp <= 0)
+ return;
+ pkg = pkg.substring(0, lastComp);
+ if (searchedPaths.get(pkg) != null) {
return;
}
loadDescriptors(pkg, classLoader);
}
}
- private ModelerSource getModelerSource( String type )
- throws Exception
- {
- if( type==null ) type="MbeansDescriptorsDigesterSource";
- if(!type.contains(".")) {
- type="org.apache.tomcat.util.modeler.modules." + type;
+
+ private ModelerSource getModelerSource(String type) throws Exception {
+ if (type == null)
+ type = "MbeansDescriptorsDigesterSource";
+ if (!type.contains(".")) {
+ type = "org.apache.tomcat.util.modeler.modules." + type;
}
Class<?> c = Class.forName(type);
- ModelerSource ds=(ModelerSource)c.getConstructor().newInstance();
+ ModelerSource ds = (ModelerSource) c.getConstructor().newInstance();
return ds;
}
- // -------------------- Registration --------------------
+ // -------------------- Registration --------------------
@Override
public ObjectName preRegister(MBeanServer server, ObjectName name) throws
Exception {
@@ -731,14 +734,17 @@ public class Registry implements Registr
return name;
}
+
@Override
public void postRegister(Boolean registrationDone) {
}
+
@Override
public void preDeregister() throws Exception {
}
+
@Override
public void postDeregister() {
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]