bugfix to display of community hide mode
This commit is contained in:
		
							parent
							
								
									1c245749f7
								
							
						
					
					
						commit
						1351306780
					
				@ -652,11 +652,12 @@ the community's host, or via an invitation e-mail message. Please enter it in th
 | 
				
			|||||||
        <choice id="1">Private</choice>
 | 
					        <choice id="1">Private</choice>
 | 
				
			||||||
      </list>
 | 
					      </list>
 | 
				
			||||||
      <text name="joinkey" capt="Join key" capt2="(for private communities)" size="32" maxlength="64"/>
 | 
					      <text name="joinkey" capt="Join key" capt2="(for private communities)" size="32" maxlength="64"/>
 | 
				
			||||||
      <list name="hidemode" capt="Community visibility" required="true">
 | 
					      <enumlist name="hidemode" capt="Community visibility" required="true"
 | 
				
			||||||
        <choice id="0">Show in both directory and search</choice>
 | 
					                enumClass="com.silverwrist.venice.core.CommunityHideMode">
 | 
				
			||||||
        <choice id="1">Hide in directory, but not in search</choice>
 | 
					        <choice id="NONE">Show in both directory and search</choice>
 | 
				
			||||||
        <choice id="2">Hide in both directory and search</choice>
 | 
					        <choice id="DIRECTORY">Hide in directory, but not in search</choice>
 | 
				
			||||||
      </list>
 | 
					        <choice id="BOTH">Hide in both directory and search</choice>
 | 
				
			||||||
 | 
					      </enumlist>
 | 
				
			||||||
      <imagebutton id="create"/>
 | 
					      <imagebutton id="create"/>
 | 
				
			||||||
      <imagebutton id="cancel"/>
 | 
					      <imagebutton id="cancel"/>
 | 
				
			||||||
    </dialog>
 | 
					    </dialog>
 | 
				
			||||||
@ -688,11 +689,12 @@ the community's host, or via an invitation e-mail message. Please enter it in th
 | 
				
			|||||||
      </list>
 | 
					      </list>
 | 
				
			||||||
      <text name="joinkey" capt="Join key" capt2="(for private communities)" size="32" maxlength="64"/>
 | 
					      <text name="joinkey" capt="Join key" capt2="(for private communities)" size="32" maxlength="64"/>
 | 
				
			||||||
      <checkbox name="membersonly" capt="Allow only members to access this community"/>
 | 
					      <checkbox name="membersonly" capt="Allow only members to access this community"/>
 | 
				
			||||||
      <list name="hidemode" capt="Community visibility" required="true">
 | 
					      <enumlist name="hidemode" capt="Community visibility" required="true"
 | 
				
			||||||
        <choice id="0">Show in both directory and search</choice>
 | 
					                enumClass="com.silverwrist.venice.core.CommunityHideMode">
 | 
				
			||||||
        <choice id="1">Hide in directory, but not in search</choice>
 | 
					        <choice id="NONE">Show in both directory and search</choice>
 | 
				
			||||||
        <choice id="2">Hide in both directory and search</choice>
 | 
					        <choice id="DIRECTORY">Hide in directory, but not in search</choice>
 | 
				
			||||||
      </list>
 | 
					        <choice id="BOTH">Hide in both directory and search</choice>
 | 
				
			||||||
 | 
					      </enumlist>
 | 
				
			||||||
      <rolelist name="read_lvl" capt="Security level required to read contents" required="true"/>
 | 
					      <rolelist name="read_lvl" capt="Security level required to read contents" required="true"/>
 | 
				
			||||||
      <rolelist name="write_lvl" capt="Security level required to update profile" required="true"/>
 | 
					      <rolelist name="write_lvl" capt="Security level required to update profile" required="true"/>
 | 
				
			||||||
      <rolelist name="create_lvl" capt="Security level required to create new subobjects" required="true"/>
 | 
					      <rolelist name="create_lvl" capt="Security level required to create new subobjects" required="true"/>
 | 
				
			||||||
 | 
				
			|||||||
@ -8,9 +8,9 @@
 | 
				
			|||||||
// 
 | 
					// 
 | 
				
			||||||
// The Original Code is the Venice Web Communities System.
 | 
					// The Original Code is the Venice Web Communities System.
 | 
				
			||||||
// 
 | 
					// 
 | 
				
			||||||
// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
 | 
					// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@ricochet.com>,
 | 
				
			||||||
// for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
					// for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
				
			||||||
// Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
					// Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
				
			||||||
// 
 | 
					// 
 | 
				
			||||||
