You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ti...@apache.org on 2005/01/13 20:56:35 UTC
svn commit: r125093 - cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding
Author: tim
Date: Thu Jan 13 11:56:34 2005
New Revision: 125093
URL: http://svn.apache.org/viewcvs?view=rev&rev=125093
Log:
Add support framework for tracking source locations for the forms bindings and add some comments.
Modified:
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AbstractCustomBinding.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AbstractCustomBinding.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AbstractCustomBinding.java?view=diff&rev=125093&p1=cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AbstractCustomBinding.java&r1=125092&p2=cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AbstractCustomBinding.java&r2=125093
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AbstractCustomBinding.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AbstractCustomBinding.java Thu Jan 13 11:56:34 2005
@@ -27,9 +27,15 @@
private Binding parent;
private String id;
+ /**
+ * Sets parent binding.
+ */
public void setParent(Binding binding) {
this.parent = binding;
}
+ /**
+ * Returns binding definition id.
+ */
public String getId() {
return this.id;
}
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java?view=diff&rev=125093&p1=cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java&r1=125092&p2=cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java&r2=125093
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java Thu Jan 13 11:56:34 2005
@@ -64,6 +64,13 @@
}
/**
+ * Gets source location of this binding.
+ */
+ public String getLocation() {
+ return this.commonAtts.location;
+ }
+
+ /**
* Sets parent binding.
*/
public void setParent(Binding binding) {
@@ -93,8 +100,7 @@
}
classes.put(id, classBinding);
} else {
- // TODO: Improve message to include source location.
- throw new RuntimeException("Class \"" + id + "\" not found.");
+ throw new RuntimeException("Class \"" + id + "\" not found (" + getLocation() + ")");
}
}
return classBinding;
@@ -124,7 +130,7 @@
} else {
containerId = "container \"" + containerId + "\"";
}
- throw new RuntimeException(getClass().getName() + ": Widget \"" +
+ throw new RuntimeException(getClass().getName() + " (" + getLocation() + "): Widget \"" +
id + "\" does not exist in the " + containerId +
" (" + parent.getLocation() + ").");
}
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java?view=diff&rev=125093&p1=cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java&r1=125092&p2=cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java&r2=125093
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java Thu Jan 13 11:56:34 2005
@@ -95,14 +95,15 @@
*/
protected static CommonAttributes getCommonAttributes(Element bindingElm) throws BindingException {
try {
+ String location = DomHelper.getLocation(bindingElm);
//TODO: should we eventually remove this?
//throw an error if people are still using the old-style @read-only or @readonly
if (DomHelper.getAttributeAsBoolean(bindingElm, "readonly", false)) {
- throw new BindingException("Error in binding file " + DomHelper.getLocation(bindingElm)
+ throw new BindingException("Error in binding file " + location
+ "\nThe usage of the attribute @readonly has been deprecated in favour of @direction.");
}
if (DomHelper.getAttributeAsBoolean(bindingElm, "read-only", false)) {
- throw new BindingException("Error in binding file " + DomHelper.getLocation(bindingElm)
+ throw new BindingException("Error in binding file " + location
+ "\nThe usage of the attribute @read-only has been deprecated in favour of @direction.");
}
@@ -110,7 +111,7 @@
String leniency = DomHelper.getAttribute(bindingElm, "lenient", null);
- return new CommonAttributes(direction, leniency);
+ return new CommonAttributes(location, direction, leniency);
} catch (BindingException e) {
throw e;
} catch (Exception e) {
@@ -124,6 +125,11 @@
* actions of a given binding.
*/
protected static class CommonAttributes{
+
+ /**
+ * Source location of this binding.
+ */
+ final String location;
/**
* Flag which controls whether a binding is active during loading.
*/
@@ -134,13 +140,14 @@
final boolean saveEnabled;
final Boolean leniency;
- final static CommonAttributes DEFAULT = new CommonAttributes(true, true, null);
+ final static CommonAttributes DEFAULT = new CommonAttributes("location unknown", true, true, null);
- CommonAttributes(String direction, String leniency){
- this(isLoadEnabled(direction), isSaveEnabled(direction), decideLeniency(leniency));
+ CommonAttributes(String location, String direction, String leniency){
+ this(location, isLoadEnabled(direction), isSaveEnabled(direction), decideLeniency(leniency));
}
- CommonAttributes(boolean loadEnabled, boolean saveEnabled, Boolean leniency){
+ CommonAttributes(String location, boolean loadEnabled, boolean saveEnabled, Boolean leniency){
+ this.location = location;
this.loadEnabled = loadEnabled;
this.saveEnabled = saveEnabled;
this.leniency = leniency;