[jboss-cvs] JBossAS SVN: r89193 - in projects/jboss-man/branches/Branch_2_1/managed: src/main/java/org/jboss/managed/api and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 20 11:38:48 EDT 2009


Author: scott.stark at jboss.org
Date: 2009-05-20 11:38:48 -0400 (Wed, 20 May 2009)
New Revision: 89193

Added:
   projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/
   projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java
   projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java
Removed:
   projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java
   projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java
Modified:
   projects/jboss-man/branches/Branch_2_1/managed/.classpath
   projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/Fields.java
   projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java
   projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedComponentImpl.java
   projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java
   projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java
Log:
JBMAN-82, add ManagedProperty.getAdminViewUses

Modified: projects/jboss-man/branches/Branch_2_1/managed/.classpath
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/.classpath	2009-05-20 14:57:30 UTC (rev 89192)
+++ projects/jboss-man/branches/Branch_2_1/managed/.classpath	2009-05-20 15:38:48 UTC (rev 89193)
@@ -7,15 +7,15 @@
   <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.9.0.GA/javassist-3.9.0.GA.jar" sourcepath="M2_REPO/javassist/javassist/3.9.0.GA/javassist-3.9.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.10.0.GA/javassist-3.10.0.GA.jar"/>
   <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar" sourcepath="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.9.GA/jboss-common-core-2.2.9.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.9.GA/jboss-common-core-2.2.9.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.12.GA/jboss-common-core-2.2.12.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.12.GA/jboss-common-core-2.2.12.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.1.GA/jboss-mdr-2.0.1.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.1.GA/jboss-mdr-2.0.1.GA-sources.jar"/>
   <classpathentry kind="src" path="/jboss-metatype"/>
   <classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.GA/jboss-reflect-2.0.0.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.GA/jboss-reflect-2.0.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.2.GA/jboss-reflect-2.0.2.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.1.GA/jboss-server-manager-0.1.1.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA.jar" sourcepath="M2_REPO/org/jboss/test/jboss-test/1.1.1.GA/jboss-test-1.1.1.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>

Modified: projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/Fields.java
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/Fields.java	2009-05-20 14:57:30 UTC (rev 89192)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/Fields.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -88,6 +88,9 @@
    /** The activation-policy flag */
    String ACTIVATION_POLICY = "activationPolicy";
 
+   /** The activation-policy flag */
+   String ADMIN_VIEWS = "adminViews";
+
    // TODO other standard fields here
 
    /**

Modified: projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java	2009-05-20 14:57:30 UTC (rev 89192)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -23,6 +23,7 @@
 
 import java.io.Serializable;
 import java.lang.annotation.Annotation;
+import java.util.Collection;
 import java.util.Map;
 import java.util.Set;
 
@@ -145,6 +146,12 @@
    boolean hasViewUse(ViewUse use);
 
    /**
+    * Return the admin view names associated with the property
+    * @return the potentially empty admin view names associated with the property
+    */
+   Collection<String> getAdminViewUses();
+
+   /**
     * Get the activation policy for property value updates.
     * @return the property activation policy
     */

Modified: projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedComponentImpl.java
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedComponentImpl.java	2009-05-20 14:57:30 UTC (rev 89192)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedComponentImpl.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -67,6 +67,10 @@
       this.type = type;
       this.owner = owner;
       this.stateMapper = stateMapper;
+      if(mo.getName().indexOf("ServerInfo") > 0)
+      {
+         Thread.dumpStack();
+      }
       // Determine what the run state property is
       Map<String, ManagedProperty> props = mo.getProperties();
       if(props != null)

Modified: projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java	2009-05-20 14:57:30 UTC (rev 89192)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -27,6 +27,10 @@
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -332,6 +336,36 @@
       setField(Fields.VIEW_USE, use);
    }
 