// Contributor(s): 
 | 
					// Contributor(s): 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -76,12 +76,10 @@ if (op=="create")
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    } // end if
 | 
					    } // end if
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    my_hidemode = parseInt(dlg.getValue("hidemode"),10);  // get the hide mode
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Create the new community context.
 | 
					    // Create the new community context.
 | 
				
			||||||
    new_comm = rinput.user.createCommunity(dlg.getValue("name"),my_alias,dlg.getValue("language"),
 | 
					    new_comm = rinput.user.createCommunity(dlg.getValue("name"),my_alias,dlg.getValue("language"),
 | 
				
			||||||
                                           dlg.getValue("synopsis"),dlg.getValue("rules"),my_joinkey,
 | 
					                                           dlg.getValue("synopsis"),dlg.getValue("rules"),my_joinkey,
 | 
				
			||||||
                                           my_hidemode);
 | 
					                                           dlg.getValue("hidemode"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Get the new community's contact record and fill in the pieces of info we know.
 | 
					    // Get the new community's contact record and fill in the pieces of info we know.
 | 
				
			||||||
    ci = new_comm.getContactInfo();
 | 
					    ci = new_comm.getContactInfo();
 | 
				
			||||||
 | 
				
			|||||||
@ -8,9 +8,9 @@
 | 
				
			|||||||
// 
 | 
					// 
 | 
				
			||||||
// The Original Code is the Venice Web Communities System.
 | 
					// The Original Code is the Venice Web Communities System.
 | 
				
			||||||
// 
 | 
					// 
 | 
				
			||||||
// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
 | 
					// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@ricochet.com>,
 | 
				
			||||||
// for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
					// for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
				
			||||||
// Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
					// Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
				
			||||||
// 
 | 
					// 
 | 
				
			||||||
// Contributor(s): 
 | 
					// Contributor(s): 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -102,6 +102,7 @@ if ("GET"==rinput.verb)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (comm.membersOnly)
 | 
					    if (comm.membersOnly)
 | 
				
			||||||
      dlg.setValue("membersonly",1);
 | 
					      dlg.setValue("membersonly",1);
 | 
				
			||||||
 | 
					    logger.debug("Community's hidemode is " + comm.hideMode);
 | 
				
			||||||
    dlg.setValue("hidemode",comm.hideMode);
 | 
					    dlg.setValue("hidemode",comm.hideMode);
 | 
				
			||||||
    dlg.setValue("read_lvl",comm.readLevel);
 | 
					    dlg.setValue("read_lvl",comm.readLevel);
 | 
				
			||||||
    dlg.setValue("write_lvl",comm.writeLevel);
 | 
					    dlg.setValue("write_lvl",comm.writeLevel);
 | 
				
			||||||
@ -193,7 +194,7 @@ if (op=="update")
 | 
				
			|||||||
        comm.joinKey = null;
 | 
					        comm.joinKey = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      comm.membersOnly = dlg.getValue("membersonly").booleanValue();
 | 
					      comm.membersOnly = dlg.getValue("membersonly").booleanValue();
 | 
				
			||||||
      comm.setHideMode(parseInt(dlg.getValue("hidemode"),10));
 | 
					      comm.setHideMode(dlg.getValue("hidemode"));
 | 
				
			||||||
      comm.setSecurityLevels(parseInt(dlg.getValue("read_lvl"),10),parseInt(dlg.getValue("write_lvl"),10),
 | 
					      comm.setSecurityLevels(parseInt(dlg.getValue("read_lvl"),10),parseInt(dlg.getValue("write_lvl"),10),
 | 
				
			||||||
                             parseInt(dlg.getValue("create_lvl"),10),parseInt(dlg.getValue("delete_lvl"),10),
 | 
					                             parseInt(dlg.getValue("create_lvl"),10),parseInt(dlg.getValue("delete_lvl"),10),
 | 
				
			||||||
                             parseInt(dlg.getValue("join_lvl"),10));
 | 
					                             parseInt(dlg.getValue("join_lvl"),10));
 | 
				
			||||||
 | 
				
			|||||||
@ -9,9 +9,9 @@
 | 
				
			|||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * The Original Code is the Venice Web Communities System.
 | 
					 * The Original Code is the Venice Web Communities System.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
 | 
					 * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@ricochet.com>,
 | 
				
			||||||
 * for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
					 * for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
				
			||||||
 * Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
					 * Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Contributor(s): 
 | 
					 * Contributor(s): 
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@ -27,167 +27,159 @@ import com.silverwrist.venice.except.EmailException;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public interface CommunityContext extends SearchMode
 | 
					public interface CommunityContext extends SearchMode
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  public static final int HIDE_NONE = 0;
 | 
					  public int getCommunityID();
 | 
				
			||||||
  public static final int HIDE_DIRECTORY = 1;
 | 
					 | 
				
			||||||
  public static final int HIDE_BOTH = 2;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getCommunityID();
 | 
					  public String getName();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract String getName();
 | 
					  public String getAlias();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract String getAlias();
 | 
					  public boolean isMember();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean isMember();
 | 
					  public boolean isAdmin();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean isAdmin();
 | 
					  public boolean isPublicCommunity();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean isPublicCommunity();
 | 
					  public int getCategoryID();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getCategoryID();
 | 
					  public CategoryDescriptor getCategory() throws DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract CategoryDescriptor getCategory() throws DataException;
 | 
					  public String getSynopsis();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract String getSynopsis();
 | 
					  public int getHostUID();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getHostUID();
 | 
					  public UserProfile getHostProfile() throws DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract UserProfile getHostProfile() throws DataException;
 | 
					  public String getLanguageCode();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract String getLanguageCode();
 | 
					  public String getLanguageFullName();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract String getLanguageFullName();
 | 
					  public String getRules();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract String getRules();
 | 
					  public Date getCreationDate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract Date getCreationDate();
 | 
					  public Date getLastAccessDate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract Date getLastAccessDate();
 | 
					  public Date getLastUpdateDate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract Date getLastUpdateDate();
 | 
					  public ContactInfo getContactInfo() throws DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract ContactInfo getContactInfo() throws DataException;
 | 
					  public void putContactInfo(ContactInfo ci) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void putContactInfo(ContactInfo ci) throws DataException, AccessError;
 | 
					  public Set getServices();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract Set getServices();
 | 
					  public Set getConfiguredServices();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract Set getConfiguredServices();
 | 
					  public void setServiceEnable(ServiceToken token, boolean enable) throws AccessError, DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setServiceEnable(ServiceToken token, boolean enable) throws AccessError, DataException;
 | 
					  public void setName(String name) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setName(String name) throws DataException, AccessError;
 | 
					  public void setAlias(String alias) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setAlias(String alias) throws DataException, AccessError;
 | 
					  public void setCategoryID(int catid) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setCategoryID(int catid) throws DataException, AccessError;
 | 
					  public void setCategory(CategoryDescriptor cat) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setCategory(CategoryDescriptor cat) throws DataException, AccessError;
 | 
					  public void setSynopsis(String synopsis) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setSynopsis(String synopsis) throws DataException, AccessError;
 | 
					  public void setLanguage(String language) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setLanguage(String language) throws DataException, AccessError;
 | 
					  public void setRules(String rules) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setRules(String rules) throws DataException, AccessError;
 | 
					  public CommunityHideMode getHideMode();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getHideMode();
 | 
					  public void setHideMode(CommunityHideMode mode) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setHideMode(int mode) throws DataException, AccessError;
 | 
					  public boolean getMembersOnly();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean getMembersOnly();
 | 
					  public void setMembersOnly(boolean flag) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setMembersOnly(boolean flag) throws DataException, AccessError;
 | 
					  public ServiceToken getDefaultService();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract ServiceToken getDefaultService();
 | 
					  public void setDefaultService(ServiceToken token) throws AccessError, DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setDefaultService(ServiceToken token) throws AccessError, DataException;
 | 
					  public String getJoinKey() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract String getJoinKey() throws DataException, AccessError;
 | 
					  public void setJoinKey(String key) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setJoinKey(String key) throws DataException, AccessError;
 | 
					  public int getReadLevel() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getReadLevel() throws DataException, AccessError;
 | 
					  public int getWriteLevel() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getWriteLevel() throws DataException, AccessError;
 | 
					  public int getCreateLevel() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getCreateLevel() throws DataException, AccessError;
 | 
					  public int getDeleteLevel() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getDeleteLevel() throws DataException, AccessError;
 | 
					  public int getJoinLevel() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getJoinLevel() throws DataException, AccessError;
 | 
					  public void setSecurityLevels(int read, int write, int create, int delete, int join)
 | 
				
			||||||
 | 
					 | 
				
			||||||
  public abstract void setSecurityLevels(int read, int write, int create, int delete, int join)
 | 
					 | 
				
			||||||
      throws DataException, AccessError;
 | 
					      throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canAdministerCommunity();
 | 
					  public boolean canAdministerCommunity();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canModifyProfile();
 | 
					  public boolean canModifyProfile();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean isAdminCommunity();
 | 
					  public boolean isAdminCommunity();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void join(String joinkey) throws DataException, AccessError;
 | 
					  public void join(String joinkey) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void unjoin() throws DataException, AccessError;
 | 
					  public void unjoin() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getMemberCount() throws DataException;
 | 
					  public int getMemberCount() throws DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canUnjoin();
 | 
					  public boolean canUnjoin();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canJoin();
 | 
					  public boolean canJoin();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract List getConferences() throws DataException, AccessError;
 | 
					  public List getConferences() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract ConferenceContext getConferenceContext(int confid) throws DataException, AccessError;
 | 
					  public ConferenceContext getConferenceContext(int confid) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract ConferenceContext getConferenceContext(String alias) throws DataException, AccessError;
 | 
					  public ConferenceContext getConferenceContext(String alias) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract ConferenceContext createConference(String name, String alias, String description,
 | 
					  public ConferenceContext createConference(String name, String alias, String description,
 | 
				
			||||||
						     boolean pvt, boolean hide_list)
 | 
										    boolean pvt, boolean hide_list) throws DataException, AccessError;
 | 
				
			||||||
      throws DataException, AccessError;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canCreateConference();
 | 
					  public boolean canCreateConference();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract List searchForMembers(int field, int mode, String term, int offset, int count)
 | 
					  public List searchForMembers(int field, int mode, String term, int offset, int count) throws DataException;
 | 
				
			||||||
      throws DataException;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getSearchMemberCount(int field, int mode, String term) throws DataException;
 | 
					  public int getSearchMemberCount(int field, int mode, String term) throws DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract List getMemberList() throws DataException;
 | 
					  public List getMemberList() throws DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canManageConferences();
 | 
					  public boolean canManageConferences();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getMemberLevel(int uid) throws DataException, AccessError;
 | 
					  public int getMemberLevel(int uid) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setMembership(int uid, int new_level)
 | 
					  public void setMembership(int uid, int new_level) throws DataException, AccessError;
 | 
				
			||||||
      throws DataException, AccessError;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canDelete();
 | 
					  public boolean canDelete();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void delete() throws DataException, AccessError;
 | 
					  public void delete() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void deleteCommunity() throws DataException, AccessError;
 | 
					  public void deleteCommunity() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void sendInvitation(String address, String personal_message)
 | 
					  public void sendInvitation(String address, String personal_message)
 | 
				
			||||||
      throws AccessError, DataException, EmailException;
 | 
					      throws AccessError, DataException, EmailException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canSendInvitation();
 | 
					  public boolean canSendInvitation();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract List getAuditRecords(int offset, int count) throws AccessError, DataException;
 | 
					  public List getAuditRecords(int offset, int count) throws AccessError, DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getAuditRecordCount() throws AccessError, DataException;
 | 
					  public int getAuditRecordCount() throws AccessError, DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract CommunityProperties getProperties() throws DataException, AccessError;
 | 
					  public CommunityProperties getProperties() throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void setProperties(CommunityProperties props) throws DataException, AccessError;
 | 
					  public void setProperties(CommunityProperties props) throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract SecurityInfo getSecurityInfo();
 | 
					  public SecurityInfo getSecurityInfo();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract boolean canMassMail();
 | 
					  public boolean canMassMail();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract void massMail(String subject, String text) throws AccessError, DataException;
 | 
					  public void massMail(String subject, String text) throws AccessError, DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract List searchPosts(String search_terms, int offset, int count)
 | 
					  public List searchPosts(String search_terms, int offset, int count) throws AccessError, DataException;
 | 
				
			||||||
      throws AccessError, DataException;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public abstract int getSearchPostCount(String search_terms) throws AccessError, DataException;
 | 
					  public int getSearchPostCount(String search_terms) throws AccessError, DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // end interface CommunityContext
 | 
					} // end interface CommunityContext
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										165
									
								
								src/com/silverwrist/venice/core/CommunityHideMode.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										165
									
								
								src/com/silverwrist/venice/core/CommunityHideMode.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,165 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 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 <http://www.mozilla.org/MPL/>.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * 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 <erbo@ricochet.com>,
 | 
				
			||||||
 | 
					 * for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
				
			||||||
 | 
					 * Copyright (C) 2004 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * Contributor(s): 
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					package com.silverwrist.venice.core;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public final class CommunityHideMode implements Comparable
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Static data members
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private static ArrayList s_order_list = null;
 | 
				
			||||||
 | 
					  private static HashMap s_name_to_enum = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Attributes
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private String m_name;
 | 
				
			||||||
 | 
					  private String m_to_string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Constructor
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private CommunityHideMode(String name)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    m_name = name;
 | 
				
			||||||
 | 
					    if (s_order_list==null)
 | 
				
			||||||
 | 
					      s_order_list = new ArrayList();
 | 
				
			||||||
 | 
					    s_order_list.add(this);
 | 
				
			||||||
 | 
					    if (s_name_to_enum==null)
 | 
				
			||||||
 | 
					      s_name_to_enum = new HashMap();
 | 
				
			||||||
 | 
					    s_name_to_enum.put(name,this);
 | 
				
			||||||
 | 
					    m_to_string = "CommunityHideMode[" + name + "]";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Overrides from class Object
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public String toString()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return m_to_string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end toString
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public int hashCode()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return m_name.hashCode();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end hashCode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public boolean equals(Object other)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (other==null)
 | 
				
			||||||
 | 
					      return false;
 | 
				
			||||||
 | 
					    if (other==this)
 | 
				
			||||||
 | 
					      return true;
 | 
				
			||||||
 | 
					    if (!(other instanceof CommunityHideMode))
 | 
				
			||||||
 | 
					      return false;
 | 
				
			||||||
 | 
					    return m_name.equals(((CommunityHideMode)other).m_name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end equals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Implementations from class Comparable
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public int compareTo(Object other)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (other==null)
 | 
				
			||||||
 | 
					      throw new NullPointerException();
 | 
				
			||||||
 | 
					    if (!(other instanceof CommunityHideMode))
 | 
				
			||||||
 | 
					      throw new ClassCastException();
 | 
				
			||||||
 | 
					    return m_name.compareTo(((CommunityHideMode)other).m_name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end compareTo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * External operations
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public Class getEnumClass()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return CommunityHideMode.class;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getEnumClass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public String getName()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return m_name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getName
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * External static operations
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public static CommunityHideMode getEnum(String name)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (s_name_to_enum==null)
 | 
				
			||||||
 | 
					      return null;
 | 
				
			||||||
 | 
					    return (CommunityHideMode)(s_name_to_enum.get(name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getEnum
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public static Map getEnumMap()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (s_name_to_enum==null)
 | 
				
			||||||
 | 
					      return Collections.EMPTY_MAP;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      return Collections.unmodifiableMap(s_name_to_enum);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getEnumMap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public static List getEnumList()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (s_order_list==null)
 | 
				
			||||||
 | 
					      return Collections.EMPTY_LIST;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      return Collections.unmodifiableList(s_order_list);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getEnumList
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public static Iterator iterator()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return getEnumList().iterator();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end iterator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Enumerated type values
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public static final CommunityHideMode NONE      = new CommunityHideMode("NONE");
 | 
				
			||||||
 | 
					  public static final CommunityHideMode DIRECTORY = new CommunityHideMode("DIRECTORY");
 | 
				
			||||||
 | 
					  public static final CommunityHideMode BOTH      = new CommunityHideMode("BOTH");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // end class CommunityHideMode
 | 
				
			||||||
@ -85,7 +85,7 @@ public interface UserContext extends SearchMode
 | 
				
			|||||||
  public int getSearchCategoryCount(int mode, String term) throws DataException;
 | 
					  public int getSearchCategoryCount(int mode, String term) throws DataException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public CommunityContext createCommunity(String name, String alias, String language, String synopsis,
 | 
					  public CommunityContext createCommunity(String name, String alias, String language, String synopsis,
 | 
				
			||||||
					  String rules, String joinkey, int hide_mode)
 | 
										  String rules, String joinkey, CommunityHideMode hide_mode)
 | 
				
			||||||
      throws DataException, AccessError;
 | 
					      throws DataException, AccessError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public boolean canCreateCommunity();
 | 
					  public boolean canCreateCommunity();
 | 
				
			||||||
 | 
				
			|||||||
@ -655,29 +655,28 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  } // end setRules
 | 
					  } // end setRules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public int getHideMode()
 | 
					  public CommunityHideMode getHideMode()
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    CommunityData d = getDataNE();
 | 
					    CommunityData d = getDataNE();
 | 
				
			||||||
 | 
					    CommunityHideMode rc = null;
 | 
				
			||||||
    if (d==null)
 | 
					    if (d==null)
 | 
				
			||||||
      return HIDE_NONE;
 | 
					      rc = CommunityHideMode.NONE;
 | 
				
			||||||
    if (d.getHideSearch())
 | 
					    else if (d.getHideSearch())
 | 
				
			||||||
      return HIDE_BOTH;
 | 
					      rc = CommunityHideMode.BOTH;
 | 
				
			||||||
    else if (d.getHideDirectory())
 | 
					    else if (d.getHideDirectory())
 | 
				
			||||||
      return HIDE_DIRECTORY;
 | 
					      rc = CommunityHideMode.DIRECTORY;
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      return HIDE_NONE;
 | 
					      rc = CommunityHideMode.NONE;
 | 
				
			||||||
 | 
					    if (logger.isDebugEnabled())
 | 
				
			||||||
 | 
					      logger.debug("getHideMode() => " + rc);
 | 
				
			||||||
 | 
					    return rc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  } // end getHideMode
 | 
					  } // end getHideMode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public void setHideMode(int mode) throws DataException, AccessError
 | 
					  public void setHideMode(CommunityHideMode mode) throws DataException, AccessError
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    if ((mode!=HIDE_NONE) && (mode!=HIDE_DIRECTORY) && (mode!=HIDE_BOTH))
 | 
					    if (logger.isDebugEnabled())
 | 
				
			||||||
    { // the mode is not valid
 | 
					      logger.debug("setHideMode(" + mode + ") entry");
 | 
				
			||||||
      logger.error("mode value " + mode + " is not valid");
 | 
					 | 
				
			||||||
      throw new IllegalArgumentException("invalid hide mode value");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    } // end if
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    getData().testMembership(level,is_member);
 | 
					    getData().testMembership(level,is_member);
 | 
				
			||||||
    if (!(getData().canModifyCommunityProfile(level)))
 | 
					    if (!(getData().canModifyCommunityProfile(level)))
 | 
				
			||||||
    { // this user can't modify the community feature set
 | 
					    { // this user can't modify the community feature set
 | 
				
			||||||
@ -693,8 +692,8 @@ class CommunityUserContextImpl implements CommunityContext, CommunityBackend
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    } // end if
 | 
					    } // end if
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    boolean hide_dir = (mode!=HIDE_NONE);
 | 
					    boolean hide_dir = (CommunityHideMode.NONE.equals(mode) ? false : true);
 | 
				
			||||||
    boolean hide_search = (mode==HIDE_BOTH);
 | 
					    boolean hide_search = CommunityHideMode.BOTH.equals(mode);
 | 
				
			||||||
    getData().setHideFlags(env,hide_dir,hide_search);
 | 
					    getData().setHideFlags(env,hide_dir,hide_search);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  } // end setHideMode
 | 
					  } // end setHideMode
 | 
				
			||||||
 | 
				
			|||||||
