User: d_jencks
  Date: 01/11/14 22:30:22

  Modified:    src/main/org/jboss/system ServiceConfigurator.java
  Log:
  Added anonymous mbean-ref and mbean-ref-lists. (i.e, don't supply a name).  See 
hsqldb-default-service for an example
  
  Revision  Changes    Path
  1.7       +82 -64    jboss/src/main/org/jboss/system/ServiceConfigurator.java
  
  Index: ServiceConfigurator.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/system/ServiceConfigurator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ServiceConfigurator.java  2001/11/13 07:55:00     1.6
  +++ ServiceConfigurator.java  2001/11/15 06:30:22     1.7
  @@ -42,7 +42,7 @@
    * 
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Hiram Chirino</a>
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    *
    * <p><b>20010830 marc fleury:</b>
    * <ul>
  @@ -237,40 +237,49 @@
         }
         // Set mbean references (object names)
         ArrayList mBeanRefs = new ArrayList();
  -      NodeList mbeanRefElements = mbeanElement.getElementsByTagName("mbean-ref");
  -      log.debug("found " + mbeanRefElements.getLength() + " mbean-ref elements");
  -      for (int j = 0; j < mbeanRefElements.getLength(); j++) {
  -         Element mbeanRefElement = (Element)mbeanRefElements.item(j);
  -         String mbeanRefName = mbeanRefElement.getAttribute("name");
  -         if (!mbeanRefElement.hasChildNodes()) 
  +      NodeList mBeanRefElements = mbeanElement.getElementsByTagName("mbean-ref");
  +      log.debug("found " + mBeanRefElements.getLength() + " mbean-ref elements");
  +      for (int j = 0; j < mBeanRefElements.getLength(); j++) {
  +         Element mBeanRefElement = (Element)mBeanRefElements.item(j);
  +         String mBeanRefName = mBeanRefElement.getAttribute("name");
  +         if (!mBeanRefElement.hasChildNodes()) 
            {
  -            throw new DeploymentException("No ObjectName supplied for mbean-ref " + 
mbeanRefName);   
  +            throw new DeploymentException("No ObjectName supplied for mbean-ref " + 
mBeanRefName);   
   
            }           
            // Get the mbeanRef value
  -         String mbeanRefValue = 
((Text)mbeanRefElement.getFirstChild()).getData().trim();
  -         ObjectName mbeanRefObjectName = new ObjectName(mbeanRefValue);
  -         log.debug("considering " + mbeanRefName + " with object name " + 
mbeanRefObjectName);
  -         MBeanAttributeInfo[] attributes = info.getAttributes();
  -         for (int k = 0; k < attributes.length; k++) {
  -            if (mbeanRefName.equals(attributes[k].getName())) {
  -               String typeName = attributes[k].getType();
  -               if (!"javax.management.ObjectName".equals(typeName)) 
  -               {
  -                  throw new DeploymentException("Trying to set " + mbeanRefName + " 
as an MBeanRef when it is not of type ObjectName");   
  -               } // end of if ()
  -               if (!mBeanRefs.contains(mbeanRefObjectName)) 
  -               {
  -                  mBeanRefs.add(mbeanRefObjectName);
  -               } // end of if ()
  +         String mBeanRefValue = 
((Text)mBeanRefElement.getFirstChild()).getData().trim();
  +         ObjectName mBeanRefObjectName = new ObjectName(mBeanRefValue);
  +         if (!mBeanRefs.contains(mBeanRefObjectName)) 
  +         {
  +            mBeanRefs.add(mBeanRefObjectName);
  +         } // end of if ()
  +      namefound:
  +         if (mBeanRefName == null || "".equals(mBeanRefName)) 
  +         {
  +            log.debug("Anonymous dependency on object name " + mBeanRefObjectName); 
           
  +         } // end of if ()
  +         else 
  +         {
  +            log.debug("considering " + mBeanRefName + " with object name " + 
mBeanRefObjectName);
  +            MBeanAttributeInfo[] attributes = info.getAttributes();
  +            for (int k = 0; k < attributes.length; k++) {
  +               if (mBeanRefName.equals(attributes[k].getName())) {
  +                  String typeName = attributes[k].getType();
  +                  if (!"javax.management.ObjectName".equals(typeName)) 
  +                  {
  +                     throw new DeploymentException("Trying to set " + mBeanRefName 
+ " as an MBeanRef when it is not of type ObjectName");   
  +                  } // end of if ()
   
  -               log.debug(mbeanRefName + " set to " + mbeanRefValue + " in " + 
objectName);
  -               server.setAttribute(objectName, new Attribute(mbeanRefName, 
mbeanRefObjectName));
  +                  log.debug(mBeanRefName + " set to " + mBeanRefValue + " in " + 
objectName);
  +                  server.setAttribute(objectName, new Attribute(mBeanRefName, 
mBeanRefObjectName));
   
  -               break;
  -            }
  -         }
  -         
  +                  break namefound;
  +               }//name test
  +            }//for
  +            throw new DeploymentException("No Attribute found with name: " + 
mBeanRefName);         
  +         } // end of else
  +         //breaks to here
         }
         // Set lists of mbean references (object names)
   
  @@ -278,42 +287,51 @@
         for (int j = 0; j < mBeanRefLists.getLength(); j++) {
            Element mBeanRefListElement = (Element)mBeanRefLists.item(j);
            String mBeanRefListName = mBeanRefListElement.getAttribute("name");
  -
  -         MBeanAttributeInfo[] attributes = info.getAttributes();
  -         for (int k = 0; k < attributes.length; k++) {
  -            if (mBeanRefListName.equals(attributes[k].getName())) {
  -
  -               NodeList mBeanRefList = 
mBeanRefListElement.getElementsByTagName("mbean-ref-list-element");
  -               ArrayList mBeanRefListNames = new ArrayList();
  -               for (int l = 0; l < mBeanRefList.getLength(); l++) 
  -               {
  -                  Element mBeanRefElement = (Element)mBeanRefList.item(l);
  -                  if (!mBeanRefElement.hasChildNodes()) 
  -                  {
  -                     throw new DeploymentException("Empty 
mbean-ref-list-element!");    
  -                  } // end of if ()
  -
  -                  // Get the mbeanRef value
  -                  String mBeanRefValue = 
((Text)mBeanRefElement.getFirstChild()).getData().trim();
  -                  ObjectName mBeanRefObjectName = new ObjectName(mBeanRefValue);
  -                  if (!mBeanRefListNames.contains(mBeanRefObjectName)) 
  -                  {
  -                     mBeanRefListNames.add(mBeanRefObjectName);
  -                  } // end of if ()
  -                  if (!mBeanRefs.contains(mBeanRefObjectName)) 
  -                  {
  -                     mBeanRefs.add(mBeanRefObjectName);
  -                  } // end of if ()
  +         //Make the list of object names, and add them to mbeanRefs.
  +         NodeList mBeanRefList = 
mBeanRefListElement.getElementsByTagName("mbean-ref-list-element");
  +         ArrayList mBeanRefListNames = new ArrayList();
  +         for (int l = 0; l < mBeanRefList.getLength(); l++) 
  +         {
  +            Element mBeanRefElement = (Element)mBeanRefList.item(l);
  +            if (!mBeanRefElement.hasChildNodes()) 
  +            {
  +               throw new DeploymentException("Empty mbean-ref-list-element!");    
  +            } // end of if ()
  +
  +            // Get the mbeanRef value
  +            String mBeanRefValue = 
((Text)mBeanRefElement.getFirstChild()).getData().trim();
  +            ObjectName mBeanRefObjectName = new ObjectName(mBeanRefValue);
  +            if (!mBeanRefListNames.contains(mBeanRefObjectName)) 
  +            {
  +               mBeanRefListNames.add(mBeanRefObjectName);
  +            } // end of if ()
  +            if (!mBeanRefs.contains(mBeanRefObjectName)) 
  +            {
  +               mBeanRefs.add(mBeanRefObjectName);
  +            } // end of if ()
                     
  -               } // end of for ()
  -
  -               log.debug(mBeanRefListName + " set to " + mBeanRefListNames + " in " 
+ objectName);
  -               server.setAttribute(objectName, new Attribute(mBeanRefListName, 
mBeanRefListNames));
  -
  -               break;
  -            }
  -
  -         }
  +         } // end of for ()
  +         //Now look for the name
  +      listnamefound:
  +         if (mBeanRefListName == null || "".equals(mBeanRefListName)) 
  +         {
  +            log.debug("Anonymous dependency on list of object names " + 
mBeanRefListNames);           
  +            
  +         } // end of if ()
  +         else 
  +         {
  +            MBeanAttributeInfo[] attributes = info.getAttributes();
  +            for (int k = 0; k < attributes.length; k++) {
  +               if (mBeanRefListName.equals(attributes[k].getName())) {
  +                  log.debug(mBeanRefListName + " set to " + mBeanRefListNames + " 
in " + objectName);
  +                  server.setAttribute(objectName, new Attribute(mBeanRefListName, 
mBeanRefListNames));
  +
  +                  break listnamefound;
  +               }//if name matches
  +            }//for
  +            throw new DeploymentException("No Attribute found with name: " + 
mBeanRefListName);         
  +         } // end of else
  +         //breaks to here
         }
         return mBeanRefs;
      }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to