+   public Collection<String> getAdminViewUses()
+   {
+      Collection<String> adminViews = getField(Fields.ADMIN_VIEWS, Collection.class);
+      // Also look to the ManagementProperty annotation
+      Map<String, Annotation> annotations = getAnnotations();
+      if(annotations != null)
+      {
+         ManagementProperty mp = (ManagementProperty) annotations.get(ManagementProperty.class.getName());
+         if(mp != null)
+         {
+            HashSet<String> views = new HashSet<String>();
+            if(adminViews != null)
+            {
+               views.addAll(adminViews);
+            }
+            String[] mpViews = mp.adminViews();
+            for(String view : mpViews)
+               views.add(view);
+            adminViews = views;
+         }
+      }
+      if(adminViews == null)
+         adminViews = Collections.emptySet();
+      return adminViews; 
+   }
+   public void setAdminViewUses(Collection<String> viewUses)
+   {
+      setField(Fields.ADMIN_VIEWS, (Serializable) viewUses);
+   }
+
    public ActivationPolicy getActivationPolicy()
    {
       ActivationPolicy activationPolicy = getField(Fields.ACTIVATION_POLICY, ActivationPolicy.class);

Copied: projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview (from rev 88383, projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/support/adminview)

Deleted: projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java
===================================================================
--- projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java	2009-05-07 21:06:09 UTC (rev 88383)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.managed.factory.support.adminview;
-
-import java.io.Serializable;
-
-import org.jboss.managed.api.annotation.ManagementObject;
-import org.jboss.managed.api.annotation.ManagementProperty;
-
-/**
- * Tests of managed property adminViews settings
- * @author Scott.Stark at jboss.org
- * @version $Revision: 86625 $
- */
- at ManagementObject
-public class PortAdminViewBean
-   implements Serializable
-{
-   private static final long serialVersionUID = 1;
-   
-   @ManagementProperty(adminViews={"Port"})
-   public String getPort()
-   {
-      return null;
-   }
-   @ManagementProperty(adminViews={"Port", "Bootstrap"})
-   public String getBootstrapPort()
-   {
-      return null;
-   }
-   @ManagementProperty(adminViews={"Interface"})
-   public String getListeningInterface()
-   {
-      return null;
-   }
-}

Copied: projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java (from rev 88383, projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java)
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java	                        (rev 0)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/PortAdminViewBean.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.managed.factory.support.adminview;
+
+import java.io.Serializable;
+
+import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperty;
+
+/**
+ * Tests of managed property adminViews settings
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 86625 $
+ */
+ at ManagementObject
+public class PortAdminViewBean
+   implements Serializable
+{
+   private static final long serialVersionUID = 1;
+   
+   @ManagementProperty(adminViews={"Port"})
+   public String getPort()
+   {
+      return null;
+   }
+   @ManagementProperty(adminViews={"Port", "Bootstrap"})
+   public String getBootstrapPort()
+   {
+      return null;
+   }
+   @ManagementProperty(adminViews={"Interface"})
+   public String getListeningInterface()
+   {
+      return null;
+   }
+}

Deleted: projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java
===================================================================
--- projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java	2009-05-07 21:06:09 UTC (rev 88383)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.managed.factory.support.adminview;
-
-import java.io.Serializable;
-
-import org.jboss.managed.api.annotation.ManagementObject;
-import org.jboss.managed.api.annotation.ManagementProperty;
-
-/**
- * Tests of managed property adminViews settings
- * @author Scott.Stark at jboss.org
- * @version $Revision: 86625 $
- */
- at ManagementObject
-public class ServerBean
-   implements Serializable
-{
-   private static final long serialVersionUID = 1;
-   
-   @ManagementProperty(adminViews={"Port"})
-   public String getProperty1()
-   {
-      return null;
-   }
-   @ManagementProperty(adminViews={"Port", "Bootstrap"})
-   public String getProperty2()
-   {
-      return null;
-   }
-   @ManagementProperty(adminViews={"Interface"})
-   public String getProperty3()
-   {
-      return null;
-   }
-   @ManagementProperty(adminViews={"Security"})
-   public String getSecurityDomain()
-   {
-      return null;
-   }
-}

Copied: projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java (from rev 88383, projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java)
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java	                        (rev 0)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/support/adminview/ServerBean.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.managed.factory.support.adminview;
+
+import java.io.Serializable;
+
+import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperty;
+
+/**
+ * Tests of managed property adminViews settings
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 86625 $
+ */
+ at ManagementObject
+public class ServerBean
+   implements Serializable
+{
+   private static final long serialVersionUID = 1;
+   
+   @ManagementProperty(adminViews={"Port"})
+   public String getProperty1()
+   {
+      return null;
+   }
+   @ManagementProperty(adminViews={"Port", "Bootstrap"})
+   public String getProperty2()
+   {
+      return null;
+   }
+   @ManagementProperty(adminViews={"Interface"})
+   public String getProperty3()
+   {
+      return null;
+   }
+   @ManagementProperty(adminViews={"Security"})
+   public String getSecurityDomain()
+   {
+      return null;
+   }
+}

Modified: projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java
===================================================================
--- projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java	2009-05-20 14:57:30 UTC (rev 89192)
+++ projects/jboss-man/branches/Branch_2_1/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java	2009-05-20 15:38:48 UTC (rev 89193)
@@ -22,8 +22,11 @@
 package org.jboss.test.managed.factory.test;
 
 import java.lang.annotation.Annotation;
+import java.util.Collection;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 import junit.framework.Test;
 
@@ -45,6 +48,8 @@
 import org.jboss.test.managed.factory.support.ManagementPropertyMasked;
 import org.jboss.test.managed.factory.support.ManagementPropertyReadOnly;
 import org.jboss.test.managed.factory.support.ManagementPropertySimpleManaged;
+import org.jboss.test.managed.factory.support.adminview.PortAdminViewBean;
+import org.jboss.test.managed.factory.support.adminview.ServerBean;
 
 /**
  * ManagementPropertyUnitTestCase.
@@ -268,4 +273,60 @@
       Masked masked2Ann = (Masked) masked2.getAnnotations().get(maskedKey);
       assertNotNull(masked2Ann);
    }
+
+   public void testAdminViews()
+      throws Exception
+   {
+      ManagedObject serverBeanMO = createAndCheckDefaultManagedObject(ServerBean.class);
+      ManagedObject portBeanMO = createAndCheckDefaultManagedObject(PortAdminViewBean.class);
+      log.info("ServerBean: "+serverBeanMO.getPropertyNames());
+      Map<String, Set<String>> serverAdminViews = new HashMap<String, Set<String>>();
+      for(ManagedProperty mp : serverBeanMO.getProperties().values())
+      {
+         String name = mp.getName();
+         Set<String> views = serverAdminViews.get(name);
+         if(views == null)
+         {
+            views = new HashSet<String>();
+            serverAdminViews.put(name, views);
+         }
+         Collection<String> adminViews = mp.getAdminViewUses();
+         log.info(mp+" uses: "+adminViews);
+         for(String view : adminViews)
+            views.add(view);
+      }
+      // Validate the expected admin views
+      assertEquals("property1", collection("Port"), serverAdminViews.get("property1"));
+      assertEquals("property2", collection("Port", "Bootstrap"), serverAdminViews.get("property2"));
+      assertEquals("property3", collection("Interface"), serverAdminViews.get("property3"));
+      assertEquals("securityDomain", collection("Security"), serverAdminViews.get("securityDomain"));
+      log.info("PortAdminViewBean: "+portBeanMO.getPropertyNames());
+
+      Map<String, Set<String>> portViews = new HashMap<String, Set<String>>();
+      for(ManagedProperty mp : portBeanMO.getProperties().values())
+      {
+         String name = mp.getName();
+         Set<String> views = portViews.get(name);
+         if(views == null)
+         {
+            views = new HashSet<String>();
+            portViews.put(name, views);
+         }
+         Collection<String> adminViews = mp.getAdminViewUses();
+         log.info(mp+" uses: "+adminViews);
+         for(String view : adminViews)
+            views.add(view);
+      }
+      assertEquals("listeningInterface", collection("Interface"), portViews.get("listeningInterface"));
+      assertEquals("port", collection("Port"), portViews.get("port"));
+      assertEquals("bootstrapPort", collection("Port", "Bootstrap"), portViews.get("bootstrapPort"));
+   }
+
+   private Collection<String> collection(String... strings)
+   {
+      HashSet<String> collection = new HashSet<String>();
+      for(String s : strings)
+         collection.add(s);
+      return collection;
+   }
 }




More information about the jboss-cvs-commits mailing list