@ -987,14 +987,14 @@ class UserContextImpl implements UserContext, ServiceProvider, PropertyProvider
 | 
				
			|||||||
  } // end getSearchCategoryCount
 | 
					  } // end getSearchCategoryCount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public CommunityContext createCommunity(String name, String alias, String language, String synopsis,
 | 
					  public CommunityContext createCommunity(String name, String alias, String language, String synopsis,
 | 
				
			||||||
					  String rules, String joinkey, int hide_mode)
 | 
										  String rules, String joinkey, CommunityHideMode hide_mode)
 | 
				
			||||||
      throws DataException, AccessError
 | 
					      throws DataException, AccessError
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    env.testPermission(EnvUser.PERM_CREATECOMMUNITY,"You are not authorized to create new communities.");
 | 
					    env.testPermission(EnvUser.PERM_CREATECOMMUNITY,"You are not authorized to create new communities.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Convert the "hide mode" value into the two hide flags.
 | 
					    // Convert the "hide mode" value into the two hide flags.
 | 
				
			||||||
    boolean hide_dir = (hide_mode!=CommunityContext.HIDE_NONE);
 | 
					    boolean hide_dir = (CommunityHideMode.NONE.equals(hide_mode) ? false : true);
 | 
				
			||||||
    boolean hide_search = (hide_mode==CommunityContext.HIDE_BOTH);
 | 
					    boolean hide_search = CommunityHideMode.BOTH.equals(hide_mode);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Create the new community's database entries and internal data.
 | 
					    // Create the new community's database entries and internal data.
 | 
				
			||||||
    CommunityData new_comm = CommunityCoreData.createCommunity(globalsite,env,name,alias,uid,language,
 | 
					    CommunityData new_comm = CommunityCoreData.createCommunity(globalsite,env,name,alias,uid,language,
 | 
				
			||||||
 | 
				
			|||||||
@ -37,10 +37,10 @@ public class DialogElementLoader
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  private static final Class[] init_classes = {
 | 
					  private static final Class[] init_classes = {
 | 
				
			||||||
    CategoryHeader.class, CheckBoxField.class, CommunityLogoField.class, CountryListField.class,
 | 
					    CategoryHeader.class, CheckBoxField.class, CommunityLogoField.class, CountryListField.class,
 | 
				
			||||||
    DateField.class, EMailAddressField.class, HiddenField.class, ImageButton.class, IntegerField.class,
 | 
					    DateField.class, EMailAddressField.class, EnumPickListField.class, HiddenField.class,
 | 
				
			||||||
    IPAddressField.class, LanguageListField.class, LocaleListField.class, PasswordField.class,
 | 
					    ImageButton.class, IntegerField.class, IPAddressField.class, LanguageListField.class,
 | 
				
			||||||
    RoleListField.class, StaticPickListField.class, TextField.class, TimeZoneListField.class,
 | 
					    LocaleListField.class, PasswordField.class, RoleListField.class, StaticPickListField.class,
 | 
				
			||||||
    UserPhotoField.class, VeniceIDField.class
 | 
					    TextField.class, TimeZoneListField.class, UserPhotoField.class, VeniceIDField.class
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*--------------------------------------------------------------------------------
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										363
									
								
								src/com/silverwrist/venice/ui/dlg/EnumPickListField.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										363
									
								
								src/com/silverwrist/venice/ui/dlg/EnumPickListField.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,363 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 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 <http://www.mozilla.org/MPL/>.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * 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 <erbo@ricochet.com>,
 | 
				
			||||||
 | 
					 * for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
				
			||||||
 | 
					 * Copyright (C) 2004 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * Contributor(s): 
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					package com.silverwrist.venice.ui.dlg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					import java.lang.reflect.*;
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					import org.w3c.dom.*;
 | 
				
			||||||
 | 
					import com.silverwrist.util.*;
 | 
				
			||||||
 | 
					import com.silverwrist.venice.except.*;
 | 
				
			||||||
 | 
					import com.silverwrist.venice.ui.*;
 | 
				
			||||||
 | 
					import com.silverwrist.venice.util.XMLLoader;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class EnumPickListField extends PickListField
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Internal class for translating between strings and enums
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  static class EnumExtractor
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * Attributes
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Class m_klass;
 | 
				
			||||||
 | 
					    private Method m_getname;
 | 
				
			||||||
 | 
					    private Map m_valmap;
 | 
				
			||||||
 | 
					    private List m_list;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * Constructor
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    EnumExtractor(String klassname)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      try
 | 
				
			||||||
 | 
					      { // load the class
 | 
				
			||||||
 | 
						m_klass = Class.forName(klassname);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// get the "getName" method
 | 
				
			||||||
 | 
						m_getname = m_klass.getMethod("getName",NO_PARAMS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// get the "getEnumMap" method and call it to get the value map
 | 
				
			||||||
 | 
						Method m = m_klass.getMethod("getEnumMap",NO_PARAMS);
 | 
				
			||||||
 | 
						m_valmap = (Map)(m.invoke(null,NO_ARGS));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// get the "getEnumList" method and call it to get the value list
 | 
				
			||||||
 | 
						m = m_klass.getMethod("getEnumList",NO_PARAMS);
 | 
				
			||||||
 | 
						m_list = (List)(m.invoke(null,NO_ARGS));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					      } // end try
 | 
				
			||||||
 | 
					      catch (ClassNotFoundException e)
 | 
				
			||||||
 | 
					      { // bounce me
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("class not found: " + klassname,e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
					      catch (NoSuchMethodException e)
 | 
				
			||||||
 | 
					      { // bounce me
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("method failure",e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
					      catch (IllegalAccessException e)
 | 
				
			||||||
 | 
					      { // bounce me
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("illegal access",e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
					      catch (IllegalArgumentException e)
 | 
				
			||||||
 | 
					      { // bounce me
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("illegal argument",e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
					      catch (InvocationTargetException e)
 | 
				
			||||||
 | 
					      { // an exception got thrown
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("target threw something",e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					    } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * External operations
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final boolean isInstance(Object o)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      return m_klass.isInstance(o);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end isInstance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final String getNameFromEnum(Object enum)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      try
 | 
				
			||||||
 | 
					      { // invoke the method to return the name
 | 
				
			||||||
 | 
						return (String)(m_getname.invoke(enum,NO_ARGS));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end try
 | 
				
			||||||
 | 
					      catch (IllegalAccessException e)
 | 
				
			||||||
 | 
					      { // bounce me
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("illegal access",e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
					      catch (IllegalArgumentException e)
 | 
				
			||||||
 | 
					      { // bounce me
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("illegal argument",e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
					      catch (InvocationTargetException e)
 | 
				
			||||||
 | 
					      { // an exception got thrown
 | 
				
			||||||
 | 
						throw new VeniceRuntimeException("target threw something",e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end catch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end getNameFromEnum
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    final Object getEnumFromName(String name)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      return m_valmap.get(name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end getEnumFromName
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end class EnumExtractor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Internal class holding choices
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  static class PickListChoice
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * Attributes
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private String m_name;
 | 
				
			||||||
 | 
					    private String m_value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * Constructor
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PickListChoice(String name, String value)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      m_name = name;
 | 
				
			||||||
 | 
					      m_value = value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * External operations
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final String getName()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      return m_name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end getName
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final String getValue()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      return m_value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end getValue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end class PickListChoice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Static data members
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public static final String TAGNAME = "enumlist";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private static final Class[] NO_PARAMS = new Class[0];
 | 
				
			||||||
 | 
					  private static final Object[] NO_ARGS = new Object[0];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Attributes
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private EnumExtractor m_extractor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Constructors
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public EnumPickListField(String name, String caption, String caption2, boolean required, String classname,
 | 
				
			||||||
 | 
								   String clist)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    super(name,caption,caption2,required,Collections.EMPTY_LIST);
 | 
				
			||||||
 | 
					    setChoicesList(createChoiceListFromString(classname,clist));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public EnumPickListField(Element elt) throws ConfigException
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    super(elt,Collections.EMPTY_LIST);
 | 
				
			||||||
 | 
					    setChoicesList(createChoiceListFromXML(elt));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  protected EnumPickListField(EnumPickListField other)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    super(other);
 | 
				
			||||||
 | 
					    m_extractor = other.m_extractor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Internal operations
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private final List createChoiceListFromString(String classname, String s)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    m_extractor = new EnumExtractor(classname);
 | 
				
			||||||
 | 
					    char separator = s.charAt(0);
 | 
				
			||||||
 | 
					    String work = s.substring(1);
 | 
				
			||||||
 | 
					    ArrayList tmp = new ArrayList();
 | 
				
			||||||
 | 
					    while (work!=null)
 | 
				
			||||||
 | 
					    { // split up the "choice list" string into name/value pairs
 | 
				
			||||||
 | 
					      int p = work.indexOf(separator);
 | 
				
			||||||
 | 
					      if (p<0)
 | 
				
			||||||
 | 
						break;
 | 
				
			||||||
 | 
					      String n1 = work.substring(0,p);
 | 
				
			||||||
 | 
					      work = work.substring(p+1);
 | 
				
			||||||
 | 
					      p = work.indexOf(separator);
 | 
				
			||||||
 | 
					      String v1;
 | 
				
			||||||
 | 
					      if (p<0)
 | 
				
			||||||
 | 
					      { // take the rest of the string
 | 
				
			||||||
 | 
						v1 = work;
 | 
				
			||||||
 | 
						work = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end if
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					      { // chop the string off the end
 | 
				
			||||||
 | 
						v1 = work.substring(0,p);
 | 
				
			||||||
 | 
						work = work.substring(p+1);
 | 
				
			||||||
 | 
						if (work.length()==0)
 | 
				
			||||||
 | 
						  work = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (m_extractor.getEnumFromName(n1)!=null)
 | 
				
			||||||
 | 
						tmp.add(new PickListChoice(n1,v1));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end while
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tmp.trimToSize();
 | 
				
			||||||
 | 
					    if (tmp.isEmpty())
 | 
				
			||||||
 | 
					      return Collections.EMPTY_LIST;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      return Collections.unmodifiableList(tmp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end createChoiceListFromString
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private final List createChoiceListFromXML(Element elt) throws ConfigException
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    XMLLoader loader = XMLLoader.get();
 | 
				
			||||||
 | 
					    m_extractor = new EnumExtractor(loader.configGetAttribute(elt,"enumClass"));
 | 
				
			||||||
 | 
					    NodeList nl = elt.getChildNodes();
 | 
				
			||||||
 | 
					    ArrayList tmp = new ArrayList();
 | 
				
			||||||
 | 
					    for (int i=0; i<nl.getLength(); i++)
 | 
				
			||||||
 | 
					    { // look for associated elements
 | 
				
			||||||
 | 
					      Node n = nl.item(i);
 | 
				
			||||||
 | 
					      if (n.getNodeType()==Node.ELEMENT_NODE)
 | 
				
			||||||
 | 
					      { // make sure we have a <choice/> element here
 | 
				
			||||||
 | 
						loader.configVerifyNodeName(n,"choice",elt);
 | 
				
			||||||
 | 
						String n1 = loader.configGetAttribute((Element)n,"id");
 | 
				
			||||||
 | 
						String v1 = loader.configGetText((Element)n);
 | 
				
			||||||
 | 
						if (m_extractor.getEnumFromName(n1)!=null)
 | 
				
			||||||
 | 
						  tmp.add(new PickListChoice(n1,v1));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end if
 | 
				
			||||||
 | 
					      // else just ignore that
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end for
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tmp.trimToSize();
 | 
				
			||||||
 | 
					    if (tmp.isEmpty())
 | 
				
			||||||
 | 
					      return Collections.EMPTY_LIST;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      return Collections.unmodifiableList(tmp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end createChoiceListFromXML
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Overrides from class PickListField
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  protected String getChoiceName(Object o)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return ((PickListChoice)o).getName();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getChoiceName
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  protected String getChoiceValue(Object o)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return ((PickListChoice)o).getValue();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getChoiceValue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Implementations from interface DialogField
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public Object getValue()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    Object o = super.getValue();
 | 
				
			||||||
 | 
					    if (o==null)
 | 
				
			||||||
 | 
					      return null;
 | 
				
			||||||
 | 
					    return m_extractor.getEnumFromName(o.toString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end getValue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public void setValue(Object o)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (o==null)
 | 
				
			||||||
 | 
					    { // null value
 | 
				
			||||||
 | 
					      super.setValue(null);
 | 
				
			||||||
 | 
					      return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end if
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!(m_extractor.isInstance(o)))
 | 
				
			||||||
 | 
					      throw new IllegalArgumentException("not a valid enum instance");
 | 
				
			||||||
 | 
					    super.setValue(m_extractor.getNameFromEnum(o));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end setValue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public DialogField duplicate()
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    return new EnumPickListField(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  } // end duplicate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // end class EnumPickListField
 | 
				
			||||||
@ -19,6 +19,7 @@ package com.silverwrist.venice.ui.dlg;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
import java.util.*;
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					import org.apache.log4j.*;
 | 
				
			||||||
import org.w3c.dom.*;
 | 
					import org.w3c.dom.*;
 | 
				
			||||||
import com.silverwrist.util.*;
 | 
					import com.silverwrist.util.*;
 | 
				
			||||||
import com.silverwrist.venice.except.*;
 | 
					import com.silverwrist.venice.except.*;
 | 
				
			||||||
@ -26,12 +27,19 @@ import com.silverwrist.venice.ui.*;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public abstract class PickListField extends BaseDialogField
 | 
					public abstract class PickListField extends BaseDialogField
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   * Static data members
 | 
				
			||||||
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private static Logger logger = Logger.getLogger(PickListField.class);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*--------------------------------------------------------------------------------
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
   * Attributes
 | 
					   * Attributes
 | 
				
			||||||
   *--------------------------------------------------------------------------------
 | 
					   *--------------------------------------------------------------------------------
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  private List choices;
 | 
					  private List m_choices;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /*--------------------------------------------------------------------------------
 | 
					  /*--------------------------------------------------------------------------------
 | 
				
			||||||
   * Constructors
 | 
					   * Constructors
 | 
				
			||||||
@ -41,21 +49,21 @@ public abstract class PickListField extends BaseDialogField
 | 
				
			|||||||
  protected PickListField(String name, String caption, String caption2, boolean required, List choices)
 | 
					  protected PickListField(String name, String caption, String caption2, boolean required, List choices)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    super(false,name,caption,caption2,required);
 | 
					    super(false,name,caption,caption2,required);
 | 
				
			||||||
    this.choices = choices;
 | 
					    m_choices = choices;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  } // end constructor
 | 
					  } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  protected PickListField(Element elt, List choices) throws ConfigException
 | 
					  protected PickListField(Element elt, List choices) throws ConfigException
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    super(false,elt,true,true);
 | 
					    super(false,elt,true,true);
 | 
				
			||||||
    this.choices = choices;
 | 
					    m_choices = choices;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  } // end constructor
 | 
					  } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  protected PickListField(PickListField other)
 | 
					  protected PickListField(PickListField other)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    super(other);
 | 
					    super(other);
 | 
				
			||||||
    this.choices = other.choices;
 | 
					    m_choices = other.m_choices;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  } // end constructor
 | 
					  } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -79,18 +87,33 @@ public abstract class PickListField extends BaseDialogField
 | 
				
			|||||||
    if (!isEnabled())
 | 
					    if (!isEnabled())
 | 
				
			||||||
      out.write(" disabled=\"disabled\"");
 | 
					      out.write(" disabled=\"disabled\"");
 | 
				
			||||||
    out.write(">\n");
 | 
					    out.write(">\n");
 | 
				
			||||||
    Iterator it = choices.iterator();
 | 
					 | 
				
			||||||
    String val = getStringValue();
 | 
					    String val = getStringValue();
 | 
				
			||||||
    while (it.hasNext())
 | 
					    boolean not_selected = true;
 | 
				
			||||||
 | 
					    for (Iterator it=m_choices.iterator(); it.hasNext(); )
 | 
				
			||||||
    { // loop through the list and render the choices
 | 
					    { // loop through the list and render the choices
 | 
				
			||||||
      Object ch = it.next();
 | 
					      Object ch = it.next();
 | 
				
			||||||
      String ch_name = getChoiceName(ch);
 | 
					      String ch_name = getChoiceName(ch);
 | 
				
			||||||
      out.write("<option value=\"" + ch_name + "\"");
 | 
					      out.write("<option value=\"" + ch_name + "\"");
 | 
				
			||||||
      if (ch_name.equals(val))
 | 
					      if (ch_name.equals(val))
 | 
				
			||||||
 | 
					      { // found the selected element
 | 
				
			||||||
	out.write(" selected=\"selected\"");
 | 
						out.write(" selected=\"selected\"");
 | 
				
			||||||
 | 
						not_selected = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      } // end if
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      out.write(">" + StringUtil.encodeHTML(getChoiceValue(ch)) + "</option>\n");
 | 
					      out.write(">" + StringUtil.encodeHTML(getChoiceValue(ch)) + "</option>\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    } // end while
 | 
					    } // end for
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (not_selected && isEnabled())
 | 
				
			||||||
 | 
					    { // aw, shit! there's no selected item!
 | 
				
			||||||
 | 
					      logger.warn("PickListField \"" + getName() + "\" did not find a match for selected value \"" + val + "\"");
 | 
				
			||||||
 | 
					      ArrayList tmp = new ArrayList(m_choices.size());
 | 
				
			||||||
 | 
					      for (Iterator it=m_choices.iterator(); it.hasNext(); )
 | 
				
			||||||
 | 
						tmp.add(getChoiceName(it.next()));
 | 
				
			||||||
 | 
					      logger.warn("Possible choices were: " + tmp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } // end if
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    out.write("</select>\n");  // all done
 | 
					    out.write("</select>\n");  // all done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -103,13 +126,13 @@ public abstract class PickListField extends BaseDialogField
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  public List getChoicesList()
 | 
					  public List getChoicesList()
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    return choices;
 | 
					    return m_choices;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  } // end getChoicesList
 | 
					  } // end getChoicesList
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public void setChoicesList(List list)
 | 
					  public void setChoicesList(List list)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    this.choices = list;
 | 
					    m_choices = list;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  } // end setChoicesList
 | 
					  } // end setChoicesList
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9,9 +9,9 @@
 | 
				
			|||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * The Original Code is the Venice Web Communities System.
 | 
					 * The Original Code is the Venice Web Communities System.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
 | 
					 * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@ricochet.com>,
 | 
				
			||||||
 * for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
					 * for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
 | 
				
			||||||
 * Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
					 * Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * Contributor(s): 
 | 
					 * Contributor(s): 
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@ -34,25 +34,40 @@ public class StaticPickListField extends PickListField
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  static class PickListChoice
 | 
					  static class PickListChoice
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    private String name;
 | 
					    /*====================================================================
 | 
				
			||||||
    private String value;
 | 
					     * Attributes
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private String m_name;
 | 
				
			||||||
 | 
					    private String m_value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * Constructor
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PickListChoice(String name, String value)
 | 
					    PickListChoice(String name, String value)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      this.name = name;
 | 
					      m_name = name;
 | 
				
			||||||
      this.value = value;
 | 
					      m_value = value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    } // end constructor
 | 
					    } // end constructor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /*====================================================================
 | 
				
			||||||
 | 
					     * External operations
 | 
				
			||||||
 | 
					     *====================================================================
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    final String getName()
 | 
					    final String getName()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      return name;
 | 
					      return m_name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    } // end getName
 | 
					    } // end getName
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    final String getValue()
 | 
					    final String getValue()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      return value;
 | 
					      return m_value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    } // end getValue
 | 
					    } // end getValue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user