diff --git a/conf-sso/dynamo.xml b/conf-sso/dynamo.xml index 3f3eb81..5dbb8f4 100644 --- a/conf-sso/dynamo.xml +++ b/conf-sso/dynamo.xml @@ -65,6 +65,7 @@ srm + data diff --git a/conf/dynamo-venice.xml b/conf/dynamo-venice.xml index e88f909..37b6eef 100644 --- a/conf/dynamo-venice.xml +++ b/conf/dynamo-venice.xml @@ -65,6 +65,7 @@ srm + data diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceImpl.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceImpl.java new file mode 100644 index 0000000..cd79f10 --- /dev/null +++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceImpl.java @@ -0,0 +1,264 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.conf.impl; + +import java.security.acl.*; +import java.util.*; +import com.silverwrist.dynamo.iface.*; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.venice.conf.iface.*; +import com.silverwrist.venice.conf.obj.*; + +class ConferenceImpl implements VeniceConference +{ + /*-------------------------------------------------------------------------------- + * Attributes + *-------------------------------------------------------------------------------- + */ + + private DynamicImplConference m_dobj; + private ConferenceOps m_ops; + + /*-------------------------------------------------------------------------------- + * Constructor + *-------------------------------------------------------------------------------- + */ + + ConferenceImpl(ConferenceOps ops) + { + m_dobj = new DynamicImplConference(this); + m_ops = ops; + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Implementations from interface DynamicObject + *-------------------------------------------------------------------------------- + */ + + public Object get(String property_name) throws DynamicObjectException + { + return m_dobj.get(property_name); + + } // end get + + public void set(String property_name, Object value) throws DynamicObjectException + { + m_dobj.set(property_name,value); + + } // end set + + public Object call(String method_name, Object[] parameters) throws DynamicObjectException + { + return m_dobj.call(method_name,parameters); + + } // end call + + public Object call(String method_name, List parameters) throws DynamicObjectException + { + return m_dobj.call(method_name,parameters); + + } // end call + + public DynamicClass getDClass() + { + return m_dobj.getDClass(); + + } // end getDClass + + /*-------------------------------------------------------------------------------- + * Implementations from interface NamedObject + *-------------------------------------------------------------------------------- + */ + + /** + * Returns the name of this object. + * + * @return The name of this object. + */ + public String getName() + { + return null; // TEMP + + } + + /*-------------------------------------------------------------------------------- + * Implementations from interface ObjectProvider + *-------------------------------------------------------------------------------- + */ + + /** + * Retrieves an object from this ObjectProvider. + * + * @param namespace The namespace to interpret the name relative to. + * @param name The name of the object to be retrieved. + * @return The object reference specified. + */ + public Object getObject(String namespace, String name) + { + return null; // TEMP + + } + + /*-------------------------------------------------------------------------------- + * Implementations from interface SecureObjectStore + *-------------------------------------------------------------------------------- + */ + + /** + * Sets an object into this SecureObjectStore. + * + * @param caller The user performing the operation. + * @param namespace The namespace to interpret the name relative to. + * @param name The name of the object to be set. + * @param value The object to set into the SecureObjectStore. + * @return The previous object that was set into the SecureObjectStore under this namespace and name, or + * null if there was no such object. + * @exception com.silverwrist.dynamo.except.DatabaseException If there was an error setting the object value. + * @exception com.silverwrist.dynamo.except.DynamoSecurityException If the specified user is not permitted to + * set this object value into this SecureObjectStore. + */ + public Object setObject(DynamoUser caller, String namespace, String name, Object value) + throws DatabaseException, DynamoSecurityException + { + return null; // TEMP + + } + + /** + * Removes an object from this SecureObjectStore. + * + * @param caller The user performing the operation. + * @param namespace The namespace to interpret the name relative to. + * @param name The name of the object to be removed. + * @return The previous object that was set into the SecureObjectStore under this namespace and name, or + * null if there was no such object. + * @exception com.silverwrist.dynamo.except.DatabaseException If there was an error removing the object value. + * @exception com.silverwrist.dynamo.except.DynamoSecurityException If the specified user is not permitted to + * remove this object value from this SecureObjectStore. + */ + public Object removeObject(DynamoUser caller, String namespace, String name) + throws DatabaseException, DynamoSecurityException + { + return null; // TEMP + + } + + /** + * Returns a collection of all object namespaces that have been set into this SecureObjectStore. + * + * @return A {@link java.util.Collection Collection} containing {@link java.lang.String String} objects specifying + * all the object namespaces. + * @exception com.silverwrist.dynamo.except.DatabaseException If there was an error getting the namespace list. + */ + public Collection getNamespaces() throws DatabaseException + { + return null; // TEMP + + } + + /** + * Returns a collection of all object names that have been set into this SecureObjectStore under + * a given namespace. + * + * @param namespace The namespace to look for names under. + * @return A {@link java.util.Collection Collection} containing {@link java.lang.String String} objects + * specifying all the object names for this namespace. + * @exception com.silverwrist.dynamo.except.DatabaseException If there was an error getting the object name list. + */ + public Collection getNamesForNamespace(String namespace) throws DatabaseException + { + return null; // TEMP + + } + + /*-------------------------------------------------------------------------------- + * Implementations from interface VeniceConference + *-------------------------------------------------------------------------------- + */ + + public int getConfID() + { + return -1; // TEMP + + } + + public void setName(DynamoUser caller, String name) throws DatabaseException, DynamoSecurityException + { + } + + public java.util.Date getCreatedDate() + { + return null; // TEMP + + } + + public java.util.Date getLastUpdateDate() + { + return null; // TEMP + + } + + public void setLastUpdateDate(DynamoUser caller, java.util.Date date) + throws DatabaseException, DynamoSecurityException + { + } + + public int getHostsGID() + { + return -1; // TEMP + + } + + public DynamoGroup getHosts() throws DatabaseException + { + return null; // TEMP + + } + + public DynamoAcl getAcl() throws DatabaseException, AclNotFoundException + { + return null; // TEMP + + } + + public Set getAliases() throws DatabaseException + { + return null; // TEMP + + } + + public String getPrimaryAlias() throws DatabaseException + { + return null; // TEMP + + } + + public void setPrimaryAlias(DynamoUser caller, String alias) throws DatabaseException, DynamoSecurityException + { + } + + public void addAlias(DynamoUser caller, String alias) throws DatabaseException, DynamoSecurityException + { + } + + public void removeAlias(DynamoUser caller, String alias) throws DatabaseException, DynamoSecurityException + { + } + +} // end class ConferenceImpl diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManager.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManager.java index d17477e..0bfe2aa 100644 --- a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManager.java +++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManager.java @@ -33,17 +33,28 @@ public class ConferenceManager implements ConferenceAccessObject private DynamicImplConferenceAccess m_dobj; private UseCount m_uc; + private ConferenceManagerOps m_ops; /*-------------------------------------------------------------------------------- * Constructor *-------------------------------------------------------------------------------- */ - public ConferenceManager(UseCount uc) + public ConferenceManager(UseCount uc, DBConnectionPool pool) throws ModuleException { - m_dobj = new DynamicImplConferenceAccess(this); - m_uc = uc; - uc.incrementUseCount(); + try + { // initialize everything + m_dobj = new DynamicImplConferenceAccess(this); + m_uc = uc; + uc.incrementUseCount(); + m_ops = ConferenceManagerOps.get(pool); + + } // end try + catch (ConfigException e) + { // convert it to a ModuleException + throw new ModuleException(e); + + } // end catch } // end constructor @@ -112,7 +123,10 @@ public class ConferenceManager implements ConferenceAccessObject public void dispose() { + m_ops.dispose(); + m_ops = null; m_uc.decrementUseCount(); + m_uc = null; } // end dispose diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps.java new file mode 100644 index 0000000..716cfa4 --- /dev/null +++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps.java @@ -0,0 +1,91 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.conf.impl; + +import java.util.*; +import com.silverwrist.dynamo.db.OpsBase; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +abstract class ConferenceManagerOps extends OpsBase +{ + /*-------------------------------------------------------------------------------- + * Attributes + *-------------------------------------------------------------------------------- + */ + + private ConferenceOps m_confops = null; + + /*-------------------------------------------------------------------------------- + * Constructor + *-------------------------------------------------------------------------------- + */ + + protected ConferenceManagerOps(DBConnectionPool pool) + { + super(pool); + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Overrides from class OpsBase + *-------------------------------------------------------------------------------- + */ + + public void dispose() + { + if (m_confops!=null) + m_confops.dispose(); + m_confops = null; + super.dispose(); + + } // end dispose + + /*-------------------------------------------------------------------------------- + * Abstract operations + *-------------------------------------------------------------------------------- + */ + + protected abstract ConferenceOps createConferenceOps(DBConnectionPool pool); + + /*-------------------------------------------------------------------------------- + * External operations + *-------------------------------------------------------------------------------- + */ + + synchronized ConferenceOps getConferenceOps() + { + if (m_confops==null) + m_confops = createConferenceOps(getPool()); + return m_confops; + + } // end getConferenceOps + + /*-------------------------------------------------------------------------------- + * External static operations + *-------------------------------------------------------------------------------- + */ + + static ConferenceManagerOps get(DBConnectionPool pool) throws ConfigException + { + return (ConferenceManagerOps)get(pool,ConferenceManagerOps.class.getClassLoader(), + ConferenceManagerOps.class.getName() + "_","ConferenceManagerOps"); + + } // end get + +} // end class ConferenceManagerOps diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps_mysql.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps_mysql.java new file mode 100644 index 0000000..2656f4c --- /dev/null +++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps_mysql.java @@ -0,0 +1,51 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.conf.impl; + +import java.sql.*; +import java.util.*; +import com.silverwrist.util.*; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; +import com.silverwrist.dynamo.util.*; + +public class ConferenceManagerOps_mysql extends ConferenceManagerOps +{ + /*-------------------------------------------------------------------------------- + * Constructor + *-------------------------------------------------------------------------------- + */ + + public ConferenceManagerOps_mysql(DBConnectionPool pool) + { + super(pool); + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Abstract implementations from class ConferenceManagerOps + *-------------------------------------------------------------------------------- + */ + + protected ConferenceOps createConferenceOps(DBConnectionPool pool) + { + return new ConferenceOps_mysql(pool); + + } // end createConferenceOps + +} // end class ConferenceManagerOps_mysql diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceOps.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceOps.java new file mode 100644 index 0000000..7ee5473 --- /dev/null +++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceOps.java @@ -0,0 +1,43 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.conf.impl; + +import java.util.*; +import com.silverwrist.dynamo.db.OpsBase; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +abstract class ConferenceOps extends OpsBase +{ + /*-------------------------------------------------------------------------------- + * Constructor + *-------------------------------------------------------------------------------- + */ + + protected ConferenceOps(DBConnectionPool pool) + { + super(pool); + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Abstract operations + *-------------------------------------------------------------------------------- + */ + +} // end class ConferenceOps diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceOps_mysql.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceOps_mysql.java new file mode 100644 index 0000000..72cd16b --- /dev/null +++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceOps_mysql.java @@ -0,0 +1,45 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.conf.impl; + +import java.sql.*; +import java.util.*; +import com.silverwrist.util.*; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; +import com.silverwrist.dynamo.util.*; + +class ConferenceOps_mysql extends ConferenceOps +{ + /*-------------------------------------------------------------------------------- + * Constructor + *-------------------------------------------------------------------------------- + */ + + ConferenceOps_mysql(DBConnectionPool pool) + { + super(pool); + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Abstract implementations from class ConferenceOps + *-------------------------------------------------------------------------------- + */ + +} // end class ConferenceOps_mysql diff --git a/src/conferencing-module/com/silverwrist/venice/conf/module/ModuleMain.java b/src/conferencing-module/com/silverwrist/venice/conf/module/ModuleMain.java index 635925f..354daba 100644 --- a/src/conferencing-module/com/silverwrist/venice/conf/module/ModuleMain.java +++ b/src/conferencing-module/com/silverwrist/venice/conf/module/ModuleMain.java @@ -59,6 +59,8 @@ public class ModuleMain implements ModuleFunctions, UseCount private int m_usecount = 0; private ModuleSite m_site = null; private String m_srm_name = null; + private String m_database_name = null; + private DBConnectionPool m_pool = null; private Controller m_controller = null; private ConferenceManager m_mgr; private ComponentShutdown m_res1; @@ -96,14 +98,34 @@ public class ModuleMain implements ModuleFunctions, UseCount } // end getInstallScript - private synchronized final void loadSRMName(ServiceProvider sp) + private synchronized final void loadConfigData(ServiceProvider sp) { - if (m_srm_name!=null) - return; ModuleConfigurationData conf_data = (ModuleConfigurationData)(sp.queryService(ModuleConfigurationData.class)); - m_srm_name = conf_data.getValue(Namespaces.DYNAMO_OBJECT_NAMESPACE,"security"); + if (m_srm_name==null) + m_srm_name = conf_data.getValue(Namespaces.DYNAMO_OBJECT_NAMESPACE,"security"); + if (m_database_name==null) + m_database_name = conf_data.getValue(Namespaces.DATABASE_CONNECTIONS_NAMESPACE,"main"); - } // end loadSRMName + } // end loadConfigData + + private synchronized final void loadConnectionPool(ServiceProvider services) throws ModuleException + { + try + { // get the database pool + if (m_pool==null) + { // get the object provider and the database pool + ObjectProvider op = (ObjectProvider)(services.queryService(ObjectProvider.class)); + m_pool = GetObjectUtils.getDatabaseConnection(op,Namespaces.DATABASE_CONNECTIONS_NAMESPACE,m_database_name); + } // end if + + } // end try + catch (ConfigException e) + { // translate exception + throw new ModuleException(e); + + } // end catch + + } // end loadConnectionPool /*-------------------------------------------------------------------------------- * Implementations from interface ModuleFunctions @@ -125,7 +147,8 @@ public class ModuleMain implements ModuleFunctions, UseCount public void initialize(ModuleSite site, ServiceProvider services) throws ModuleException { - loadSRMName(services); + loadConfigData(services); + loadConnectionPool(services); m_site = site; try @@ -154,6 +177,7 @@ public class ModuleMain implements ModuleFunctions, UseCount m_controller = null; m_mgr.dispose(); m_mgr = null; + m_pool = null; m_usecount = 0; } // end shutdown @@ -166,7 +190,7 @@ public class ModuleMain implements ModuleFunctions, UseCount public boolean canInstall(ServiceProvider services, Principal installer) { - loadSRMName(services); + loadConfigData(services); try { // get the actual SRM, then get the global ACL, then test permissions SecurityReferenceMonitor srm = @@ -187,11 +211,12 @@ public class ModuleMain implements ModuleFunctions, UseCount public void install(ModuleSite site, ServiceProvider services, Principal installer, DynamoLog log) throws ModuleException { - loadSRMName(services); + loadConfigData(services); + loadConnectionPool(services); synchronized (this) { // create Controller object if necessary if (m_mgr==null) - m_mgr = new ConferenceManager(this); + m_mgr = new ConferenceManager(this,m_pool); if (m_controller==null) m_controller = new Controller(this,m_mgr,m_srm_name); @@ -251,7 +276,7 @@ public class ModuleMain implements ModuleFunctions, UseCount public void uninstall(ModuleSite site, ServiceProvider services, Principal uninstaller, DynamoLog log) throws ModuleException { - loadSRMName(services); + loadConfigData(services); try { // uninstall the community service CommunityServiceInstall csi = (CommunityServiceInstall)(services.queryService(CommunityServiceInstall.class)); @@ -306,7 +331,7 @@ public class ModuleMain implements ModuleFunctions, UseCount synchronized (this) { // create it if necessary if (m_mgr==null) - m_mgr = new ConferenceManager(this); + m_mgr = new ConferenceManager(this,m_pool); if (m_controller==null) m_controller = new Controller(this,m_mgr,m_srm_name); return m_controller; diff --git a/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicClassConference.java b/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicClassConference.java new file mode 100644 index 0000000..3426afa --- /dev/null +++ b/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicClassConference.java @@ -0,0 +1,51 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.conf.obj; + +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; +import com.silverwrist.dynamo.obj.*; +import com.silverwrist.venice.conf.iface.*; + +class DynamicClassConference extends DynamicClassImpl +{ + /*-------------------------------------------------------------------------------- + * Constructor + *-------------------------------------------------------------------------------- + */ + + DynamicClassConference() + { + super("Dynamic." + VeniceConference.class.getName()); + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Overrides from class DynamicClassImpl + *-------------------------------------------------------------------------------- + */ + + public DynamicObject cast(Object source) throws ClassCastException + { + if (source instanceof VeniceConference) + return (DynamicObject)source; + return super.cast(source); + + } // end cast + +} // end class DynamicClassConference diff --git a/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicImplConference.java b/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicImplConference.java new file mode 100644 index 0000000..f0ef9f3 --- /dev/null +++ b/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicImplConference.java @@ -0,0 +1,355 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.conf.obj; + +import java.security.acl.*; +import java.util.*; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; +import com.silverwrist.dynamo.obj.*; +import com.silverwrist.venice.iface.*; +import com.silverwrist.venice.conf.iface.*; + +public class DynamicImplConference extends DynamicObjectImpl +{ + /*-------------------------------------------------------------------------------- + * Static data members + *-------------------------------------------------------------------------------- + */ + + private static DynamicClass s_baseclass = null; + + /*-------------------------------------------------------------------------------- + * Attributes + *-------------------------------------------------------------------------------- + */ + + private VeniceConference m_impl; + private DynamicImplNamedObject m_namedobject; + private DynamicImplSecureObjectStore m_secstore; + + /*-------------------------------------------------------------------------------- + * Constructors + *-------------------------------------------------------------------------------- + */ + + public DynamicImplConference(VeniceConference impl, DynamicClass dclass) + { + super(dclass); + m_impl = impl; + m_namedobject = new DynamicImplNamedObject(impl); + m_secstore = new DynamicImplSecureObjectStore(impl); + + } // end constructor + + public DynamicImplConference(VeniceConference impl) + { + super(getBaseDClass()); + m_impl = impl; + m_namedobject = new DynamicImplNamedObject(impl); + m_secstore = new DynamicImplSecureObjectStore(impl); + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Overrides from class DynamicObjectImpl + *-------------------------------------------------------------------------------- + */ + + public Object get(String property_name) throws DynamicObjectException + { + if (m_namedobject.canGet(property_name)) + return m_namedobject.get(property_name); + if (property_name.equals("confID")) + return new Integer(m_impl.getConfID()); + if (property_name.equals("createdDate")) + return m_impl.getCreatedDate(); + if (property_name.equals("lastUpdateDate")) + return m_impl.getLastUpdateDate(); + if (property_name.equals("hostsGID")) + return new Integer(m_impl.getHostsGID()); + + try + { // protect these property gets within a try-catch to properly process exceptions + if (property_name.equals("hosts")) + return m_impl.getHosts(); + if (property_name.equals("acl")) + return m_impl.getAcl(); + if (property_name.equals("aliases")) + return m_impl.getAliases(); + if (property_name.equals("primaryAlias")) + return m_impl.getPrimaryAlias(); + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + catch (AclNotFoundException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + return super.get(property_name); + + } // end get + + public Object call(String method_name, Object[] parameters) throws DynamicObjectException + { + if (m_namedobject.canCall(method_name)) + return m_namedobject.call(method_name,parameters); + if (m_secstore.canCall(method_name)) + return m_secstore.call(method_name,parameters); + + if (method_name.equals("getConfID")) + { // verify parameters and call method + verifyParameterLength(method_name,parameters,0); + return new Integer(m_impl.getConfID()); + + } // end if + + if (method_name.equals("setName")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,2); + verifyParameterType(method_name,parameters,0,DynamoUser.class); + verifyParameterType(method_name,parameters,1,String.class); + m_impl.setName((DynamoUser)(parameters[0]),(String)(parameters[1])); + return null; + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + catch (DynamoSecurityException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("getCreatedDate")) + { // verify parameters and call method + verifyParameterLength(method_name,parameters,0); + return m_impl.getCreatedDate(); + + } // end if + + if (method_name.equals("getLastUpdateDate")) + { // verify parameters and call method + verifyParameterLength(method_name,parameters,0); + return m_impl.getLastUpdateDate(); + + } // end if + + if (method_name.equals("setLastUpdateDate")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,2); + verifyParameterType(method_name,parameters,0,DynamoUser.class); + verifyParameterType(method_name,parameters,1,java.util.Date.class); + m_impl.setLastUpdateDate((DynamoUser)(parameters[0]),(java.util.Date)(parameters[1])); + return null; + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + catch (DynamoSecurityException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("getHostsGID")) + { // verify parameters and call method + verifyParameterLength(method_name,parameters,0); + return new Integer(m_impl.getHostsGID()); + + } // end if + + if (method_name.equals("getHosts")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,0); + return m_impl.getHosts(); + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("getAcl")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,0); + return m_impl.getAcl(); + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + catch (AclNotFoundException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("getAliases")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,0); + return m_impl.getAliases(); + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("getPrimaryAlias")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,0); + return m_impl.getPrimaryAlias(); + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("setPrimaryAlias")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,2); + verifyParameterType(method_name,parameters,0,DynamoUser.class); + verifyParameterType(method_name,parameters,1,String.class); + m_impl.setPrimaryAlias((DynamoUser)(parameters[0]),(String)(parameters[1])); + return null; + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + catch (DynamoSecurityException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("addAlias")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,2); + verifyParameterType(method_name,parameters,0,DynamoUser.class); + verifyParameterType(method_name,parameters,1,String.class); + m_impl.addAlias((DynamoUser)(parameters[0]),(String)(parameters[1])); + return null; + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + catch (DynamoSecurityException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("removeAlias")) + { // verify parameters and call method + try + { // make sure and catch exceptions + verifyParameterLength(method_name,parameters,2); + verifyParameterType(method_name,parameters,0,DynamoUser.class); + verifyParameterType(method_name,parameters,1,String.class); + m_impl.removeAlias((DynamoUser)(parameters[0]),(String)(parameters[1])); + return null; + + } // end try + catch (DatabaseException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + catch (DynamoSecurityException e) + { // catch and turn into a call failure + throw callFailed(e); + + } // end catch + + } // end if + + return super.call(method_name,parameters); + + } // end call + + /*-------------------------------------------------------------------------------- + * External static operations + *-------------------------------------------------------------------------------- + */ + + public static synchronized DynamicClass getBaseDClass() + { + if (s_baseclass==null) + s_baseclass = new DynamicClassConference(); + return s_baseclass; + + } // end getBaseDClass + +} // end class DynamicImplConference diff --git a/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassNamedObject.java b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassNamedObject.java new file mode 100644 index 0000000..82819e6 --- /dev/null +++ b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassNamedObject.java @@ -0,0 +1,36 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.dynamo.obj; + +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +class DynamicClassNamedObject extends DynamicClassImpl +{ + /*-------------------------------------------------------------------------------- + * Constructor + *-------------------------------------------------------------------------------- + */ + + DynamicClassNamedObject() + { + super("Dynamic." + NamedObject.class.getName()); + + } // end constructor + +} // end class DynamicClassNamedObject diff --git a/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassObjectProvider.java b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassObjectProvider.java new file mode 100644 index 0000000..f6adbac --- /dev/null +++ b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassObjectProvider.java @@ -0,0 +1,42 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.dynamo.obj; + +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +class DynamicClassObjectProvider extends DynamicClassImpl +{ + /*-------------------------------------------------------------------------------- + * Constructors + *-------------------------------------------------------------------------------- + */ + + DynamicClassObjectProvider() + { + super("Dynamic." + ObjectProvider.class.getName()); + + } // end constructor + + protected DynamicClassObjectProvider(String name) + { + super(name); + + } // end constructor + +} // end class DynamicClassObjectProvider diff --git a/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassSecureObjectStore.java b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassSecureObjectStore.java new file mode 100644 index 0000000..47db5b9 --- /dev/null +++ b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicClassSecureObjectStore.java @@ -0,0 +1,42 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.dynamo.obj; + +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +class DynamicClassSecureObjectStore extends DynamicClassObjectProvider +{ + /*-------------------------------------------------------------------------------- + * Constructors + *-------------------------------------------------------------------------------- + */ + + DynamicClassSecureObjectStore() + { + super("Dynamic." + SecureObjectStore.class.getName()); + + } // end constructor + + protected DynamicClassSecureObjectStore(String name) + { + super(name); + + } // end constructor + +} // end class DynamicClassSecureObjectStore diff --git a/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplNamedObject.java b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplNamedObject.java new file mode 100644 index 0000000..ac8c3e2 --- /dev/null +++ b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplNamedObject.java @@ -0,0 +1,115 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.dynamo.obj; + +import java.util.*; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +public class DynamicImplNamedObject extends DynamicObjectImpl +{ + /*-------------------------------------------------------------------------------- + * Static data members + *-------------------------------------------------------------------------------- + */ + + private static DynamicClass s_baseclass = null; + + /*-------------------------------------------------------------------------------- + * Attributes + *-------------------------------------------------------------------------------- + */ + + private NamedObject m_impl; + + /*-------------------------------------------------------------------------------- + * Constructors + *-------------------------------------------------------------------------------- + */ + + public DynamicImplNamedObject(NamedObject impl, DynamicClass dclass) + { + super(dclass); + m_impl = impl; + + } // end constructor + + public DynamicImplNamedObject(NamedObject impl) + { + super(getBaseDClass()); + m_impl = impl; + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Overrides from class DynamicObjectImpl + *-------------------------------------------------------------------------------- + */ + + public Object get(String property_name) throws DynamicObjectException + { + if (property_name.equals("name")) + return m_impl.getName(); + return super.get(property_name); + + } // end get + + public Object call(String method_name, Object[] parameters) throws DynamicObjectException + { + if (method_name.equals("getName")) + { // verify parameter list and call implementation + verifyParameterLength(method_name,parameters,0); + return m_impl.getName(); + + } // end if + + return super.call(method_name,parameters); + + } // end call + + /*-------------------------------------------------------------------------------- + * External operations + *-------------------------------------------------------------------------------- + */ + + public boolean canGet(String property_name) + { + return property_name.equals("name"); + + } // end canGet + + public boolean canCall(String method_name) + { + return method_name.equals("getName"); + + } // end canCall + + /*-------------------------------------------------------------------------------- + * External static operations + *-------------------------------------------------------------------------------- + */ + + public static synchronized DynamicClass getBaseDClass() + { + if (s_baseclass==null) + s_baseclass = new DynamicClassNamedObject(); + return s_baseclass; + + } // end getBaseDClass + +} // end class DynamicImplNamedObject diff --git a/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplObjectProvider.java b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplObjectProvider.java new file mode 100644 index 0000000..185bb73 --- /dev/null +++ b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplObjectProvider.java @@ -0,0 +1,103 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.dynamo.obj; + +import java.util.*; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +public class DynamicImplObjectProvider extends DynamicObjectImpl +{ + /*-------------------------------------------------------------------------------- + * Static data members + *-------------------------------------------------------------------------------- + */ + + private static DynamicClass s_baseclass = null; + + /*-------------------------------------------------------------------------------- + * Attributes + *-------------------------------------------------------------------------------- + */ + + private ObjectProvider m_impl; + + /*-------------------------------------------------------------------------------- + * Constructors + *-------------------------------------------------------------------------------- + */ + + public DynamicImplObjectProvider(ObjectProvider impl, DynamicClass dclass) + { + super(dclass); + m_impl = impl; + + } // end constructor + + public DynamicImplObjectProvider(ObjectProvider impl) + { + super(getBaseDClass()); + m_impl = impl; + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Overrides from class DynamicObjectImpl + *-------------------------------------------------------------------------------- + */ + + public Object call(String method_name, Object[] parameters) throws DynamicObjectException + { + if (method_name.equals("getObject")) + { // verify parameter list and call the method + verifyParameterLength(method_name,parameters,2); + verifyParameterType(method_name,parameters,0,String.class); + verifyParameterType(method_name,parameters,1,String.class); + return m_impl.getObject((String)(parameters[0]),(String)(parameters[1])); + + } // end if + + return super.call(method_name,parameters); + + } // end call + + /*-------------------------------------------------------------------------------- + * External operations + *-------------------------------------------------------------------------------- + */ + + public boolean canCall(String method_name) + { + return method_name.equals("getObject"); + + } // end canCall + + /*-------------------------------------------------------------------------------- + * External static operations + *-------------------------------------------------------------------------------- + */ + + public static synchronized DynamicClass getBaseDClass() + { + if (s_baseclass==null) + s_baseclass = new DynamicClassObjectProvider(); + return s_baseclass; + + } // end getBaseDClass + +} // end class DynamicImplObjectProvider diff --git a/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplSecureObjectStore.java b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplSecureObjectStore.java new file mode 100644 index 0000000..613effa --- /dev/null +++ b/src/dynamo-framework/com/silverwrist/dynamo/obj/DynamicImplSecureObjectStore.java @@ -0,0 +1,192 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.dynamo.obj; + +import java.util.*; +import com.silverwrist.dynamo.except.*; +import com.silverwrist.dynamo.iface.*; + +public class DynamicImplSecureObjectStore extends DynamicImplObjectProvider +{ + /*-------------------------------------------------------------------------------- + * Static data members + *-------------------------------------------------------------------------------- + */ + + private static DynamicClass s_baseclass = null; + private static Set ALLOWED_METHODS; + + /*-------------------------------------------------------------------------------- + * Attributes + *-------------------------------------------------------------------------------- + */ + + private SecureObjectStore m_impl; + + /*-------------------------------------------------------------------------------- + * Constructors + *-------------------------------------------------------------------------------- + */ + + public DynamicImplSecureObjectStore(SecureObjectStore impl, DynamicClass dclass) + { + super(impl,dclass); + m_impl = impl; + + } // end constructor + + public DynamicImplSecureObjectStore(SecureObjectStore impl) + { + super(impl,getBaseDClass()); + m_impl = impl; + + } // end constructor + + /*-------------------------------------------------------------------------------- + * Overrides from class DynamicImplObjectProvider + *-------------------------------------------------------------------------------- + */ + + public Object call(String method_name, Object[] parameters) throws DynamicObjectException + { + if (method_name.equals("setObject")) + { // verify the parameters and call the method + try + { // make sure and capture known exceptions + verifyParameterLength(method_name,parameters,4); + verifyParameterType(method_name,parameters,0,DynamoUser.class); + verifyParameterType(method_name,parameters,1,String.class); + verifyParameterType(method_name,parameters,2,String.class); + // N.B.: no need to verify parameter index 3 + return m_impl.setObject((DynamoUser)(parameters[0]),(String)(parameters[1]),(String)(parameters[2]), + parameters[3]); + + } // end try + catch (DatabaseException e) + { // represents a call failure + throw callFailed(e); + + } // end catch + catch (DynamoSecurityException e) + { // represents a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("removeObject")) + { // verify the parameters and call the method + try + { // make sure and capture known exceptions + verifyParameterLength(method_name,parameters,3); + verifyParameterType(method_name,parameters,0,DynamoUser.class); + verifyParameterType(method_name,parameters,1,String.class); + verifyParameterType(method_name,parameters,2,String.class); + return m_impl.removeObject((DynamoUser)(parameters[0]),(String)(parameters[1]),(String)(parameters[2])); + + } // end try + catch (DatabaseException e) + { // represents a call failure + throw callFailed(e); + + } // end catch + catch (DynamoSecurityException e) + { // represents a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("getNamespaces")) + { // verify the parameters and call the method + try + { // make sure and capture known exceptions + verifyParameterLength(method_name,parameters,0); + return m_impl.getNamespaces(); + + } // end try + catch (DatabaseException e) + { // represents a call failure + throw callFailed(e); + + } // end catch + + } // end if + + if (method_name.equals("getNamesForNamespace")) + { // verify the parameters and call the method + try + { // make sure and capture known exceptions + verifyParameterLength(method_name,parameters,1); + verifyParameterType(method_name,parameters,0,String.class); + return m_impl.getNamesForNamespace((String)(parameters[0])); + + } // end try + catch (DatabaseException e) + { // represents a call failure + throw callFailed(e); + + } // end catch + + } // end if + + return super.call(method_name,parameters); + + } // end call + + public boolean canCall(String method_name) + { + if (ALLOWED_METHODS.contains(method_name)) + return true; + else + return super.canCall(method_name); + + } // end canCall + + /*-------------------------------------------------------------------------------- + * External static operations + *-------------------------------------------------------------------------------- + */ + + public static synchronized DynamicClass getBaseDClass() + { + if (s_baseclass==null) + s_baseclass = new DynamicClassSecureObjectStore(); + return s_baseclass; + + } // end getBaseDClass + + /*-------------------------------------------------------------------------------- + * Static initializer + *-------------------------------------------------------------------------------- + */ + + static + { + HashSet tmp = new HashSet(); + tmp.add("setObject"); + tmp.add("removeObject"); + tmp.add("getNamespaces"); + tmp.add("getNamesForNamespace"); + ALLOWED_METHODS = Collections.unmodifiableSet(tmp); + + } // end static initializer + +} // end class DynamicImplSecureObjectStore