[cvs] expresso commit by rimovm: API Walkthrough for
ControllerRequest:
JCorporate Ltd
jcorp at jcorporate.com
Mon May 2 19:31:38 UTC 2005
Log Message:
-----------
API Walkthrough for ControllerRequest:
@deprecated duplicate functions to what AutoElement does.
@deprecated Hashtable based functions
Added Map based functions.
Modified Files:
--------------
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller:
Controller.java
ControllerRequest.java
ControllerResponse.java
DefaultForm.java
ServletControllerRequest.java
State.java
Transition.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj:
Schema.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/servlet/viewhandler:
DefaultViewHandler.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility:
ControllerRun.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller:
ComponentManager.java
ReportServer.java
TestController.java
Upload.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/ldap:
UserLDAP.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html:
ExButtonTag.java
ExImageTag.java
ExSubmitTag.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller:
EditUserPreference.java
QueueJob.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint:
DynamicCmd.java
ListBase.java
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/ui:
DefaultAutoElement.java
Revision Data
-------------
Index: EditUserPreference.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/EditUserPreference.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/EditUserPreference.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/EditUserPreference.java -u -r1.20 -r1.21
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/EditUserPreference.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/EditUserPreference.java
@@ -243,9 +243,9 @@
onePreference.setDataContext(params.getDataContext());
boolean reestablishLocale = false;
- for (Enumeration p = params.getParameters().keys();
- p.hasMoreElements();) {
- oneParamName = (String) p.nextElement();
+ for (Iterator p = params.getAllParameters().keySet().iterator();
+ p.hasNext();) {
+ oneParamName = (String) p.next();
StringTokenizer stk = new StringTokenizer(oneParamName, "_");
Index: QueueJob.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/QueueJob.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/QueueJob.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/QueueJob.java -u -r1.22 -r1.23
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/QueueJob.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/QueueJob.java
@@ -354,9 +354,9 @@
String oneParamName;
int paramNumber = 0;
- for (Enumeration par = params.getParameters().keys();
- par.hasMoreElements();) {
- oneParamName = (String) par.nextElement();
+ for (Iterator par = params.getAllParameters().keySet().iterator();
+ par.hasNext();) {
+ oneParamName = (String) par.next();
/* skip params used for management of this controller */
if ((!oneParamName.equals(STATE_PARAM_KEY)) &&
Index: ControllerRequest.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerRequest.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerRequest.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerRequest.java -u -r1.36 -r1.37
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerRequest.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerRequest.java
@@ -84,6 +84,7 @@
import com.jcorporate.expresso.core.security.ReadOnlyUser;
import com.jcorporate.expresso.core.registry.RequestRegistry;
import com.jcorporate.expresso.core.dbobj.RequestContext;
+import java.util.Collections;
/**
@@ -92,17 +93,44 @@
* <b>Developer Notes</b> Because this class can be cloned, please make sure that
* you add any fields to this class to the clone function.
*/
-public class ControllerRequest implements Serializable, RequestContext, Cloneable {
+public class ControllerRequest implements Serializable, RequestContext, Cloneable
+{
/**
* The parameters for the request.
*/
- private Hashtable params = null;
+ private Map params = null;
+
+ /**
+ * Initialization Parameters Appears to be unused.
+ * @deprecated Since Expresso 5.7
+ */
private Map initParams = null;
+
+ /**
+ * Object parameters.
+ */
private Map objectParams = null;
+
+ /**
+ * User name.
+ */
private String userName = null;
+
+ /**
+ * User id.
+ *
+ */
private int uid = 0;
+
+ /**
+ * The schema for this request.
+ */
private String mySchema = null;
+
+ /**
+ * The Locale to use for this request.
+ */
private Locale currentLocale = null;
/* The ActionForm session key for this request, if any ActionForm is specified */
@@ -121,8 +149,15 @@
* The attributes of this Controller object
*/
private Map attributes = null;
- private String dbName = null;
+ /**
+ * Database context.
+ */
+ private String dataContext = null;
+
+ /**
+ * The log4j Logger.
+ */
private static transient final Logger log = Logger.getLogger(ControllerRequest.class);
@@ -152,12 +187,12 @@
*/
public ControllerRequest() {
- } /* ControllerRequest() */
+ }
+ /* ControllerRequest() */
public void setFileParameter(String paramName, String paramValue,
- String fileName)
- throws ControllerException {
+ String fileName) throws ControllerException {
setParameter(paramName, paramValue);
StringUtil.assertNotBlank(fileName, "File name must not be blank here");
@@ -197,7 +232,8 @@
}
attributes.put(attrib, val);
- } /* setAttributes(String, String) */
+ }
+ /* setAttributes(String, String) */
/**
* Set the named attribute to the given value
@@ -211,7 +247,8 @@
}
attributes.put(attrib, val);
- } /* setAttributes(String, String) */
+ }
+ /* setAttributes(String, String) */
/**
* get the named attribute of this Controller
@@ -226,7 +263,8 @@
} else {
return (String) attributes.get(attrib);
}
- } /* setAttributes(String, String) */
+ }
+ /* setAttributes(String, String) */
/**
* get the named attribute of this Controller
@@ -240,7 +278,8 @@
} else {
return attributes.get(attrib);
}
- } /* setAttributes(String, String) */
+ }
+ /* setAttributes(String, String) */
/**
* Get the attributes Map
@@ -250,7 +289,8 @@
*/
public Map getAttributes() {
return attributes;
- } /* getAttributes() */
+ }
+ /* getAttributes() */
/**
* Set the attributes Map to the supplied Map
@@ -259,7 +299,8 @@
*/
public void setAttributes(Map attributes) {
this.attributes = attributes;
- } /* setAttributes(Map) */
+ }
+ /* setAttributes(Map) */
/**
* remove the attribute
@@ -284,29 +325,30 @@
}
initParams.put(paramName, paramValue);
- } /* setInitialParameter(String, String) */
+ }
+ /* setInitialParameter(String, String) */
/**
* @param paramName The name of the parameter
* @param paramValue The value of the parameter
* @throws ControllerException upon error
*/
- public void setParameter(String paramName, String paramValue)
- throws ControllerException {
+ public void setParameter(String paramName, String paramValue) throws ControllerException {
if (params == null) {
- params = new Hashtable(10);
+ params = new HashMap(10);
}
if (paramName == null) {
throw new ControllerException("Parameter name may not be null");
}
if (paramValue == null) {
throw new ControllerException("Parameter value may not be" +
- " null for parameter '" + paramName +
- "'");
+ " null for parameter '" + paramName +
+ "'");
}
params.put(paramName, paramValue);
- } /* setParameter(String, String) */
+ }
+ /* setParameter(String, String) */
/**
@@ -316,10 +358,9 @@
* @param paramValue The value object
* @throws ControllerException upon error
*/
- public void setObjectParameter(String paramName, Object paramValue)
- throws ControllerException {
+ public void setObjectParameter(String paramName, Object paramValue) throws ControllerException {
StringUtil.assertNotBlank(paramName,
- "Parameter name may not be blank or null here");
+ "Parameter name may not be blank or null here");
if (paramValue == null) {
throw new IllegalArgumentException("Parameter value may not be null here");
@@ -329,7 +370,8 @@
}
objectParams.put(paramName, paramValue);
- } /* setObjectParameter(String, Object) */
+ }
+ /* setObjectParameter(String, Object) */
/**
@@ -337,17 +379,17 @@
* @return the Object retrieved from the object parameters list.
* @throws ControllerException if unable to get the object parameters
*/
- public Object getObjectParameter(String paramName)
- throws ControllerException {
+ public Object getObjectParameter(String paramName) throws ControllerException {
StringUtil.assertNotBlank(paramName,
- "Parameter name may not be blank or null here");
+ "Parameter name may not be blank or null here");
if (objectParams == null) {
return null;
} else {
return objectParams.get(paramName);
}
- } /* getObjectParameter(String) */
+ }
+ /* getObjectParameter(String) */
/**
@@ -361,11 +403,25 @@
/* of a given state */
if (h != null) {
- params = h;
+ params = new HashMap(h);
} else {
- params = new Hashtable(1);
+ params = new HashMap(1);
}
- } /* setParameters(Hashtable) */
+ }
+ /* setParameters(Hashtable) */
+
+ /**
+ * Sets the parameters for this request. Overrides any existing parameters
+ * previously set.
+ * @param parameterMap Map
+ */
+ public void setParameters(Map parameterMap) {
+ if (parameterMap != null) {
+ parameterMap = new HashMap(parameterMap);
+ } else {
+ params = new HashMap(0);
+ }
+ }
/**
* The client of the controller must tell us who is accessing us,
@@ -375,7 +431,8 @@
*/
public void setUser(String newUser) {
userName = newUser;
- } /* setUser(String) */
+ }
+ /* setUser(String) */
/**
* Sets the current integer user id.
@@ -393,15 +450,16 @@
* example, to preserve it's portability across all UI environments.
*
* @param newSession A PersistentSession object
+ * @throws ControllerException if newSession is null.
*/
- public void setSession(PersistentSession newSession)
- throws ControllerException {
+ public void setSession(PersistentSession newSession) throws ControllerException {
if (newSession == null) {
throw new ControllerException("Cannot set a null PersistentSession object");
}
mySession = newSession;
- } /* setSession(PersistentSession) */
+ }
+ /* setSession(PersistentSession) */
/**
@@ -409,10 +467,9 @@
* environments. Use this instead of HTTPSession or HTTPServletRequest
*
* @return a Persistant Session Object
- * @throws ControllerException upon error
+ * @throws ControllerException if the internal session has never been set.
*/
- public PersistentSession getSession()
- throws ControllerException {
+ public PersistentSession getSession() throws ControllerException {
if (mySession == null) {
throw new ControllerException("No PersistentSession object available");
}
@@ -425,6 +482,7 @@
*
* @param paramName the name of the parameter to retrieve
* @return java.lang.String
+ * @deprecated Appears to be unused. Since Expresso 5.7
*/
public String getInitParameter(String paramName) {
if (initParams == null) {
@@ -432,7 +490,8 @@
} else {
return (String) initParams.get(paramName);
}
- } /* getInitialParameter(String) */
+ }
+ /* getInitialParameter(String) */
/**
* Get the user name
@@ -445,7 +504,8 @@
}
return userName;
- } /* getUser() */
+ }
+ /* getUser() */
/**
* Get the user id as an integer
@@ -460,14 +520,29 @@
* Return the complete hashtable of parameters all keyed by parameter names
*
* @return a Hashtable containing all the parameter values, keyed by name; this is a CLONE of the source hashtable, not the original
+ * @deprecated Since Expresso 5.7 Use getParams() which returns a readonly Map instead
*/
public Hashtable getParameters() {
if (params != null) {
- return (Hashtable) params.clone();
+ return new Hashtable(params);
} else {
return new Hashtable();
}
- } /* getParameters() */
+ }
+
+
+ /**
+ * Retrieves the parameters in the form of a HashMap with String keys
+ * and String values.
+ * @return A ReadOnly Map instance.
+ */
+ public Map getAllParameters() {
+ if (params != null) {
+ return Collections.unmodifiableMap(params);
+ } else {
+ return new HashMap(0);
+ }
+ }
/**
* Fetch the value for the given parameter. Return null
@@ -482,7 +557,8 @@
}
return (String) params.get(paramCode);
- } /* getParameter(String) */
+ }
+ /* getParameter(String) */
/**
@@ -500,7 +576,8 @@
}
return false;
- } /* isFileParameter(String) */
+ }
+ /* isFileParameter(String) */
/**
* Return the name of the database connection we use - or null
@@ -510,12 +587,9 @@
* @deprecated 10/2004 v.5.6 use getDataContext instead
*/
public String getDBName() {
- if (StringUtil.notNull(dbName).equals("")) {
- return "default";
- }
-
- return dbName;
- } /* getDBName() */
+ return getDataContext();
+ }
+ /* getDBName() */
/**
* Return the name of the database connection we use - or null
@@ -524,10 +598,10 @@
* @return The current DBContext
*/
public String getDataContext() {
- if (StringUtil.notNull(dbName).equals("")) {
+ if (StringUtil.notNull(dataContext).equals("")) {
return "default";
}
- return dbName;
+ return dataContext;
}
/**
@@ -536,20 +610,21 @@
* @param newDBName The dbcontext to set this request to.
*/
public synchronized void setDBName(String newDBName) {
- if (StringUtil.notNull(newDBName).equals("")) {
- dbName = "default";
- } else {
- dbName = newDBName;
- }
- } /* setDBName(String) */
+ setDataContext(newDBName);
+ }
+ /* setDBName(String) */
/**
* Set this DB Controller to operate on a database other than the default
*
- * @param newDBName The dbcontext to set this request to.
+ * @param newDataContext The dbcontext to set this request to.
*/
- public synchronized void setDataContext(String newDBName) {
- this.setDBName(newDBName);
+ public synchronized void setDataContext(String newDataContext) {
+ if (StringUtil.notNull(newDataContext).equals("")) {
+ dataContext = "default";
+ } else {
+ dataContext = newDataContext;
+ }
}
/**
@@ -558,25 +633,28 @@
*
* @param myDBObj the dbobject to populate
* @throws ControllerException upon error
+ * @deprecated Since 5.7 Use the AutoElement package instead. Used in Expresso's
+ * own code.
*/
- public void populate(DBObject myDBObj)
- throws ControllerException {
+ public void populate(DBObject myDBObj) throws ControllerException {
try {
String oneFieldName = null;
for (Iterator e = myDBObj.getJDBCMetaData().getFieldNamesList().iterator()
- ; e.hasNext();) {
+ ; e.hasNext(); ) {
oneFieldName = (String) e.next();
if (getParameter(oneFieldName) != null) {
myDBObj.setField(oneFieldName, getParameter(oneFieldName));
}
- } /* for each field */
+ }
+ /* for each field */
} catch (DBException de) {
throw new ControllerException(de);
}
- } /* addAutoInput(DBOBject) */
+ }
+ /* addAutoInput(DBOBject) */
/**
@@ -586,8 +664,7 @@
* exist.
* @throws ControllerException if there is an error getting the Session object
*/
- public ErrorCollection getErrorCollection()
- throws ControllerException {
+ public ErrorCollection getErrorCollection() throws ControllerException {
ErrorCollection ec = (ErrorCollection) getSession().getAttribute(Globals.ERROR_KEY);
//
@@ -609,10 +686,18 @@
return ec;
}
+ /**
+ * Sets the form attribute.
+ * @param newAttribute String
+ */
public synchronized void setFormAttribute(String newAttribute) {
formAttribute = newAttribute;
}
+ /**
+ * Get the name of the ActionForm that this Request is mapped to.
+ * @return String
+ */
public String getFormAttribute() {
return formAttribute;
}
@@ -624,8 +709,8 @@
* @param paramName the parameter to check against.
* @return true if the name given IS a valid defined parameter
*/
- public boolean isParameter(String paramName) {
- Hashtable allParams = getParameters();
+ public boolean isParameter(final String paramName) {
+ Map allParams = getAllParameters();
if (allParams == null) {
return false;
@@ -643,19 +728,21 @@
* @param ec The error collection that gets filled out.
* @throws ControllerException upon internal or data error
* @throws ValidationException if there is an error validating the object
+ * @deprecated Use DefaultAutoElement for parsing DBObjects instead. (Since v5.7)
*/
- public void validateDBObject(DBObject oneObject, ErrorCollection ec)
- throws ControllerException, ValidationException {
+ public void validateDBObject(final DBObject oneObject, final ErrorCollection ec) throws ControllerException
+ , ValidationException {
try {
String oneFieldName = null;
- for (Iterator af = oneObject.getMetaData().getFieldNamesList().iterator(); af.hasNext();) {
+ for (Iterator af = oneObject.getMetaData().getFieldNamesList().iterator(); af.hasNext(); ) {
oneFieldName = (String) af.next();
validateDBField(oneFieldName, oneObject, ec);
}
} catch (DBException de) {
throw new ControllerException(de);
}
- } /* validateDBObj(DBObject, ErrorCollection) */
+ }
+ /* validateDBObj(DBObject, ErrorCollection) */
/**
@@ -669,11 +756,10 @@
* @param ec The ErrorCollection to fill out if there is an error
* @throws DBException upon data error
* @throws ControllerException upon internal error
+ * @deprecated Use DefaultAutoElement for parsing DBObjects instead. (Since v5.7)
*/
- public void validateDBField(String dbFieldName,
- DBObject oneObject,
- ErrorCollection ec)
- throws ControllerException, DBException {
+ public void validateDBField(final String dbFieldName, final DBObject oneObject
+ , final ErrorCollection ec) throws ControllerException, DBException {
validateField(dbFieldName, dbFieldName, oneObject, ec);
}
@@ -689,17 +775,15 @@
* @param ec The ErrorCollection to fill out if there is an error
* @throws DBException upon data error
* @throws ControllerException upon internal error
+ * @deprecated Use DefaultAutoElement for parsing DBObjects instead. (Since v5.7)
*/
- public void validateField(String dbFieldName,
- String reqFieldName,
- DBObject oneObject,
- ErrorCollection ec)
- throws ControllerException, DBException {
+ public void validateField(final String dbFieldName, final String reqFieldName, final DBObject oneObject
+ , final ErrorCollection ec) throws ControllerException, DBException {
- Hashtable allParams = getParameters();
+ Map allParams = getAllParameters();
if ((!oneObject.getMetaData().getFieldMetadata(dbFieldName).isReadOnly()) &&
- (!oneObject.getMetaData().getFieldMetadata(dbFieldName).isVirtual())) {
+ (!oneObject.getMetaData().getFieldMetadata(dbFieldName).isVirtual())) {
if (allParams.containsKey(reqFieldName)) {
String oneFieldParam = getParameter(reqFieldName);
@@ -742,7 +826,7 @@
try {
l = new Locale(ConfigManager.getContext(getDataContext()).getLanguage(),
- ConfigManager.getContext(getDataContext()).getCountry());
+ ConfigManager.getContext(getDataContext()).getCountry());
} catch (ConfigurationException ce) {
l = null;
}
@@ -757,28 +841,12 @@
* Returns a clone of this object.
*
* @return a newly cloned ControllerRequest object.
+ * @throws java.lang.CloneNotSupportedException if unable to create a new
+ * instance.of this class.
*/
- public Object clone() {
- Object o = null;
- String className = this.getClass().getName();
+ public Object clone() throws CloneNotSupportedException {
+ Object o = super.clone();
- try {
- Class c = ClassLocator.loadClass(className);
- o = c.newInstance();
- } catch (ClassNotFoundException cn) {
- throw new IllegalArgumentException("State object '" + className +
- "' not found");
- } catch (InstantiationException ie) {
- throw new IllegalArgumentException("State object '" + className +
- "' cannot be instantiated");
- } catch (IllegalArgumentException e) {
- throw new IllegalArgumentException("State object '" + className +
- "' cannot be instantiated (IllegalArgumentException)");
- } catch (IllegalAccessException iae) {
- throw new IllegalArgumentException("llegal access loading " +
- "State object '" + className +
- "'");
- }
synchronized (this) {
ControllerRequest cr = (ControllerRequest) o;
@@ -787,16 +855,16 @@
}
cr.currentLocale = this.currentLocale;
- cr.dbName = this.dbName;
+ cr.dataContext = this.dataContext;
if (this.fileParams != null) {
- cr.fileParams = (Hashtable) this.fileParams.clone();
+ cr.fileParams = (Hashtable)this.fileParams.clone();
}
cr.formAttribute = this.formAttribute;
if (this.formResponseCache != null) {
- cr.formResponseCache = (Hashtable) this.formResponseCache.clone();
+ cr.formResponseCache = (Hashtable)this.formResponseCache.clone();
}
cr.initialState = this.initialState;
@@ -812,7 +880,7 @@
cr.objectParams = new HashMap(this.objectParams);
}
if (this.params != null) {
- cr.params = (Hashtable) this.params.clone();
+ cr.params = new HashMap(this.params);
}
cr.uid = this.uid;
@@ -833,9 +901,11 @@
/**
- * get requesting user
+ * Get requesting user.
*
* @return user object for requesting user; will throw if UID is not found
+ * @throws DBException if the underlying <tt>User</tt> object has toubles
+ * access hte database.
*/
public User getUserInfo() throws DBException {
return User.getUser(this);
@@ -845,8 +915,8 @@
* Retrieve the read only user of the requesting user.
* @return ReadOnlyUser
*/
- public ReadOnlyUser getRequestingUser() {
+ public ReadOnlyUser getRequestingUser() {
return RequestRegistry.getUser();
}
-} /* ControllerRequest */
+}
Index: DefaultForm.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/DefaultForm.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/DefaultForm.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/DefaultForm.java -u -r1.25 -r1.26
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/DefaultForm.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/DefaultForm.java
@@ -89,6 +89,7 @@
import com.jcorporate.expresso.core.i18n.Messages;
import com.jcorporate.expresso.core.misc.ConfigManager;
import com.jcorporate.expresso.core.misc.StringUtil;
+import java.util.Map;
/**
@@ -115,7 +116,7 @@
public void saveForm(ControllerRequest req)
throws ControllerException {
formData.clear();
- formData.putAll(req.getParameters());
+ formData.putAll(req.getAllParameters());
}
public void restoreForm(ControllerRequest req)
@@ -154,12 +155,26 @@
}
/**
- * Set all of the fields using a hastable of parameters
+ * Set all of the fields using a hastable of parameters.
*
* @param parameters values to set
* @throws ControllerException on error
+ * @deprecated since Expresso 5.7 Use setUsingMapParameters() instead.
*/
- public synchronized void setUsingHashtableParameters(Hashtable parameters) throws ControllerException {
+ public synchronized void setUsingHashtableParameters(final Hashtable parameters) throws ControllerException {
+ for (Iterator i = parameters.keySet().iterator(); i.hasNext();) {
+ String key = (String) i.next();
+ setField(key, (String) parameters.get(key));
+ }
+ }
+
+ /**
+ * Set all of the fields using a map of parameters.
+ *
+ * @param parameters values to set
+ * @throws ControllerException on error
+ */
+ public synchronized void setUsingMapParameters(final Map parameters) throws ControllerException {
for (Iterator i = parameters.keySet().iterator(); i.hasNext();) {
String key = (String) i.next();
setField(key, (String) parameters.get(key));
@@ -261,13 +276,13 @@
/**
* Get the state requested by the transition button in the form
- * @param params the hashtable of parameters to parse
+ * @param request the HttpServletRequest object to load.
* @return String
* @throws ControllerException
*
* @author Raul Davidovich, improved by Nahuel
*/
- protected String getState(HttpServletRequest request) throws ControllerException {
+ protected String getState(final HttpServletRequest request) throws ControllerException {
String state = request.getParameter("state");
Index: State.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/State.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/State.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/State.java -u -r1.31 -r1.32
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/State.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/State.java
@@ -917,6 +917,7 @@
*
* @param paramName The parameter name to retrieve
* @return java.lang.String
+ * @deprecated Appears to be unused. Since Expresso 5.7
*/
public String getInitParameter(String paramName) {
return myRequest.getInitParameter(paramName);
Index: ControllerResponse.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerResponse.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerResponse.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerResponse.java -u -r1.58 -r1.59
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerResponse.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ControllerResponse.java
@@ -1548,9 +1548,9 @@
/**
* Add and error message to the response
- *
+ *
* @param errorMessage
- *
+ *
* @throws ControllerException on error
*/
public void addError(String errorMessage) throws ControllerException {
@@ -1590,7 +1590,7 @@
* @param errorMessage key to error msg found in message bundle
* @param args an array of replacement value to use in ${} replacement templates
* @see com.jcorporate.expresso.core.i18n.MessageBundle#getString(java.lang.String, java.lang.Object[])
- *
+ *
* @throws ControllerException on error
*/
public void addError(String errorMessage, Object[] args) throws ControllerException {
@@ -1735,9 +1735,9 @@
ValidationSet validSet = new ValidationSet();
- for (Enumeration e = getRequest().getParameters().keys();
- e.hasMoreElements();) {
- paramName = (String) e.nextElement();
+ for (Iterator e = getRequest().getAllParameters().keySet().iterator();
+ e.hasNext();) {
+ paramName = (String) e.next();
vi = new ValidationItem(paramName, false, checkClassName);
validSet.setValidationItem(vi);
}
@@ -2270,7 +2270,7 @@
/**
* return raw key, without running through msg bundle string translation--useful for when 'cloning' in Transition
- *
+ *
* @return String the title key
*/
public String getTitleKey() {
Index: Transition.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Transition.java,v
retrieving revision 1.62
retrieving revision 1.63
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Transition.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Transition.java -u -r1.62 -r1.63
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Transition.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Transition.java
@@ -85,6 +85,9 @@
import java.util.Hashtable;
import java.util.Map;
import java.util.Vector;
+import java.util.Iterator;
+import java.util.HashMap;
+import java.util.Collections;
/**
@@ -137,7 +140,7 @@
/**
* The parameters to the controller object
*/
- private Hashtable params = new Hashtable(1);
+ private Map params = new Hashtable(1);
private String myState = null;
private boolean returnToSender = false;
@@ -335,7 +338,7 @@
synchronized (this) {
t = (Transition) super.clone();
- t.params = (Hashtable) params.clone();
+ t.params = new HashMap(params);
t.controllerObject = controllerObject;
t.myState = myState;
t.returnToSender = returnToSender;
@@ -447,12 +450,24 @@
* when the action is called.
*
* @return A hashtable of name/value pairs for the parameters
+ * @deprecated Since Expresso 5.7 Use getAllParemeters() which returns
+ * a Map object instead.
*/
public Hashtable getParams() {
- return params;
+ return new Hashtable(params);
} /* getParams() */
/**
+ * Retrieve a <tt>Map</tt> of parameters for this transition object.
+ * These parameters are to be handed to the new controller
+ * when the action is called.
+ * @return A <em>ReadOnly Map</em>
+ */
+ public Map getAllParameters() {
+ return Collections.unmodifiableMap(params);
+ }
+
+ /**
* @param includeControllerParameter whether to include controller param or not.
* @return parameter string which includes all params added to trans, as well
* as state param. controller param added optionally
@@ -503,11 +518,11 @@
if (!this.params.isEmpty()) {
String oneKey = null;
- for (Enumeration e = this.params.keys(); e.hasMoreElements();) {
+ for (Iterator e = this.params.keySet().iterator(); e.hasNext();) {
if (paramString.length() != 0) {
paramString.append("&");
}
- oneKey = (String) e.nextElement();
+ oneKey = (String) e.next();
//Encode user's Transition parameters otherwise is ueer's parameters has '&' then
//it will mess up the addButtonParams() method when using Tokenizer.
@@ -674,7 +689,7 @@
* Creation date: (1/10/01 11:24:00 AM)
* author: Adam Rossi, PlatinumSolutions
*
- * @deprecated 4/28/2005 use {@link com.jcorporate.expresso.ext.taglib.ExTagUtils#getHTMLParamString} instead
+ * @deprecated 4/28/2005 use {@link com.jcorporate.expresso.ext.taglib.ExTagUtils#getHTMLParamString} instead
*
* @return java.lang.String
*/
@@ -744,7 +759,7 @@
*
* @param newController the classname of the new controller
*/
- public synchronized void setOwnerController(String newController) {
+ public synchronized void setOwnerController(final String newController) {
clearCache();
ownerObject = newController;
}
@@ -754,12 +769,22 @@
*
* @param newParams the new parameters in bulk
*/
- public synchronized void setParams(Hashtable newParams) {
+ public synchronized void setParams(final Hashtable newParams) {
clearCache();
params = new Hashtable(newParams);
}
/**
+ * Sets the transitions parameters to the passed in collection. (Overwrites
+ * any existing parametesr!)
+ * @param newParameters Map the new map to use.
+ */
+ public synchronized void setParams(final Map newParameters) {
+ clearCache();
+ params = newParameters;
+ }
+
+ /**
* This method will take the request parameters that were passed to this state
* and will copy them into this transition's parameters. These parameters
* will then be used when this state is reinvoked (return-to-sender) in order
@@ -767,20 +792,20 @@
*
* @param newReturnToSenderRequest The <code>ControllerRequest</code> object
*/
- public synchronized void setReturnToSenderParms(ControllerRequest newReturnToSenderRequest) {
+ public synchronized void setReturnToSenderParms(final ControllerRequest newReturnToSenderRequest) {
clearCache();
String oneParamName = null;
Object oneParamValue = null;
- Hashtable params = newReturnToSenderRequest.getParameters();
- Hashtable newParams = new Hashtable();
+ Map params = newReturnToSenderRequest.getAllParameters();
+ Map newParams = new Hashtable();
//Copy all parameters except hidden parameters xxx_params and xxx_encoding.
//The xxx_params have already been unencoded and untokenized into separate parameters.
//Passing the xxx_params caused problems when the transition was encoded again and sent to HTML.
//When the double-encoded parameter comes back with the next user request it is never unencoded.
//This ends up causing problems with the fromXML/toXML methods in Transition.
- for (Enumeration e = params.keys(); e.hasMoreElements();) {
- oneParamName = (String) e.nextElement();
+ for (Iterator e = params.keySet().iterator(); e.hasNext();) {
+ oneParamName = (String) e.next();
if (!oneParamName.endsWith("_params") &&
!oneParamName.endsWith("_encoding") &&
@@ -1202,8 +1227,8 @@
String oneParamKey = null;
String oneParamValue = null;
- for (Enumeration ep = params.keys(); ep.hasMoreElements();) {
- oneParamKey = (String) ep.nextElement();
+ for (Iterator ep = params.keySet().iterator(); ep.hasNext();) {
+ oneParamKey = (String) ep.next();
oneParamValue = (String) params.get(oneParamKey);
if (oneParamValue != null) {
@@ -1211,10 +1236,15 @@
}
}
- ControllerRequest newRequest = (ControllerRequest) req.clone();
- newRequest.setParameters(this.params);
- newRequest.setParameter(Controller.STATE_PARAM_KEY, StringUtil.notNull(this.getState()));
- newRequest.setParameter(Controller.CONTROLLER_PARAM_KEY, this.getControllerObject());
+ ControllerRequest newRequest = null;
+ try {
+ newRequest = (ControllerRequest) req.clone();
+ newRequest.setParameters(this.params);
+ newRequest.setParameter(Controller.STATE_PARAM_KEY, StringUtil.notNull(this.getState()));
+ newRequest.setParameter(Controller.CONTROLLER_PARAM_KEY, this.getControllerObject());
+ } catch (CloneNotSupportedException ex) {
+ throw new ControllerException("Error cloning the ControllerRequestObject.", ex);
+ }
ControllerResponse newResponse = null;
Index: Controller.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Controller.java,v
retrieving revision 1.111
retrieving revision 1.112
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Controller.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Controller.java -u -r1.111 -r1.112
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Controller.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/Controller.java
@@ -114,6 +114,7 @@
import java.util.Locale;
import java.util.Stack;
import java.util.Vector;
+import java.util.Map;
/**
@@ -955,6 +956,7 @@
* @param req ?
* @param creq ?
* @param regDomain ?
+ * @throws ControllerException upon error.
*/
protected void addRegDomainParamtoSession(HttpServletRequest req,
ControllerRequest creq,
@@ -1488,6 +1490,7 @@
* @param nextState the state to be performed
* @param request the request object
* @param response the response object
+ * @throws ControllerException upon error.
*/
protected void prePerform(State nextState,
ControllerRequest request,
@@ -1507,6 +1510,7 @@
* @param nextState the state to be performed
* @param request the request object
* @param response the response object
+ * @throws ControllerException upon error.
*/
protected void postPerform(State nextState,
ControllerRequest request,
@@ -1801,9 +1805,9 @@
// TODO: Is this a bug or not core developers? *PP*
// BUG BUG - Should parameter names and values be URLEncoded?
- for (Enumeration ep = req.getParameters().keys();
- ep.hasMoreElements();) {
- oneParamName = (String) ep.nextElement();
+ for (Iterator ep = req.getAllParameters().keySet().iterator();
+ ep.hasNext();) {
+ oneParamName = (String) ep.next();
oneParamValue = req.getParameter(oneParamName);
newURL.append("&");
newURL.append(oneParamName);
@@ -1919,7 +1923,7 @@
/** we populate the DefaultForm with the contents of the HTML form *RD* Mon Jul 27 2004 */
if (form instanceof DefaultForm) {
try {
- ((DefaultForm) form).setUsingHashtableParameters(req.getParameters());
+ ((DefaultForm) form).setUsingMapParameters(req.getAllParameters());
} catch (Exception ex) {
ex.printStackTrace();
throw new ServletException(ex);
@@ -2376,7 +2380,7 @@
ControllerRequest request)
throws ControllerException {
try {
- BeanUtils.populate(stateForm, request.getParameters());
+ BeanUtils.populate(stateForm, request.getAllParameters());
} catch (Exception e) {
throw new ControllerException(e);
}
@@ -2586,6 +2590,7 @@
* @param nextState the state to transition to.
* @return An instantiated Transition Object
* @throws NonHandleableException upon a fatal error.
+ * @throws ControllerException upon error.
*/
protected Transition processTransitions(ControllerRequest request,
ControllerResponse response,
@@ -2652,9 +2657,9 @@
String oneParamKey = "";
String oneParamValue = "";
- Hashtable transitionParams = nextTransition.getParams();
- for (Enumeration ep = transitionParams.keys(); ep.hasMoreElements();) {
- oneParamKey = (String) ep.nextElement();
+ Map transitionParams = nextTransition.getAllParameters();
+ for (Iterator ep = transitionParams.keySet().iterator(); ep.hasNext();) {
+ oneParamKey = (String) ep.next();
oneParamValue = (String) transitionParams.get(oneParamKey);
//Assign the 'required' parameters from the calling controller.
Index: ServletControllerRequest.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ServletControllerRequest.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ServletControllerRequest.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ServletControllerRequest.java -u -r1.33 -r1.34
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ServletControllerRequest.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ServletControllerRequest.java
@@ -112,9 +112,25 @@
* the client. Don't use it if you don't *need* it.
*/
private transient ServletResponse myServletResponse = null;
+
+ /**
+ * A hook to the ServletResponse object.
+ */
private transient ServletRequest myServletRequest = null;
+
+ /**
+ * A hook to the calling servlet.
+ */
private Servlet myCallingServlet = null;
+
+ /**
+ * The <tt>ActionMapping</tt> associated with this request.
+ */
private ActionMapping myMapping = null;
+
+ /**
+ * The actionform associated with this request.
+ */
private ActionForm myForm = null;
@@ -391,10 +407,11 @@
/**
- * Add any parameters specified by the "button"
+ * Add any parameters specified by the "button".
*
* @param params the hashtable of parameters to add
* @return Hashtable
+ * @throws ControllerException upon parsing error.
*/
private static Hashtable addButtonParams(Hashtable params)
throws ControllerException {
@@ -567,15 +584,13 @@
* @param request the Servlet Request
* @param response the Servlet Response
* @param controller the Controller
+ * @param mp The <tt>MultipartRequestHandler</tt> instance to use for
+ * parsing.
* @throws ControllerException exception upon controller error
* @throws ServletException upon javax.servlet related errors
+ * @return A populated Servlet ControllerRequest.
*/
- public static ServletControllerRequest parseParamsMultiPart(MultipartRequestHandler mp,
- ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response,
- Controller controller)
+ public static ServletControllerRequest parseParamsMultiPart(MultipartRequestHandler mp, ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, Controller controller)
throws ServletException, ControllerException {
String controllerName = controller.getClass().getName();
@@ -823,8 +838,10 @@
* shallow copied since a deep copy is meaningless in a servlet environment
*
* @return a new instantiated ServletControllerRequest object
+ * @throws java.lang.CloneNotSupportedException if there is an error
+ * creating an instance of this class.
*/
- public Object clone() {
+ public Object clone() throws CloneNotSupportedException {
ServletControllerRequest scr = (ServletControllerRequest) super.clone();
scr.myCallingServlet = this.myCallingServlet;
scr.myServletRequest = this.myServletRequest;
Index: Schema.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/Schema.java,v
retrieving revision 1.55
retrieving revision 1.56
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/Schema.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/Schema.java -u -r1.55 -r1.56
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/Schema.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/Schema.java
@@ -1211,6 +1211,7 @@
* Provide Configurations
*
* @param newConfig the new configuration object
+ * @throws ConfigurationException upon configuration error.
*/
public void configure(Configuration newConfig) throws ConfigurationException {
this.setupValue = newConfig.getMappedProperties("SetupValue");
@@ -1235,6 +1236,7 @@
* Reconfigure Lifecycle Event. Nullify values and restart.
*
* @param newConfig The new Configuration
+ * @throws ConfigurationException upon configuration exception.
*/
public void reconfigure(Configuration newConfig) throws ConfigurationException {
synchronized (Schema.class) {
Index: DefaultViewHandler.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/servlet/viewhandler/DefaultViewHandler.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/servlet/viewhandler/DefaultViewHandler.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/servlet/viewhandler/DefaultViewHandler.java -u -r1.16 -r1.17
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/servlet/viewhandler/DefaultViewHandler.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/servlet/viewhandler/DefaultViewHandler.java
@@ -110,6 +110,7 @@
import com.jcorporate.expresso.services.html.TextField;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionMessage;
+import java.util.Map;
/**
@@ -356,7 +357,7 @@
Cell oneCell = null;
Button oneButton = null;
String paramString = null;
- Hashtable params = null;
+ Map params = null;
HiddenField hidden = null;
/* Add the parameters by creating a hidden "xxx_params" field for each transition */
@@ -364,7 +365,7 @@
a = (Transition) e.nextElement();
if (a != null) {
- params = a.getParams();
+ params = a.getAllParameters();
if (params != null) {
paramString = a.getParamString();
Index: ControllerRun.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility/ControllerRun.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility/ControllerRun.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility/ControllerRun.java -u -r1.19 -r1.20
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility/ControllerRun.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility/ControllerRun.java
@@ -110,6 +110,7 @@
import com.jcorporate.expresso.core.db.*;
import java.util.List;
import java.util.Iterator;
+import java.util.Map;
/**
@@ -152,16 +153,16 @@
Button oneButton = null;
StringBuffer paramString = null;
String paramName = null;
- Hashtable params = null;
+ Map params = null;
HiddenField hidden = null;
for (Enumeration e = h.elements(); e.hasMoreElements();) {
a = (Transition) e.nextElement();
- params = a.getParams();
+ params = a.getAllParameters();
paramString = new StringBuffer();
- for (Enumeration p = params.keys(); p.hasMoreElements();) {
- paramName = (String) p.nextElement();
+ for (Iterator p = params.keySet().iterator(); p.hasNext();) {
+ paramName = (String) p.next();
paramString.append("&");
paramString.append(paramName);
paramString.append("=");
Index: ReportServer.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ReportServer.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ReportServer.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ReportServer.java -u -r1.8 -r1.9
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ReportServer.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ReportServer.java
@@ -206,7 +206,7 @@
throws ControllerException, NonHandleableException {
try {
ExpressoReport report = instantiateReport(request);
- java.util.Map paramMap = new java.util.HashMap(request.getParameters());
+ java.util.Map paramMap = request.getAllParameters();
report.setReportParameters(paramMap);
report.setDataContext(request.getDataContext());
report.setReportCode(request.getParameter("ReportCode"));
Index: TestController.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/TestController.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/TestController.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/TestController.java -u -r1.20 -r1.21
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/TestController.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/TestController.java
@@ -121,6 +121,8 @@
* components to be executed.
*
* @author Michael Nash
+ * @deprecated Since Expresso 5.7 use either Cactus testing or straight
+ * unit testing.
*/
public class TestController
extends DBController
Index: Upload.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/Upload.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/Upload.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/Upload.java -u -r1.13 -r1.14
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/Upload.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/Upload.java
@@ -84,6 +84,8 @@
import java.io.File;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Map;
+import java.util.Iterator;
/**
@@ -152,13 +154,13 @@
} /* run() */
- private void runUploadState(ControllerRequest req, ControllerResponse res)
+ private void runUploadState(final ControllerRequest req, final ControllerResponse res)
throws ControllerException, NonHandleableException {
- Hashtable params = req.getParameters();
+ Map params = req.getAllParameters();
int processedCount = 0;
- for (Enumeration e = params.keys(); e.hasMoreElements();) {
- String oneParamName = (String) e.nextElement();
+ for (Iterator e = params.keySet().iterator(); e.hasNext();) {
+ String oneParamName = (String) e.next();
String clientFileName = null;
String fileParamName = null;
@@ -193,4 +195,4 @@
} /* Upload */
-/* Upload */
\ No newline at end of file
+/* Upload */
Index: ComponentManager.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ComponentManager.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ComponentManager.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ComponentManager.java -u -r1.22 -r1.23
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ComponentManager.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/controller/ComponentManager.java
@@ -99,6 +99,7 @@
import com.jcorporate.expresso.services.dbobj.SchemaList;
import com.jcorporate.expresso.services.test.SchemaCreator;
import com.jcorporate.expresso.services.test.SchemaDeleter;
+import java.util.Map;
/**
@@ -535,7 +536,7 @@
ControllerResponse response) throws ControllerException {
ArrayList returnList = new ArrayList();
- Hashtable allParams = request.getParameters();
+ Map allParams = request.getAllParameters();
for (Iterator i = allParams.keySet().iterator(); i.hasNext();) {
String oneParam = (String) i.next();
Index: DynamicCmd.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/DynamicCmd.java,v
retrieving revision 1.45
retrieving revision 1.46
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/DynamicCmd.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/DynamicCmd.java -u -r1.45 -r1.46
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/DynamicCmd.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/DynamicCmd.java
@@ -315,7 +315,7 @@
initializeDBObj();
add(new Output("dbobj", URLUTF8Encoder.decode(StringUtil.notNull(getParameter("dbobj")))));
- if (newParams.getParameters().containsKey("nocount")) {
+ if (newParams.getAllParameters().containsKey("nocount")) {
this.countTotalRecords = false;
}
Index: ListBase.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/ListBase.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/ListBase.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/ListBase.java -u -r1.33 -r1.34
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/ListBase.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/dbmaint/ListBase.java
@@ -86,6 +86,7 @@
import java.util.Iterator;
import java.util.Locale;
import java.util.StringTokenizer;
+import java.util.Map;
/**
@@ -288,8 +289,8 @@
//xun li add for record count
showNext = paginator.isMoreRecords();
- addOutput(new Output("recordRange",
- getString("Records_to_", new Object[]{Integer.toString(startShowingRecord),Integer.toString(endShowingRecord)})));
+ addOutput(new Output("recordRange",
+ getString("Records_to_", new Object[]{Integer.toString(startShowingRecord),Integer.toString(endShowingRecord)})));
return totalRecordCount;
} /* listRecords(String, Output) */
@@ -397,7 +398,7 @@
}
Class controllerClass = this.getController().getClass();
- java.util.Hashtable allParameters = request.getParameters();
+ Map allParameters = request.getAllParameters();
allParameters.remove(Controller.CONTROLLER_PARAM_KEY);
String state = (String) allParameters.get(Controller.STATE_PARAM_KEY);
allParameters.remove(Controller.STATE_PARAM_KEY);
@@ -447,8 +448,8 @@
returnBlock.add(t);
}
- addOutput(new Output("pageCount",
- getString("_Pages", new Object[]{Integer.toString(this.getRecordPaginator().getPageCount())})));
+ addOutput(new Output("pageCount",
+ getString("_Pages", new Object[]{Integer.toString(this.getRecordPaginator().getPageCount())})));
return returnBlock;
}
Index: UserLDAP.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/ldap/UserLDAP.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/ldap/UserLDAP.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/ldap/UserLDAP.java -u -r1.18 -r1.19
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/ldap/UserLDAP.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/ldap/UserLDAP.java
@@ -291,6 +291,7 @@
* Get the groups associated with this User
*
* @return The group list
+ * @deprecated as per UserInfo Spec
*/
public java.util.Vector getGroups()
throws DBException {
Index: ExSubmitTag.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExSubmitTag.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExSubmitTag.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExSubmitTag.java -u -r1.15 -r1.16
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExSubmitTag.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExSubmitTag.java
@@ -78,6 +78,7 @@
import com.jcorporate.expresso.ext.struts.taglib.ControllerUtils;
import com.jcorporate.expresso.ext.taglib.ExTagUtils;
import com.jcorporate.expresso.ext.taglib.MessageUtil;
+import java.util.Map;
/**
@@ -133,7 +134,7 @@
}
- Hashtable params = myTransition.getParams();
+ Map params = myTransition.getAllParameters();
if (params != null) {
Index: ExButtonTag.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExButtonTag.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExButtonTag.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExButtonTag.java -u -r1.12 -r1.13
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExButtonTag.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExButtonTag.java
@@ -77,6 +77,7 @@
import com.jcorporate.expresso.core.misc.StringUtil;
import com.jcorporate.expresso.ext.struts.taglib.ControllerUtils;
import com.jcorporate.expresso.ext.taglib.ExTagUtils;
+import java.util.Map;
/**
@@ -128,7 +129,7 @@
}
}
- Hashtable params = myTransition.getParams();
+ Map params = myTransition.getAllParameters();
if (params != null) {
Index: ExImageTag.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExImageTag.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExImageTag.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExImageTag.java -u -r1.15 -r1.16
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExImageTag.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/struts/taglib/html/ExImageTag.java
@@ -78,6 +78,7 @@
import com.jcorporate.expresso.core.misc.StringUtil;
import com.jcorporate.expresso.ext.struts.taglib.ControllerUtils;
import com.jcorporate.expresso.ext.taglib.ExTagUtils;
+import java.util.Map;
/**
@@ -131,7 +132,7 @@
}
}
- Hashtable params = myTransition.getParams();
+ Map params = myTransition.getAllParameters();
if (params != null) {
Index: DefaultAutoElement.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/ui/DefaultAutoElement.java,v
retrieving revision 1.62
retrieving revision 1.63
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/ui/DefaultAutoElement.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/ui/DefaultAutoElement.java -u -r1.62 -r1.63
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/ui/DefaultAutoElement.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/services/controller/ui/DefaultAutoElement.java
@@ -417,7 +417,7 @@
//patterns and load them into the appropriate DBObject by calling
//parseSingleInput for each matching paramter.
//
- for (Iterator e = request.getParameters().keySet().iterator();
+ for (Iterator e = request.getAllParameters().keySet().iterator();
e.hasNext();) {
String oneParameterName = (String) e.next();
More information about the cvs
mailing list