geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <dsundst...@gluecode.com>
Subject Re: svn commit: rev 56340 - in geronimo/trunk/modules: deployment/src/java/org/apache/geronimo/deployment deployment/src/java/org/apache/geronimo/deployment/service kernel/src/java/org/apache/geronimo/gbean kernel/src/java/org/apache/geronimo/gbean/jmx kernel/src/java/org/apache/geronimo/kernel kernel/src/java/org/apache/geronimo/kernel/config system/src/java/org/apache/geronimo/system/configuration system/src/test/org/apache/geronimo/system/configuration
Date Tue, 02 Nov 2004 04:06:02 GMT
DOH!  I'm about to run out... I'll fix it when I get back.

-dain


On Nov 1, 2004, at 7:48 PM, David Jencks wrote:

> Is MockGBean really supposed to be in java rather than test?
>
> david jencks
>
> On Nov 1, 2004, at 7:45 PM, dain@apache.org wrote:
>
>> Author: dain
>> Date: Mon Nov  1 19:45:48 2004
>> New Revision: 56340
>>
>> Added:
>>     
>> geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/ 
>> configuration/MockGBean.java
>> Modified:
>>     
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/DeploymentContext.java
>>     
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanBuilder.java
>>     
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanHelper.java
>>     
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/ 
>> GBeanData.java
>>     
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/ 
>> GBeanMBean.java
>>     
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> Kernel.java
>>     
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> config/Configuration.java
>>     
>> geronimo/trunk/modules/system/src/test/org/apache/geronimo/system/ 
>> configuration/LocalConfigStoreTest.java
>> Log:
>> Moved object name into GBeanData
>>
>>
>> Modified:  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/DeploymentContext.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/DeploymentContext.java	(original)
>> +++  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/DeploymentContext.java	Mon Nov  1 19:45:48 2004
>> @@ -155,9 +155,9 @@
>>          gbeans.put(name, gbean);
>>      }
>>
>> -    public void addGBean(ObjectName name, GBeanData gbean,  
>> ClassLoader classLoader) {
>> +    public void addGBean(GBeanData gbean, ClassLoader classLoader) {
>>          GBeanMBean gbeanMBean = new GBeanMBean(gbean, classLoader);
>> -        gbeans.put(name, gbeanMBean);
>> +        gbeans.put(gbean.getName(), gbeanMBean);
>>      }
>>
>>      public void addDependency(URI uri) {
>>
>> Modified:  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanBuilder.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanBuilder.java	(original)
>> +++  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanBuilder.java	Mon Nov  1 19:45:48 2004
>> @@ -35,13 +35,13 @@
>>   * @version $Rev$ $Date$
>>   */
>>  public class GBeanBuilder {
>> -    private final ObjectName name;
>>      private final GBeanData gbean;
>>      private final ClassLoader classLoader;
>>
>>      public GBeanBuilder(String name, ClassLoader classLoader, String  
>> className) throws DeploymentException {
>> +        ObjectName objectName;
>>          try {
>> -            this.name = new ObjectName(name);
>> +            objectName = new ObjectName(name);
>>          } catch (MalformedObjectNameException e) {
>>              throw new DeploymentException("Invalid ObjectName: " +  
>> name, e);
>>          }
>> @@ -49,7 +49,7 @@
>>          this.classLoader = classLoader;
>>
>>          try {
>> -            gbean = new GBeanData(GBeanInfo.getGBeanInfo(className,  
>> classLoader));
>> +            gbean = new GBeanData(objectName,  
>> GBeanInfo.getGBeanInfo(className, classLoader));
>>          } catch (Exception e) {
>>              throw new DeploymentException("Unable to create GBean  
>> from class " + className, e);
>>          }
>> @@ -95,9 +95,5 @@
>>
>>      public GBeanData getGBeanData() {
>>          return gbean;
>> -    }
>> -
>> -    public ObjectName getName() {
>> -        return name;
>>      }
>>  }
>>
>> Modified:  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanHelper.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanHelper.java	(original)
>> +++  
>> geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/ 
>> deployment/service/GBeanHelper.java	Mon Nov  1 19:45:48 2004
>> @@ -45,6 +45,6 @@
>>              builder.setReference(gbean.getReferencesName(j),  
>> gbean.getReferencesPatternArray(j));
>>          }
>>
>> -        context.addGBean(builder.getName(), builder.getGBeanData(),  
>> cl);
>> +        context.addGBean(builder.getGBeanData(), cl);
>>      }
>>  }
>>
>> Modified:  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/ 
>> GBeanData.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/ 
>> GBeanData.java	(original)
>> +++  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/ 
>> GBeanData.java	Mon Nov  1 19:45:48 2004
>> @@ -32,6 +32,7 @@
>>   * @version $Rev$ $Date$
>>   */
>>  public class GBeanData implements Externalizable {
>> +    private ObjectName name;
>>      private GBeanInfo gbeanInfo;
>>      private final Map attributes;
>>      private final Map references;
>> @@ -41,18 +42,28 @@
>>          references = new HashMap();
>>      }
>>
>> -    public GBeanData(GBeanInfo gbeanInfo) {
>> +    public GBeanData(ObjectName name, GBeanInfo gbeanInfo) {
>> +        this.name = name;
>>          this.gbeanInfo = gbeanInfo;
>>          attributes = new HashMap();
>>          references = new HashMap();
>>      }
>>
>>      public GBeanData(GBeanData gbeanData) {
>> +        name = gbeanData.name;
>>          gbeanInfo = gbeanData.gbeanInfo;
>>          attributes = new HashMap(gbeanData.attributes);
>>          references = new HashMap(gbeanData.references);
>>      }
>>
>> +    public ObjectName getName() {
>> +        return name;
>> +    }
>> +
>> +    public void setName(ObjectName name) {
>> +        this.name = name;
>> +    }
>> +
>>      public GBeanInfo getGBeanInfo() {
>>          return gbeanInfo;
>>      }
>> @@ -101,6 +112,9 @@
>>          // write the gbean info
>>          out.writeObject(gbeanInfo);
>>
>> +        // write the object name
>> +        out.writeObject(name);
>> +
>>          // write the attributes
>>          out.writeInt(attributes.size());
>>          for (Iterator iterator = attributes.entrySet().iterator();  
>> iterator.hasNext();) {
>> @@ -135,16 +149,29 @@
>>          // read the gbean info
>>          gbeanInfo = (GBeanInfo) in.readObject();
>>
>> -        // read the attributes
>> -        int attributeCount = in.readInt();
>> -        for (int i = 0; i < attributeCount; i++) {
>> -            setAttribute((String) in.readObject(), in.readObject());
>> +        // read the object name
>> +        try {
>> +            name = (ObjectName) in.readObject();
>> +        } catch (IOException e) {
>> +            throw (IOException) new IOException("Unable to  
>> deserialize ObjectName for GBeanData of type " +  
>> gbeanInfo.getClassName()).initCause(e);
>>          }
>>
>> -        // read the references
>> -        int endpointCount = in.readInt();
>> -        for (int i = 0; i < endpointCount; i++) {
>> -            setReferencePatterns((String) in.readObject(), (Set)  
>> in.readObject());
>> +        try {
>> +            // read the attributes
>> +            int attributeCount = in.readInt();
>> +            for (int i = 0; i < attributeCount; i++) {
>> +                setAttribute((String) in.readObject(),  
>> in.readObject());
>> +            }
>> +
>> +            // read the references
>> +            int endpointCount = in.readInt();
>> +            for (int i = 0; i < endpointCount; i++) {
>> +                setReferencePatterns((String) in.readObject(), (Set)  
>> in.readObject());
>> +            }
>> +        } catch (IOException e) {
>> +            throw (IOException) new IOException("Unable to  
>> deserialize GBeanData " + name).initCause(e);
>> +        } catch (ClassNotFoundException e) {
>> +            throw new ClassNotFoundException("Unable to find class  
>> used in GBeanData " + name, e);
>>          }
>>      }
>>  }
>>
>> Modified:  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/ 
>> GBeanMBean.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/ 
>> GBeanMBean.java	(original)
>> +++  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/ 
>> GBeanMBean.java	Mon Nov  1 19:45:48 2004
>> @@ -684,10 +684,7 @@
>>       * @return the gbean data
>>       */
>>      public GBeanData getGBeanData() {
>> -        GBeanData gbeanData = new GBeanData();
>> -
>> -        // add the gbean info
>> -        gbeanData.setGBeanInfo(gbeanInfo);
>> +        GBeanData gbeanData = new GBeanData(objectName, gbeanInfo);
>>
>>          // add the attributes
>>          for (int i = 0; i < attributes.length; i++) {
>>
>> Modified:  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> Kernel.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> Kernel.java	(original)
>> +++  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> Kernel.java	Mon Nov  1 19:45:48 2004
>> @@ -282,14 +282,14 @@
>>          }
>>      }
>>
>> -    public void loadGBean(ObjectName name, GBeanData gbeanData,  
>> ClassLoader classLoader) throws InstanceAlreadyExistsException,  
>> InvalidConfigException {
>> +    public void loadGBean(GBeanData gbeanData, ClassLoader  
>> classLoader) throws InstanceAlreadyExistsException,  
>> InvalidConfigException {
>>          try {
>>              GBeanMBean gbean = new GBeanMBean(gbeanData,  
>> classLoader);
>> -            mbServer.registerMBean(gbean, name);
>> +            mbServer.registerMBean(gbean, gbeanData.getName());
>>          } catch (MBeanRegistrationException e) {
>> -            throw new InvalidConfigException("Invalid GBean  
>> configuration for " + name, e);
>> +            throw new InvalidConfigException("Invalid GBean  
>> configuration for " + gbeanData.getName(), e);
>>          } catch (NotCompliantMBeanException e) {
>> -            throw new InvalidConfigException("Invalid GBean  
>> configuration for " + name, e);
>> +            throw new InvalidConfigException("Invalid GBean  
>> configuration for " + gbeanData.getName(), e);
>>          }
>>      }
>>
>>
>> Modified:  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> config/Configuration.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> config/Configuration.java	(original)
>> +++  
>> geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/ 
>> config/Configuration.java	Mon Nov  1 19:45:48 2004
>> @@ -349,18 +349,15 @@
>>       */
>>      private static Map loadGBeans(byte[] gbeanState, ClassLoader cl)  
>> throws InvalidConfigException {
>>          Map gbeans = new HashMap();
>> -        ObjectName objectName = null;
>>          try {
>>              ObjectInputStream ois = new ConfigInputStream(new  
>> ByteArrayInputStream(gbeanState), cl);
>>              try {
>>                  while (true) {
>> -                    objectName = (ObjectName) ois.readObject();
>> -
>>                      GBeanData gbeanData = new GBeanData();
>>                      gbeanData.readExternal(ois);
>>                      GBeanMBean gbean = new GBeanMBean(gbeanData, cl);
>>
>> -                    gbeans.put(objectName, gbean);
>> +                    gbeans.put(gbeanData.getName(), gbean);
>>                  }
>>              } catch (EOFException e) {
>>                  // ok
>> @@ -369,8 +366,7 @@
>>              }
>>              return gbeans;
>>          } catch (Exception e) {
>> -            throw new InvalidConfigException("Unable to deserialize  
>> GBeanState" +
>> -                    (objectName == null ? "" : " " + objectName), e);
>> +            throw new InvalidConfigException("Unable to deserialize  
>> GBeanState", e);
>>          }
>>      }
>>
>> @@ -401,8 +397,11 @@
>>              ObjectName objectName = (ObjectName) entry.getKey();
>>              GBeanMBean gbean = (GBeanMBean) entry.getValue();
>>              try {
>> -                oos.writeObject(objectName);
>> -                gbean.getGBeanData().writeExternal(oos);
>> +                GBeanData gbeanData = gbean.getGBeanData();
>> +                // todo we must explicitly set the bean name here  
>> from the gbean key because the gbean mbean may
>> +                // not have been brought online, so the object namve  
>> in the gbean mbean will be null
>> +                gbeanData.setName(objectName);
>> +                gbeanData.writeExternal(oos);
>>              } catch (Exception e) {
>>                  throw new InvalidConfigException("Unable to  
>> serialize GBeanState for " + objectName, e);
>>              }
>>
>> Added:  
>> geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/ 
>> configuration/MockGBean.java
>> ====================================================================== 
>> ========
>> --- (empty file)
>> +++  
>> geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/ 
>> configuration/MockGBean.java	Mon Nov  1 19:45:48 2004
>> @@ -0,0 +1,49 @@
>> +/**
>> + *
>> + * Copyright 2003-2004 The Apache Software Foundation
>> + *
>> + *  Licensed 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.geronimo.system.configuration;
>> +
>> +import org.apache.geronimo.gbean.GBeanInfo;
>> +import org.apache.geronimo.gbean.GBeanInfoBuilder;
>> +
>> +/**
>> + * @version $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14  
>> Sep 2004) $
>> + */
>> +public class MockGBean {
>> +    private static final GBeanInfo GBEAN_INFO;
>> +
>> +    private String value;
>> +
>> +    public String getValue() {
>> +        return value;
>> +    }
>> +
>> +    public void setValue(String value) {
>> +        this.value = value;
>> +    }
>> +
>> +    public static GBeanInfo getGBeanInfo() {
>> +        return GBEAN_INFO;
>> +    }
>> +
>> +    static {
>> +        GBeanInfoBuilder infoBuilder = new  
>> GBeanInfoBuilder("MockGBean", MockGBean.class);
>> +        infoBuilder.addAttribute("value", String.class, true);
>> +
>> +        GBEAN_INFO = infoBuilder.getBeanInfo();
>> +    }
>> +}
>>
>> Modified:  
>> geronimo/trunk/modules/system/src/test/org/apache/geronimo/system/ 
>> configuration/LocalConfigStoreTest.java
>> ====================================================================== 
>> ========
>> ---  
>> geronimo/trunk/modules/system/src/test/org/apache/geronimo/system/ 
>> configuration/LocalConfigStoreTest.java	(original)
>> +++  
>> geronimo/trunk/modules/system/src/test/org/apache/geronimo/system/ 
>> configuration/LocalConfigStoreTest.java	Mon Nov  1 19:45:48 2004
>> @@ -130,10 +130,10 @@
>>              root.mkdir();
>>
>>              storeName = new  
>> ObjectName("geronimo.test: 
>> role=ConfigurationStore,name=LocalConfigStore");
>> -            GBeanData store = new  
>> GBeanData(LocalConfigStore.getGBeanInfo());
>> +            GBeanData store = new GBeanData(storeName,  
>> LocalConfigStore.getGBeanInfo());
>>              store.setAttribute("root", root.toURI());
>>
>> -            kernel.loadGBean(storeName, store,  
>> getClass().getClassLoader());
>> +            kernel.loadGBean(store, getClass().getClassLoader());
>>              kernel.startGBean(storeName);
>>
>>              GBeanMBean gbean = new  
>> GBeanMBean(Configuration.GBEAN_INFO);
>>


Mime
View raw message