diff --git a/src/conferencing-module/com/silverwrist/venice/conf/iface/ConferenceAccessObject.java b/src/conferencing-module/com/silverwrist/venice/conf/iface/ConferenceAccessObject.java
index 1e1db2a..f69ea7c 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/iface/ConferenceAccessObject.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/iface/ConferenceAccessObject.java
@@ -20,14 +20,19 @@ package com.silverwrist.venice.conf.iface;
import java.util.List;
import com.silverwrist.dynamo.except.DatabaseException;
import com.silverwrist.dynamo.iface.DynamicObject;
+import com.silverwrist.dynamo.iface.DynamoUser;
import com.silverwrist.venice.iface.VeniceCommunity;
public interface ConferenceAccessObject extends DynamicObject
{
- public List getConferences(VeniceCommunity comm) throws DatabaseException;
+ public List getConferences(DynamoUser user, VeniceCommunity comm) throws DatabaseException;
public VeniceConference getConference(int confid) throws DatabaseException;
public VeniceConference getConference(String alias) throws DatabaseException;
+ public VeniceLinkedConference getLinkedConference(VeniceCommunity comm, int confid) throws DatabaseException;
+
+ public VeniceLinkedConference getLinkedConference(VeniceCommunity comm, String alias) throws DatabaseException;
+
} // end interface ConferenceAccessObject
diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceImpl.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceImpl.java
index cd79f10..e65b249 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceImpl.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceImpl.java
@@ -33,16 +33,28 @@ class ConferenceImpl implements VeniceConference
private DynamicImplConference m_dobj;
private ConferenceOps m_ops;
+ private int m_confid;
+ private java.util.Date m_createdate;
+ private java.util.Date m_lastupdate;
+ private int m_hosts_gid;
+ private int m_aclid;
+ private String m_name;
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
*/
- ConferenceImpl(ConferenceOps ops)
+ ConferenceImpl(ConferenceOps ops, Map params)
{
m_dobj = new DynamicImplConference(this);
m_ops = ops;
+ m_confid = ((Integer)(params.get(ConferenceManagerOps.KEY_CONFID))).intValue();
+ m_createdate = (java.util.Date)(params.get(ConferenceManagerOps.KEY_CREATE_DATE));
+ m_lastupdate = (java.util.Date)(params.get(ConferenceManagerOps.KEY_LAST_UPDATE));
+ m_hosts_gid = ((Integer)(params.get(ConferenceManagerOps.KEY_HOSTS_GID))).intValue();
+ m_aclid = ((Integer)(params.get(ConferenceManagerOps.KEY_ACLID))).intValue();
+ m_name = (String)(params.get(ConferenceManagerOps.KEY_NAME));
} // end constructor
@@ -93,9 +105,9 @@ class ConferenceImpl implements VeniceConference
*/
public String getName()
{
- return null; // TEMP
+ return m_name;
- }
+ } // end getName
/*--------------------------------------------------------------------------------
* Implementations from interface ObjectProvider
@@ -194,9 +206,9 @@ class ConferenceImpl implements VeniceConference
public int getConfID()
{
- return -1; // TEMP
+ return m_confid;
- }
+ } // end getConfID
public void setName(DynamoUser caller, String name) throws DatabaseException, DynamoSecurityException
{
@@ -204,15 +216,15 @@ class ConferenceImpl implements VeniceConference
public java.util.Date getCreatedDate()
{
- return null; // TEMP
+ return m_createdate;
- }
+ } // end getCreatedDate
public java.util.Date getLastUpdateDate()
{
- return null; // TEMP
+ return m_lastupdate;
- }
+ } // end getLastUpdateDate
public void setLastUpdateDate(DynamoUser caller, java.util.Date date)
throws DatabaseException, DynamoSecurityException
@@ -221,9 +233,9 @@ class ConferenceImpl implements VeniceConference
public int getHostsGID()
{
- return -1; // TEMP
+ return m_hosts_gid;
- }
+ } // end getHostsGID
public DynamoGroup getHosts() throws DatabaseException
{
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 0bfe2aa..988ee2c 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManager.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManager.java
@@ -17,10 +17,13 @@
*/
package com.silverwrist.venice.conf.impl;
+import java.security.acl.AclNotFoundException;
import java.util.*;
+import org.apache.commons.collections.*;
import com.silverwrist.dynamo.except.*;
import com.silverwrist.dynamo.iface.*;
import com.silverwrist.venice.iface.*;
+import com.silverwrist.venice.conf.ConfNamespaces;
import com.silverwrist.venice.conf.iface.*;
import com.silverwrist.venice.conf.obj.*;
@@ -34,6 +37,7 @@ public class ConferenceManager implements ConferenceAccessObject
private DynamicImplConferenceAccess m_dobj;
private UseCount m_uc;
private ConferenceManagerOps m_ops;
+ private ReferenceMap m_confs;
/*--------------------------------------------------------------------------------
* Constructor
@@ -56,8 +60,30 @@ public class ConferenceManager implements ConferenceAccessObject
} // end catch
+ m_confs = new ReferenceMap(ReferenceMap.HARD,ReferenceMap.SOFT);
+
} // end constructor
+ /*--------------------------------------------------------------------------------
+ * Internal operations
+ *--------------------------------------------------------------------------------
+ */
+
+ private final ConferenceImpl loadConference(Map params)
+ {
+ Integer key = (Integer)(params.get(ConferenceManagerOps.KEY_CONFID));
+ ConferenceImpl rc = (ConferenceImpl)(m_confs.get(key));
+ if (rc==null)
+ { // create a new conference implementation object and save it
+ rc = new ConferenceImpl(m_ops.getConferenceOps(),params);
+ m_confs.put(key,rc);
+
+ } // end if
+
+ return rc;
+
+ } // end loadConference
+
/*--------------------------------------------------------------------------------
* Implementations from interface DynamicObject
*--------------------------------------------------------------------------------
@@ -98,24 +124,113 @@ public class ConferenceManager implements ConferenceAccessObject
*--------------------------------------------------------------------------------
*/
- public List getConferences(VeniceCommunity comm) throws DatabaseException
+ public List getConferences(DynamoUser user, VeniceCommunity comm) throws DatabaseException
{
- return Collections.EMPTY_LIST; // TEMP
+ boolean show_hidden = false;
+ try
+ { // do we want to show hidden conferences?
+ show_hidden = comm.getAcl().testPermission(user,ConfNamespaces.PERMISSIONS_NAMESPACE,"see.hidden");
+
+ } // end try
+ catch (AclNotFoundException e)
+ { // convert the AclNotFoundException
+ DatabaseException de = new DatabaseException(ConferenceManager.class,"ConferenceMessages","no.community.acl",e);
+ de.setParameter(0,comm.getName());
+ throw de;
+
+ } // end catch
+
+ List in_list = m_ops.getConferences(comm.getCID());
+ if (in_list.isEmpty())
+ return Collections.EMPTY_LIST;
+
+ ArrayList rc = new ArrayList();
+ Iterator it = in_list.iterator();
+ while (it.hasNext())
+ { // get each data element and convert it
+ Map d = (Map)(it.next());
+ if (show_hidden || !(((Boolean)(d.get(ConferenceManagerOps.KEY_HIDE))).booleanValue()))
+ { // skip hidden conferences if we don't have the "show hidden" permission
+ ConferenceImpl conf = loadConference(d);
+ rc.add(new LinkedConferenceImpl(m_ops.getLinkedConferenceOps(),conf,comm,d));
+
+ } // end if
+
+ } // end while
+
+ if (rc.isEmpty())
+ return Collections.EMPTY_LIST;
+ rc.trimToSize();
+ return Collections.unmodifiableList(rc);
} // end getConferences
public VeniceConference getConference(int confid) throws DatabaseException
{
- return null; // TEMP
+ Map d = m_ops.getConferenceData(confid);
+ if (d==null)
+ { // throw the not-found exception
+ DatabaseException de = new DatabaseException(ConferenceManager.class,"ConferenceMessages","confid.notfound");
+ de.setParameter(0,String.valueOf(confid));
+ throw de;
+
+ } // end if
+
+ return loadConference(d);
} // end getConference
public VeniceConference getConference(String alias) throws DatabaseException
{
- return null; // TEMP
+ Map d = m_ops.getConferenceData(alias);
+ if (d==null)
+ { // throw the not-found exception
+ DatabaseException de = new DatabaseException(ConferenceManager.class,"ConferenceMessages","confalias.notfound");
+ de.setParameter(0,alias);
+ throw de;
+
+ } // end if
+
+ return loadConference(d);
} // end getConference
+ public VeniceLinkedConference getLinkedConference(VeniceCommunity comm, int confid) throws DatabaseException
+ {
+ Map d = m_ops.getConferenceData(comm.getCID(),confid);
+ if (d==null)
+ { // throw the not-found exception
+ DatabaseException de = new DatabaseException(ConferenceManager.class,"ConferenceMessages",
+ "confid.comm.notfound");
+ de.setParameter(0,String.valueOf(confid));
+ de.setParameter(1,comm.getName());
+ throw de;
+
+ } // end if
+
+ ConferenceImpl conf = loadConference(d);
+ return new LinkedConferenceImpl(m_ops.getLinkedConferenceOps(),conf,comm,d);
+
+ } // end getLinkedConference
+
+ public VeniceLinkedConference getLinkedConference(VeniceCommunity comm, String alias) throws DatabaseException
+ {
+ Map d = m_ops.getConferenceData(comm.getCID(),alias);
+ if (d==null)
+ { // throw the not-found exception
+ DatabaseException de = new DatabaseException(ConferenceManager.class,"ConferenceMessages",
+ "confalias.comm.notfound");
+ de.setParameter(0,alias);
+ de.setParameter(1,comm.getName());
+ throw de;
+
+ } // end if
+
+ ConferenceImpl conf = loadConference(d);
+ return new LinkedConferenceImpl(m_ops.getLinkedConferenceOps(),conf,comm,d);
+
+ } // end getLinkedConference
+
/*--------------------------------------------------------------------------------
* External operations
*--------------------------------------------------------------------------------
diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps.java
index 7b5f052..16dfb65 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps.java
@@ -24,6 +24,20 @@ import com.silverwrist.dynamo.iface.*;
abstract class ConferenceManagerOps extends OpsBase
{
+ /*--------------------------------------------------------------------------------
+ * Static data members
+ *--------------------------------------------------------------------------------
+ */
+
+ static final String KEY_CONFID = "confid";
+ static final String KEY_CREATE_DATE = "createdate";
+ static final String KEY_LAST_UPDATE = "lastupdate";
+ static final String KEY_HOSTS_GID = "hosts_gid";
+ static final String KEY_ACLID = "aclid";
+ static final String KEY_NAME = "name";
+ static final String KEY_SEQUENCE = "sequence";
+ static final String KEY_HIDE = "hide";
+
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
@@ -69,6 +83,16 @@ abstract class ConferenceManagerOps extends OpsBase
protected abstract LinkedConferenceOps createLinkedConferenceOps(DBConnectionPool pool);
+ abstract List getConferences(int cid) throws DatabaseException;
+
+ abstract Map getConferenceData(int confid) throws DatabaseException;
+
+ abstract Map getConferenceData(int cid, int confid) throws DatabaseException;
+
+ abstract Map getConferenceData(String alias) throws DatabaseException;
+
+ abstract Map getConferenceData(int cid, String alias) throws DatabaseException;
+
/*--------------------------------------------------------------------------------
* External operations
*--------------------------------------------------------------------------------
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
index 52f52bc..37d9e5e 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps_mysql.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceManagerOps_mysql.java
@@ -26,6 +26,13 @@ import com.silverwrist.dynamo.util.*;
public class ConferenceManagerOps_mysql extends ConferenceManagerOps
{
+ /*--------------------------------------------------------------------------------
+ * Attributes
+ *--------------------------------------------------------------------------------
+ */
+
+ private DBUtilities m_utils;
+
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
@@ -34,9 +41,22 @@ public class ConferenceManagerOps_mysql extends ConferenceManagerOps
public ConferenceManagerOps_mysql(DBConnectionPool pool)
{
super(pool);
+ m_utils = (DBUtilities)(pool.queryService(DBUtilities.class));
} // end constructor
+ /*--------------------------------------------------------------------------------
+ * Overrides from class ConferenceManagerOps
+ *--------------------------------------------------------------------------------
+ */
+
+ public void dispose()
+ {
+ m_utils = null;
+ super.dispose();
+
+ } // end dispose
+
/*--------------------------------------------------------------------------------
* Abstract implementations from class ConferenceManagerOps
*--------------------------------------------------------------------------------
@@ -54,4 +74,246 @@ public class ConferenceManagerOps_mysql extends ConferenceManagerOps
} // end createLinkedConferenceOps
+ List getConferences(int cid) throws DatabaseException
+ {
+ Connection conn = null;
+ PreparedStatement stmt = null;
+ ResultSet rs = null;
+ try
+ { // get a connection
+ conn = getConnection();
+
+ // create and execute the statement
+ stmt = conn.prepareStatement("SELECT c.confid, c.createdate, c.lastupdate, c.hosts_gid, c.aclid, c.name, "
+ + "l.sequence, l.hide FROM conferences c, conf_links l WHERE c.confid = l.confid "
+ + "AND l.cid = ? ORDER by l.sequence;");
+ stmt.setInt(1,cid);
+ rs = stmt.executeQuery();
+
+ // prepare the return value (a list of maps)
+ ArrayList rc = new ArrayList();
+ while (rs.next())
+ { // load the fields into the HashMaps
+ HashMap tmp = new HashMap();
+ tmp.put(KEY_CONFID,new Integer(rs.getInt(1)));
+ tmp.put(KEY_CREATE_DATE,m_utils.getDateTime(rs,2));
+ java.util.Date d = m_utils.getDateTime(rs,3);
+ if (d!=null)
+ tmp.put(KEY_LAST_UPDATE,d);
+ tmp.put(KEY_HOSTS_GID,new Integer(rs.getInt(4)));
+ tmp.put(KEY_ACLID,new Integer(rs.getInt(5)));
+ tmp.put(KEY_NAME,rs.getString(6));
+ tmp.put(KEY_SEQUENCE,new Integer(rs.getInt(7)));
+ tmp.put(KEY_HIDE,(rs.getInt(8)==1) ? Boolean.TRUE : Boolean.FALSE);
+ rc.add(tmp);
+
+ } // end while
+
+ return rc;
+
+ } // end try
+ catch (SQLException e)
+ { // translate to a general DatabaseException
+ throw generalException(e);
+
+ } // end catch
+ finally
+ { // shut everything down
+ SQLUtils.shutdown(rs);
+ SQLUtils.shutdown(stmt);
+ SQLUtils.shutdown(conn);
+
+ } // end finally
+
+ } // end getConferences
+
+ Map getConferenceData(int confid) throws DatabaseException
+ {
+ Connection conn = null;
+ PreparedStatement stmt = null;
+ ResultSet rs = null;
+ try
+ { // get a connection
+ conn = getConnection();
+
+ // create and execute the statement
+ stmt = conn.prepareStatement("SELECT createdate, lastupdate, hosts_gid, aclid, name FROM conferences "
+ + "WHERE confid = ?");
+ stmt.setInt(1,confid);
+ rs = stmt.executeQuery();
+ if (!(rs.next()))
+ return null;
+
+ // prepare the return value
+ HashMap rc = new HashMap();
+ rc.put(KEY_CONFID,new Integer(confid));
+ rc.put(KEY_CREATE_DATE,m_utils.getDateTime(rs,1));
+ java.util.Date d = m_utils.getDateTime(rs,2);
+ if (d!=null)
+ rc.put(KEY_LAST_UPDATE,d);
+ rc.put(KEY_HOSTS_GID,new Integer(rs.getInt(3)));
+ rc.put(KEY_ACLID,new Integer(rs.getInt(4)));
+ rc.put(KEY_NAME,rs.getString(5));
+ return rc;
+
+ } // end try
+ catch (SQLException e)
+ { // translate to a general DatabaseException
+ throw generalException(e);
+
+ } // end catch
+ finally
+ { // shut everything down
+ SQLUtils.shutdown(rs);
+ SQLUtils.shutdown(stmt);
+ SQLUtils.shutdown(conn);
+
+ } // end finally
+
+ } // end getConferenceData
+
+ Map getConferenceData(int cid, int confid) throws DatabaseException
+ {
+ Connection conn = null;
+ PreparedStatement stmt = null;
+ ResultSet rs = null;
+ try
+ { // get a connection
+ conn = getConnection();
+
+ // create and execute the statement
+ stmt = conn.prepareStatement("SELECT c.createdate, c.lastupdate, c.hosts_gid, c.aclid, c.name, l.sequence, "
+ + "l.hide FROM conferences c, conf_links l WHERE c.confid = ? "
+ + "AND c.confid = l.confid AND l.cid = ?");
+ stmt.setInt(1,confid);
+ stmt.setInt(2,cid);
+ rs = stmt.executeQuery();
+ if (!(rs.next()))
+ return null;
+
+ // prepare the return value
+ HashMap rc = new HashMap();
+ rc.put(KEY_CONFID,new Integer(confid));
+ rc.put(KEY_CREATE_DATE,m_utils.getDateTime(rs,1));
+ java.util.Date d = m_utils.getDateTime(rs,2);
+ if (d!=null)
+ rc.put(KEY_LAST_UPDATE,d);
+ rc.put(KEY_HOSTS_GID,new Integer(rs.getInt(3)));
+ rc.put(KEY_ACLID,new Integer(rs.getInt(4)));
+ rc.put(KEY_NAME,rs.getString(5));
+ rc.put(KEY_SEQUENCE,new Integer(rs.getInt(6)));
+ rc.put(KEY_HIDE,(rs.getInt(7)==1) ? Boolean.TRUE : Boolean.FALSE);
+ return rc;
+
+ } // end try
+ catch (SQLException e)
+ { // translate to a general DatabaseException
+ throw generalException(e);
+
+ } // end catch
+ finally
+ { // shut everything down
+ SQLUtils.shutdown(rs);
+ SQLUtils.shutdown(stmt);
+ SQLUtils.shutdown(conn);
+
+ } // end finally
+
+ } // end getConferenceData
+
+ Map getConferenceData(String alias) throws DatabaseException
+ {
+ Connection conn = null;
+ PreparedStatement stmt = null;
+ ResultSet rs = null;
+ try
+ { // get a connection
+ conn = getConnection();
+
+ // create and execute the statement
+ stmt = conn.prepareStatement("SELECT c.confid, c.createdate, c.lastupdate, c.hosts_gid, c.aclid, c.name "
+ + "FROM conferences c, conf_alias a WHERE c.confid = a.confid AND a.alias = ?;");
+ stmt.setString(1,alias);
+ rs = stmt.executeQuery();
+ if (!(rs.next()))
+ return null;
+
+ // prepare the return value
+ HashMap rc = new HashMap();
+ rc.put(KEY_CONFID,new Integer(rs.getInt(1)));
+ rc.put(KEY_CREATE_DATE,m_utils.getDateTime(rs,2));
+ java.util.Date d = m_utils.getDateTime(rs,3);
+ if (d!=null)
+ rc.put(KEY_LAST_UPDATE,d);
+ rc.put(KEY_HOSTS_GID,new Integer(rs.getInt(4)));
+ rc.put(KEY_ACLID,new Integer(rs.getInt(5)));
+ rc.put(KEY_NAME,rs.getString(6));
+ return rc;
+
+ } // end try
+ catch (SQLException e)
+ { // translate to a general DatabaseException
+ throw generalException(e);
+
+ } // end catch
+ finally
+ { // shut everything down
+ SQLUtils.shutdown(rs);
+ SQLUtils.shutdown(stmt);
+ SQLUtils.shutdown(conn);
+
+ } // end finally
+
+ } // end getConferenceData
+
+ Map getConferenceData(int cid, String alias) throws DatabaseException
+ {
+ Connection conn = null;
+ PreparedStatement stmt = null;
+ ResultSet rs = null;
+ try
+ { // get a connection
+ conn = getConnection();
+
+ // create and execute the statement
+ stmt = conn.prepareStatement("SELECT c.confid, c.createdate, c.lastupdate, c.hosts_gid, c.aclid, c.name, "
+ + "l.sequence, l.hide FROM conferences c, conf_alias a, conf_links l "
+ + "WHERE c.confid = a.confid AND a.alias = ? AND c.confid = l.confid "
+ + "AND l.cid = ?;");
+ stmt.setString(1,alias);
+ stmt.setInt(2,cid);
+ rs = stmt.executeQuery();
+ if (!(rs.next()))
+ return null;
+
+ // prepare the return value
+ HashMap rc = new HashMap();
+ rc.put(KEY_CONFID,new Integer(rs.getInt(1)));
+ rc.put(KEY_CREATE_DATE,m_utils.getDateTime(rs,2));
+ java.util.Date d = m_utils.getDateTime(rs,3);
+ if (d!=null)
+ rc.put(KEY_LAST_UPDATE,d);
+ rc.put(KEY_HOSTS_GID,new Integer(rs.getInt(4)));
+ rc.put(KEY_ACLID,new Integer(rs.getInt(5)));
+ rc.put(KEY_NAME,rs.getString(6));
+ rc.put(KEY_SEQUENCE,new Integer(rs.getInt(7)));
+ rc.put(KEY_HIDE,(rs.getInt(8)==1) ? Boolean.TRUE : Boolean.FALSE);
+ return rc;
+
+ } // end try
+ catch (SQLException e)
+ { // translate to a general DatabaseException
+ throw generalException(e);
+
+ } // end catch
+ finally
+ { // shut everything down
+ SQLUtils.shutdown(rs);
+ SQLUtils.shutdown(stmt);
+ SQLUtils.shutdown(conn);
+
+ } // end finally
+
+ } // end getConferenceData
+
} // end class ConferenceManagerOps_mysql
diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceMessages.properties b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceMessages.properties
new file mode 100644
index 0000000..bc0619f
--- /dev/null
+++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/ConferenceMessages.properties
@@ -0,0 +1,22 @@
+# 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):
+# ---------------------------------------------------------------------------------
+# This file has been localized for the en_US locale
+no.community.acl=The community ACL for community "{0}" could not be found.
+confid.notfound=No conference was found with conference ID #{0}.
+confalias.notfound=No conference was found with conference alias "{0}."
+confid.comm.notfound=No conference was found with conference ID #{0} in community "{1}."
+confalias.comm.notfound=No conference was found with conference alias "{0}" in community "{1}."
diff --git a/src/conferencing-module/com/silverwrist/venice/conf/impl/LinkedConferenceImpl.java b/src/conferencing-module/com/silverwrist/venice/conf/impl/LinkedConferenceImpl.java
index 19c2ab0..3fd9862 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/impl/LinkedConferenceImpl.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/impl/LinkedConferenceImpl.java
@@ -36,18 +36,22 @@ class LinkedConferenceImpl implements VeniceLinkedConference
private LinkedConferenceOps m_ops;
private ConferenceImpl m_conf;
private VeniceCommunity m_comm;
+ private int m_sequence;
+ private boolean m_hide;
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
*/
- LinkedConferenceImpl(LinkedConferenceOps ops, ConferenceImpl conf, VeniceCommunity comm)
+ LinkedConferenceImpl(LinkedConferenceOps ops, ConferenceImpl conf, VeniceCommunity comm, Map params)
{
m_dobj = new DynamicImplLinkedConference(this);
m_ops = ops;
m_conf = conf;
m_comm = comm;
+ m_sequence = ((Integer)(params.get(ConferenceManagerOps.KEY_SEQUENCE))).intValue();
+ m_hide = ((Boolean)(params.get(ConferenceManagerOps.KEY_HIDE))).booleanValue();
} // end constructor
@@ -295,9 +299,9 @@ class LinkedConferenceImpl implements VeniceLinkedConference
public int getSequence()
{
- return -1; // TEMP
+ return m_sequence;
- }
+ } // end getSequence
public void setSequence(DynamoUser caller, int sequence) throws DatabaseException, DynamoSecurityException
{
@@ -305,9 +309,9 @@ class LinkedConferenceImpl implements VeniceLinkedConference
public boolean isHidden()
{
- return false; // TEMP
+ return m_hide;
- }
+ } // end isHidden
public void setHidden(DynamoUser caller, boolean flag) throws DatabaseException, DynamoSecurityException
{
diff --git a/src/conferencing-module/com/silverwrist/venice/conf/module/Controller.java b/src/conferencing-module/com/silverwrist/venice/conf/module/Controller.java
index 6d43a57..ded5ac1 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/module/Controller.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/module/Controller.java
@@ -138,6 +138,7 @@ class Controller implements CommunityServiceController
DynamoAcl acl = comm.getAcl();
helper.addPermission(hostuser,acl,hostgroup,false,ConfNamespaces.PERMISSIONS_NAMESPACE,"create");
helper.addPermission(hostuser,acl,hostgroup,false,ConfNamespaces.PERMISSIONS_NAMESPACE,"manage.order");
+ helper.addPermission(hostuser,acl,hostgroup,false,ConfNamespaces.PERMISSIONS_NAMESPACE,"see.hidden");
} // end try
catch (AclNotFoundException e)
@@ -171,6 +172,7 @@ class Controller implements CommunityServiceController
DynamoAcl acl = comm.getAcl();
helper.stripPermission(hostuser,acl,ConfNamespaces.PERMISSIONS_NAMESPACE,"create");
helper.stripPermission(hostuser,acl,ConfNamespaces.PERMISSIONS_NAMESPACE,"manage.order");
+ helper.stripPermission(hostuser,acl,ConfNamespaces.PERMISSIONS_NAMESPACE,"see.hidden");
} // end try
catch (AclNotFoundException e)
diff --git a/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicImplConferenceAccess.java b/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicImplConferenceAccess.java
index 535a720..278b2e1 100644
--- a/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicImplConferenceAccess.java
+++ b/src/conferencing-module/com/silverwrist/venice/conf/obj/DynamicImplConferenceAccess.java
@@ -69,9 +69,10 @@ public class DynamicImplConferenceAccess extends DynamicObjectImpl
{ // call the getConferences method
try
{ // verify the parameters and call the method
- verifyParameterLength(method_name,parameters,1);
- verifyParameterType(method_name,parameters,0,VeniceCommunity.class);
- return m_impl.getConferences((VeniceCommunity)(parameters[0]));
+ verifyParameterLength(method_name,parameters,2);
+ verifyParameterType(method_name,parameters,0,DynamoUser.class);
+ verifyParameterType(method_name,parameters,1,VeniceCommunity.class);
+ return m_impl.getConferences((DynamoUser)(parameters[0]),(VeniceCommunity)(parameters[0]));
} // end try
catch (DatabaseException e)
@@ -101,6 +102,26 @@ public class DynamicImplConferenceAccess extends DynamicObjectImpl
} // end if
+ if (method_name.equals("getLinkedConference"))
+ { // call one of the getLinkedConference methods
+ try
+ { // verify the parameters and call the method
+ verifyParameterLength(method_name,parameters,2);
+ verifyParameterType(method_name,parameters,0,VeniceCommunity.class);
+ if ((parameters[1]==null) || (parameters[1] instanceof String))
+ return m_impl.getLinkedConference((VeniceCommunity)(parameters[0]),(String)(parameters[1]));
+ int foo = getIntValue(method_name,parameters,1);
+ return m_impl.getLinkedConference((VeniceCommunity)(parameters[0]),foo);
+
+ } // end try
+ catch (DatabaseException e)
+ { // reflect the exception back up
+ throw callFailed(e);
+
+ } // end catch
+
+ } // end if
+
return super.call(method_name,parameters);
} // end call