[cvs]
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller
ServletControllerResponse.java Transition.java
JCorporate Ltd
jcorp at jcorp2.servlets.net
Fri Sep 17 17:05:15 PDT 2004
Update of /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller
In directory jcorp2.servlets.net:/tmp/cvs-serv12293
Modified Files:
ServletControllerResponse.java Transition.java
Log Message:
Yves Henri AMAIZO's contributions.
Commited by Raul Davidovich on 20040918
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.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** Transition.java 19 Jun 2004 01:53:54 -0000 1.53
--- Transition.java 18 Sep 2004 00:05:13 -0000 1.54
***************
*** 123,127 ****
java.io.Serializable {
! private static Logger log = Logger.getLogger(Transition.class);
/**
--- 123,127 ----
java.io.Serializable {
! private static Logger log = Logger.getLogger("expresso.core.controller.transition");
/**
***************
*** 146,156 ****
* re-constructing multiple times.
*/
! private transient String cacheParamStringSansController = null;
!
! /**
! * This is used to store a constructed parameter string to save on
! * re-constructing multiple times.
! */
! private transient String cacheParamStringWithController = null;
--- 146,150 ----
* re-constructing multiple times.
*/
! private transient String constructedParamString = null;
***************
*** 164,167 ****
--- 158,162 ----
*/
public Transition() {
+ super();
}
***************
*** 174,177 ****
--- 169,173 ----
*/
public Transition(String newState, Controller myController) {
+ super();
//
***************
*** 280,284 ****
*/
public void addParam(String paramCode, String paramValue) {
! clearCache();
if (paramCode.equals("state")) {
setState(StringUtil.notNull(paramValue));
--- 276,280 ----
*/
public void addParam(String paramCode, String paramValue) {
! constructedParamString = null;
if (paramCode.equals("state")) {
setState(StringUtil.notNull(paramValue));
***************
*** 295,303 ****
} /* addParam(String, String) */
- private void clearCache() {
- cacheParamStringWithController = null;
- cacheParamStringSansController = null;
- }
-
/**
* Sets the target state to transition to.
--- 291,294 ----
***************
*** 306,310 ****
*/
public void setState(String newState) {
! clearCache();
myState = newState;
}
--- 297,301 ----
*/
public void setState(String newState) {
! constructedParamString = null;
myState = newState;
}
***************
*** 453,486 ****
} /* getParams() */
- /**
- * @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
- */
public String getParamString(boolean includeControllerParameter) {
! if (includeControllerParameter && cacheParamStringWithController == null) {
FastStringBuffer paramString = FastStringBuffer.getInstance();
try {
! if (controllerObject != null ) {
! paramString.append("controller=");
! paramString.append(controllerObject);
}
! addNonControllerParams(paramString);
! cacheParamStringWithController = paramString.toString();
! } finally {
! paramString.release();
! paramString = null;
! }
! }
! if (!includeControllerParameter && cacheParamStringSansController == null) {
! FastStringBuffer paramString = FastStringBuffer.getInstance();
! try {
! addNonControllerParams(paramString);
! cacheParamStringSansController = paramString.toString();
} finally {
paramString.release();
--- 444,504 ----
} /* getParams() */
public String getParamString(boolean includeControllerParameter) {
! if (constructedParamString == null) {
FastStringBuffer paramString = FastStringBuffer.getInstance();
try {
! if (controllerObject != null && includeControllerParameter) {
! //Determine if we're transitioning between controllers. If so, then
! //add the controller parameter. If not, then omit it. [Makes for
! //cleaner URLs]
! if (getOwnerController() != null) {
! if (!getOwnerController().equals(getControllerObject())) {
!
! paramString.append("controller=");
! paramString.append(controllerObject);
! }
! } else {
! paramString.append("controller=");
! paramString.append(controllerObject);
! }
}
! if (this.params != null) {
! if (!this.params.isEmpty()) {
! String oneKey = null;
! for (Enumeration e = this.params.keys(); e.hasMoreElements();) {
! if (paramString.length() != 0) {
! paramString.append("&");
! }
! oneKey = (String) e.nextElement();
! //Encode user's Transition parameters otherwise is ueer's parameters has '&' then
! //it will mess up the addButtonParams() method when using Tokenizer.
! FastStringBuffer fsb = FastStringBuffer.getInstance();
! try {
! fsb.append(oneKey);
! fsb.append("=");
! fsb.append(URLUTF8Encoder.encode((String) this.params.get(oneKey)));
! paramString.append(fsb.toString());
! } finally {
! fsb.release();
! fsb = null;
! }
! }
! }
! }
! String stateString = StringUtil.notNull(getState());
! if (stateString.length() != 0) {
! if (paramString.length() != 0) {
! paramString.append("&");
! }
! paramString.append("state=");
! paramString.append(stateString);
! }
!
! constructedParamString = paramString.toString();
} finally {
paramString.release();
***************
*** 490,537 ****
}
- if ( includeControllerParameter )
- return cacheParamStringWithController;
- else
- return cacheParamStringSansController;
-
- }
-
- private void addNonControllerParams(FastStringBuffer paramString) {
- if (this.params != null) {
- if (!this.params.isEmpty()) {
- String oneKey = null;
-
- for (Enumeration e = this.params.keys(); e.hasMoreElements();) {
- if (paramString.length() != 0) {
- paramString.append("&");
- }
- oneKey = (String) e.nextElement();
-
- //Encode user's Transition parameters otherwise is ueer's parameters has '&' then
- //it will mess up the addButtonParams() method when using Tokenizer.
- FastStringBuffer fsb = FastStringBuffer.getInstance();
- try {
- fsb.append(oneKey);
- fsb.append("=");
- fsb.append(URLUTF8Encoder.encode((String) this.params.get(oneKey)));
- paramString.append(fsb.toString());
- } finally {
- fsb.release();
- fsb = null;
- }
-
- }
- }
- }
-
- String stateString = StringUtil.notNull(getState());
- if (stateString.length() != 0) {
- if (paramString.length() != 0) {
- paramString.append("&");
- }
- paramString.append("state=");
- paramString.append(stateString);
- }
}
--- 508,513 ----
}
+ return constructedParamString;
}
***************
*** 713,717 ****
*/
public void setControllerObject(String newObject) {
! clearCache();
controllerObject = newObject;
} /* setControllerObject(String) */
--- 689,693 ----
*/
public void setControllerObject(String newObject) {
! constructedParamString = null;
controllerObject = newObject;
} /* setControllerObject(String) */
***************
*** 728,732 ****
*/
public void setControllerObject(Class c) {
! clearCache();
if (c != null) {
setControllerObject(c.getName());
--- 704,708 ----
*/
public void setControllerObject(Class c) {
! constructedParamString = null;
if (c != null) {
setControllerObject(c.getName());
***************
*** 743,747 ****
*/
public void setOwnerController(String newController) {
! clearCache();
ownerObject = newController;
}
--- 719,723 ----
*/
public void setOwnerController(String newController) {
! constructedParamString = null;
ownerObject = newController;
}
***************
*** 753,757 ****
*/
public void setParams(Hashtable newParams) {
! clearCache();
params = new Hashtable(newParams);
}
--- 729,733 ----
*/
public void setParams(Hashtable newParams) {
! constructedParamString = null;
params = new Hashtable(newParams);
}
***************
*** 766,770 ****
*/
public void setReturnToSenderParms(ControllerRequest newReturnToSenderRequest) {
! clearCache();
String oneParamName = null;
Object oneParamValue = null;
--- 742,746 ----
*/
public void setReturnToSenderParms(ControllerRequest newReturnToSenderRequest) {
! constructedParamString = null;
String oneParamName = null;
Object oneParamValue = null;
***************
*** 954,958 ****
*
* @param resolveControllerReference should the controller be resolved to
! * a mapping, or should it just be the request path with a controller equals
* parameter. True if you want the URL mapped to a .do mapping.
* @return java.lang.String
--- 930,934 ----
*
* @param resolveControllerReference should the controller be resolved to
! * a mapping or should it just be the request path with a controler equals
* parameter. True if you want the URL mapped to a .do mapping.
* @return java.lang.String
***************
*** 1043,1047 ****
* This URL is optimized, so it includes a "controller" param only if
* the destination controller is different than the controller of the ControllerResponse (if
! * the response is known).
*
* @return java.lang.String
--- 1019,1023 ----
* This URL is optimized, so it includes a "controller" param only if
* the destination controller is different than the controller of the ControllerResponse (if
! * the response is known). For a guaranteed controller param,
*
* @return java.lang.String
Index: ServletControllerResponse.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/controller/ServletControllerResponse.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
More information about the cvs
mailing list