You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by go...@apache.org on 2011/12/29 15:38:38 UTC
svn commit: r1225545 - in
/directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component:
hub/ instance/
Author: gokturk
Date: Thu Dec 29 14:38:38 2011
New Revision: 1225545
URL: http://svn.apache.org/viewvc?rev=1225545&view=rev
Log:
* Embed IPojo's InstanceManager reference to ADSComponentInstance for more instance management facilities.
(InstanceManager class has same name as our InstanceManager for instance management, i will refactor it to ComponentInstanceManager later after implementation)
* ADSComponentInstance interface is refined to take advantages of new IPojo InstanceManager
Modified:
directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ComponentManager.java
directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ConfigurationManager.java
directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/ADSComponentInstance.java
directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/DefaultComponentInstanceGenerator.java
Modified: directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ComponentManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ComponentManager.java?rev=1225545&r1=1225544&r2=1225545&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ComponentManager.java (original)
+++ directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ComponentManager.java Thu Dec 29 14:38:38 2011
@@ -190,6 +190,7 @@ public class ComponentManager
return null;
}
+ instance.setDITHookDn( cachedInstance.getCachedDn() );
component.addInstance( instance );
return instance;
Modified: directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ConfigurationManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ConfigurationManager.java?rev=1225545&r1=1225544&r2=1225545&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ConfigurationManager.java (original)
+++ directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/hub/ConfigurationManager.java Thu Dec 29 14:38:38 2011
@@ -161,6 +161,8 @@ public class ConfigurationManager
try
{
configPartition.add( ac );
+
+ instance.setDITHookDn( instanceEntry.getDn().getName() );
}
catch ( LdapException e )
{
Modified: directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/ADSComponentInstance.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/ADSComponentInstance.java?rev=1225545&r1=1225544&r2=1225545&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/ADSComponentInstance.java (original)
+++ directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/ADSComponentInstance.java Thu Dec 29 14:38:38 2011
@@ -23,6 +23,8 @@ package org.apache.directory.server.comp
import java.util.Properties;
import org.apache.directory.server.component.ADSComponent;
+import org.apache.directory.server.component.utilities.ADSConstants;
+import org.apache.felix.ipojo.InstanceManager;
/**
@@ -33,6 +35,16 @@ import org.apache.directory.server.compo
public class ADSComponentInstance
{
/*
+ * IPojo instance name
+ */
+ private String instanceName;
+
+ /*
+ * An IPojo instance manager reference
+ */
+ private InstanceManager instanceManager;
+
+ /*
* Actual instance reference.
*/
private Object instance;
@@ -61,29 +73,31 @@ public class ADSComponentInstance
* @param pojo Underlying Pojo object if the component instance
* @param configuration Configuration of the Pojo
*/
- public ADSComponentInstance( ADSComponent component, Object pojo, Properties configuration )
+ public ADSComponentInstance( ADSComponent component, InstanceManager instanceManager, Properties configuration )
{
this.parentComponent = component;
- this.instance = pojo;
+ this.instanceManager = instanceManager;
this.instanceConfiguration = configuration;
+ this.instance = instanceManager.getPojoObject();
+ this.instanceName = configuration.getProperty( ADSConstants.ADS_COMPONENT_INSTANCE_PROP_NAME );
}
/**
- * @return the instance
+ * @return the instance name
*/
- public Object getInstance()
+ public String getInstanceName()
{
- return instance;
+ return instanceName;
}
/**
- * @param instance the instance to set
+ * @return the instance
*/
- public void setInstance( Object instance )
+ public Object getInstance()
{
- this.instance = instance;
+ return instance;
}
@@ -97,47 +111,56 @@ public class ADSComponentInstance
/**
- * @param parentComponent the parentComponent to set
+ * @return the instanceConfiguration
*/
- public void setParentComponent( ADSComponent parentComponent )
+ public Properties getInstanceConfiguration()
{
- this.parentComponent = parentComponent;
+ return instanceConfiguration;
}
/**
- * @return the instanceConfiguration
+ * @return the configHookDn
*/
- public Properties getInstanceConfiguration()
+ public String getDITHookDn()
{
- return instanceConfiguration;
+ return DITHookDn;
}
/**
- * @param instanceConfiguration the instanceConfiguration to set
+ * @param configHookDn the configHookDn to set
*/
- public void setInstanceConfiguration( Properties instanceConfiguration )
+ public void setDITHookDn( String DITHookDn )
{
- this.instanceConfiguration = instanceConfiguration;
+ this.DITHookDn = DITHookDn;
}
/**
- * @return the configHookDn
+ * Reconfigures the underlying IPojo instance with the supplied configuration.
+ * When called with null configuration, it reconfigures itself with the current configuration
+ *
+ * @param instanceConfiguration Instance configuration
*/
- public String getDITHookDn()
+ public void reconfigure( Properties instanceConfiguration )
{
- return DITHookDn;
+ if ( instanceConfiguration != null )
+ {
+ this.instanceConfiguration = instanceConfiguration;
+ }
+
+ instanceManager.reconfigure( instanceConfiguration );
}
/**
- * @param configHookDn the configHookDn to set
+ * Stops the IPojo instance management for this instance
+ *
*/
- public void setDITHookDn( String DITHookDn )
+ public void stop()
{
- this.DITHookDn = DITHookDn;
+ instanceManager.stop();
}
}
Modified: directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/DefaultComponentInstanceGenerator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/DefaultComponentInstanceGenerator.java?rev=1225545&r1=1225544&r2=1225545&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/DefaultComponentInstanceGenerator.java (original)
+++ directory/apacheds/branches/apacheds-osgi/component-hub/src/main/java/org/apache/directory/server/component/instance/DefaultComponentInstanceGenerator.java Thu Dec 29 14:38:38 2011
@@ -63,10 +63,10 @@ public class DefaultComponentInstanceGen
try
{
ComponentInstance comp = component.getFactory().createComponentInstance( properties );
- Object pojo = ( ( InstanceManager ) comp ).getPojoObject();
+ InstanceManager instanceManager = ( ( InstanceManager ) comp );
- //Create the ADSComponentInstance reference using the pojo just created.
- ADSComponentInstance instance = new ADSComponentInstance( component, pojo, properties );
+ //Create the ADSComponentInstance reference using the pojo manager just created.
+ ADSComponentInstance instance = new ADSComponentInstance( component, instanceManager, properties );
return instance;
}