You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2003/10/29 15:18:16 UTC
cvs commit: cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding JXPathBindingBase.java JXPathBindingManager.java ValueJXPathBinding.java ValueJXPathBindingBuilder.java
vgritsenko 2003/10/29 06:18:16
Modified: src/blocks/woody/java/org/apache/cocoon/woody/binding
JXPathBindingBase.java JXPathBindingManager.java
ValueJXPathBinding.java
ValueJXPathBindingBuilder.java
Log:
minor tweaks: logging, braces, null objects in dispose()
Revision Changes Path
1.4 +6 -3 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/JXPathBindingBase.java
Index: JXPathBindingBase.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/JXPathBindingBase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JXPathBindingBase.java 25 Jul 2003 16:18:22 -0000 1.3
+++ JXPathBindingBase.java 29 Oct 2003 14:18:16 -0000 1.4
@@ -80,8 +80,10 @@
* the new overloaded version of this method.
*/
public final void loadFormFromModel(Widget frmModel, Object objModel) {
- if (objModel == null)
+ if (objModel == null) {
throw new NullPointerException("null object passed to loadFormFromModel() method");
+ }
+
JXPathContext jxpc;
if (!(objModel instanceof JXPathContext)) {
jxpc = JXPathContext.newContext(objModel);
@@ -104,8 +106,10 @@
* the new overloaded version of this method.
*/
public void saveFormToModel(Widget frmModel, Object objModel) throws BindingException {
- if (objModel == null)
+ if (objModel == null) {
throw new NullPointerException("null object passed to saveFormToModel() method");
+ }
+
JXPathContext jxpc;
if (!(objModel instanceof JXPathContext)) {
jxpc = JXPathContext.newContext(objModel);
@@ -127,5 +131,4 @@
protected Logger getLogger() {
return logger;
}
-
}
1.9 +4 -4 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/JXPathBindingManager.java
Index: JXPathBindingManager.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/JXPathBindingManager.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- JXPathBindingManager.java 3 Sep 2003 11:51:08 -0000 1.8
+++ JXPathBindingManager.java 29 Oct 2003 14:18:16 -0000 1.9
@@ -78,8 +78,8 @@
//TODO caching of the Bindings.
- private DatatypeManager datatypeManager;
private ServiceManager serviceManager;
+ private DatatypeManager datatypeManager;
private Configuration configuration;
private SimpleServiceSelector bindingBuilderSelector;
@@ -104,8 +104,7 @@
InputSource is = new InputSource(bindSrc.getInputStream());
is.setSystemId(bindSrc.getURI());
- Document doc =
- DomHelper.parse(is);
+ Document doc = DomHelper.parse(is);
Element rootElm = doc.getDocumentElement();
JXPathBindingBase newBinding = null;
if (BindingManager.NAMESPACE.equals(rootElm.getNamespaceURI())) {
@@ -129,7 +128,9 @@
public void dispose() {
bindingBuilderSelector.dispose();
+ bindingBuilderSelector = null;
serviceManager.release(datatypeManager);
+ datatypeManager = null;
}
/**
@@ -191,6 +192,5 @@
public ServiceManager getServiceManager() {
return serviceManager;
}
-
}
}
1.4 +22 -6 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/ValueJXPathBinding.java
Index: ValueJXPathBinding.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/ValueJXPathBinding.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ValueJXPathBinding.java 18 Sep 2003 20:14:04 -0000 1.3
+++ ValueJXPathBinding.java 29 Oct 2003 14:18:16 -0000 1.4
@@ -148,11 +148,19 @@
try {
Widget widget = frmModel.getWidget(this.fieldId);
Object value = widget.getValue();
- if (value != null && convertor != null)
+ if (value != null && convertor != null) {
value = convertor.convertToString(value, convertorLocale, null);
+ }
+
+ // FIXME: Remove
+ // System.out.println("Set lenient to true (was: " + jxpc.isLenient() + ") for " + jxpc);
+ jxpc.setLenient(true);
+
Object oldValue = jxpc.getValue(this.xpath);
- if (getLogger().isDebugEnabled())
+ if (getLogger().isDebugEnabled()) {
getLogger().debug("value= " + value + "-- oldvalue=" + oldValue);
+ }
+
boolean update = false;
if ((value == null && oldValue != null) || value != null && !value.equals(oldValue)) {
@@ -166,17 +174,25 @@
} catch (JXPathException e) {
// if the value has been set to null and the underlying model is a bean, then
// JXPath will not be able to create a relative context
- if (getLogger().isDebugEnabled())
+ if (getLogger().isDebugEnabled()) {
getLogger().debug("(Ignorable) problem binding field " + widget.getFullyQualifiedId(), e);
+ }
}
- if (subContext != null)
+ if (subContext != null) {
this.updateBinding.saveFormToModel(frmModel, subContext);
+ }
+
update = true;
}
- if (getLogger().isDebugEnabled())
+
+ if (getLogger().isDebugEnabled()) {
getLogger().debug("done saving " + toString() + " -- value= " + value + " -- on-update == " + update);
+ }
} catch (Exception e) {
- throw new BindingException("Problem binding field " + this.fieldId + " (parent = \"" + frmModel.getFullyQualifiedId() + "\") to xpath " + this.xpath + " (context xpath = \"" + jxpc.getContextPointer().asPath() + "\")", e);
+ throw new BindingException("Problem binding field " + this.fieldId +
+ " (parent = \"" + frmModel.getFullyQualifiedId() + "\") to xpath " +
+ this.xpath + " (context xpath = \"" + jxpc.getContextPointer().asPath() + "\")",
+ e);
}
}
}
1.2 +3 -1 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/ValueJXPathBindingBuilder.java
Index: ValueJXPathBindingBuilder.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/ValueJXPathBindingBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ValueJXPathBindingBuilder.java 12 Aug 2003 12:54:45 -0000 1.1
+++ ValueJXPathBindingBuilder.java 29 Oct 2003 14:18:16 -0000 1.2
@@ -96,8 +96,10 @@
if (convertorEl != null) {
String datatype = DomHelper.getAttribute(convertorEl, "datatype");
String localeStr = convertorEl.getAttribute("datatype");
- if (!localeStr.equals(""))
+ if (!localeStr.equals("")) {
convertorLocale = I18nUtils.parseLocale(localeStr);
+ }
+
convertor = assistant.getDatatypeManager().createConvertor(datatype, convertorEl);
}