You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by jb...@apache.org on 2006/02/23 15:46:38 UTC
svn commit: r380132 [2/2] - in
/cocoon/blocks/naming/trunk/java/org/apache/cocoon:
components/naming/EntryManager.java components/naming/LDAPEntryManager.java
transformation/LDAPTransformer.java
Modified: cocoon/blocks/naming/trunk/java/org/apache/cocoon/transformation/LDAPTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/naming/trunk/java/org/apache/cocoon/transformation/LDAPTransformer.java?rev=380132&r1=380131&r2=380132&view=diff
==============================================================================
--- cocoon/blocks/naming/trunk/java/org/apache/cocoon/transformation/LDAPTransformer.java (original)
+++ cocoon/blocks/naming/trunk/java/org/apache/cocoon/transformation/LDAPTransformer.java Thu Feb 23 06:46:27 2006
@@ -41,6 +41,10 @@
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.xml.XMLConsumer;
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang.BooleanUtils;
+import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang.StringUtils;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -80,6 +84,7 @@
* <!ELEMENT searchbase (#PCDATA)>+<br>
* <!ELEMENT doc-element (#PCDATA)>+ (default: "doc-element")<br>
* <!ELEMENT row-element (#PCDATA)>+ (default: "row-element")<br>
+ * <!ELEMENT dn-attribute (#PCDATA)>+ (default: "" meaning no DN attribute)<br>
* <!ELEMENT error-element (#PCDATA)>+ (default: "ldap-error") (in case of error returned error tag)<br>
* <!ELEMENT sax_error (TRUE | FALSE)>+; (default: FALSE) (throws SAX-Exception instead of error tag)<br>
* <!ELEMENT attribute (#PCDATA)><br>
@@ -130,6 +135,7 @@
public static final String MAGIC_PORT_ELEMENT = "port";
public static final String MAGIC_ROOT_DN_ELEMENT = "rootdn";
public static final String MAGIC_ROW_ELEMENT = "row-element";
+ public static final String MAGIC_DN_ATTRIBUTE = "dn-attribute";
public static final String MAGIC_SAX_ERROR = "sax-error";
public static final String MAGIC_SCOPE_ELEMENT = "scope";
public static final String MAGIC_SEARCHBASE_ELEMENT = "searchbase";
@@ -165,9 +171,10 @@
public static final int STATE_INSIDE_SAX_ERROR_ELEMENT = 23;
public static final int STATE_INSIDE_EXECUTE_REPLACE = 24;
public static final int STATE_INSIDE_EXECUTE_ADD = 25;
+ public static final int STATE_INSIDE_DN_ATTRIBUTE = 26;
/** Default parameters that might apply to all queries */
- protected Properties default_properties = new Properties();
+ protected HashMap default_properties = new HashMap();
/** The name of the value element we're currently receiving */
protected String current_name;
@@ -188,120 +195,60 @@
protected XMLConsumer xml_consumer;
protected LexicalHandler lexical_handler;
- /** BEGIN SitemapComponent methods */
+ /** SitemapComponent methods */
public void setup(SourceResolver resolver, Map objectModel, String source, Parameters parameters)
throws ProcessingException, SAXException, IOException {
current_state = STATE_OUTSIDE;
- // Check the initializer
- String parameter = parameters.getParameter(MAGIC_INITIALIZER_ELEMENT, null);
+ setDefaultProperty(parameters, MAGIC_INITIALIZER_ELEMENT); // Check the initializer
+ setDefaultProperty(parameters, MAGIC_VERSION_ELEMENT); // Check the version
+ setDefaultProperty(parameters, MAGIC_AUTHENTICATION_ELEMENT); // Check the authentication
+ setDefaultProperty(parameters, MAGIC_SCOPE_ELEMENT); // Check the scope
+ setDefaultProperty(parameters, MAGIC_SERVERURL_ELEMENT); // Check the serverurl
+ setDefaultProperty(parameters, MAGIC_ROOT_DN_ELEMENT); // Check the ldap-root_dn
+ setDefaultProperty(parameters, MAGIC_PASSWORD_ELEMENT); // Check the ldap-pwd
+ setDefaultProperty(parameters, MAGIC_PORT_ELEMENT); // Check the port
+ setDefaultProperty(parameters, MAGIC_SEARCHBASE_ELEMENT); // Check the searchbase
+ setDefaultProperty(parameters, MAGIC_DOC_ELEMENT); // Check the doc-element
+ setDefaultProperty(parameters, MAGIC_ROW_ELEMENT); // Check the row-element
+ setDefaultProperty(parameters, MAGIC_DN_ATTRIBUTE); // Check the dn-attribute
+ setDefaultProperty(parameters, MAGIC_ERROR_ELEMENT); // Check the error-element
+ setDefaultProperty(parameters, MAGIC_SAX_ERROR); // Check the sax-error
+ setDefaultProperty(parameters, MAGIC_DEREF_LINK_ELEMENT); // Check the deref-link-element
+ setDefaultProperty(parameters, MAGIC_COUNT_LIMIT_ELEMENT); // Check the count-limit-element
+ setDefaultProperty(parameters, MAGIC_TIME_LIMIT_ELEMENT); // Check the time-limit-element
+ setDefaultProperty(parameters, MAGIC_DEBUG_ELEMENT); // Check the debug-element
+ setDefaultProperty(parameters, MAGIC_ENCODING_ELEMENT); // Check the encoding
+ setDefaultProperty(parameters, MAGIC_FILTER_ELEMENT); // Check the filter-element
+ }
+
+ /** My very own methods */
+
+ /* Helper to set default properties */
+ protected void setDefaultProperty(Parameters parameters, String propertyName) {
+ String parameter = parameters.getParameter(propertyName, null);
if (parameter != null) {
- default_properties.setProperty(MAGIC_INITIALIZER_ELEMENT, parameter);
+ default_properties.put(propertyName, parameter);
}
- // Check the version
- parameter = parameters.getParameter(MAGIC_VERSION_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_VERSION_ELEMENT, parameter);
- }
- // Check the authentication
- parameter = parameters.getParameter(MAGIC_AUTHENTICATION_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_AUTHENTICATION_ELEMENT, parameter);
- }
- // Check the scope
- parameter = parameters.getParameter(MAGIC_SCOPE_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_SCOPE_ELEMENT, parameter);
- }
- // Check the serverurl
- parameter = parameters.getParameter(MAGIC_SERVERURL_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_SERVERURL_ELEMENT, parameter);
- }
- // Check the ldap-root_dn
- parameter = parameters.getParameter(MAGIC_ROOT_DN_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_ROOT_DN_ELEMENT, parameter);
- }
- // Check the ldap-pwd
- parameter = parameters.getParameter(MAGIC_PASSWORD_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_PASSWORD_ELEMENT, parameter);
- }
- // Check the port
- parameter = parameters.getParameter(MAGIC_PORT_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_PORT_ELEMENT, parameter);
- }
- // Check the searchbase
- parameter = parameters.getParameter(MAGIC_SEARCHBASE_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_SEARCHBASE_ELEMENT, parameter);
- }
- // Check the doc-element
- parameter = parameters.getParameter(MAGIC_DOC_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_DOC_ELEMENT, parameter);
- }
- // Check the row-element
- parameter = parameters.getParameter(MAGIC_ROW_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_ROW_ELEMENT, parameter);
- }
- // Check the error-element
- parameter = parameters.getParameter(MAGIC_ERROR_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_ERROR_ELEMENT, parameter);
- }
- // Check the sax-error
- parameter = parameters.getParameter(MAGIC_SAX_ERROR, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_SAX_ERROR, parameter);
- }
- // Check the deref-link-element
- parameter = parameters.getParameter(MAGIC_DEREF_LINK_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_DEREF_LINK_ELEMENT, parameter.toUpperCase());
- }
- // Check the count-limit-element
- parameter = parameters.getParameter(MAGIC_COUNT_LIMIT_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_COUNT_LIMIT_ELEMENT, parameter);
- }
- // Check the time-limit-element
- parameter = parameters.getParameter(MAGIC_TIME_LIMIT_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_TIME_LIMIT_ELEMENT, parameter);
- }
- // Check the debug-element
- parameter = parameters.getParameter(MAGIC_DEBUG_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_DEBUG_ELEMENT, parameter);
- }
- // Check the encoding
- parameter = parameters.getParameter(MAGIC_ENCODING_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_ENCODING_ELEMENT, parameter);
- }
- // Check the filter-element
- parameter = parameters.getParameter(MAGIC_FILTER_ELEMENT, null);
- if (parameter != null) {
- default_properties.setProperty(MAGIC_FILTER_ELEMENT, parameter);
- }
-
}
-
- /** END SitemapComponent methods */
-
- /** BEGIN my very own methods */
+
+ /* Helper class to store a new Query in the stack */
+ protected void storeQuery(int nextState) {
+ current_state = nextState;
+ current_query_index = queries.size();
+ LDAPQuery query = new LDAPQuery(this);
+ queries.addElement(query);
+ getCurrentQuery().toDo = nextState;
+ getCurrentQuery().query_index = current_query_index;
+ }
/**
* This will be the meat of LDAPTransformer, where the query is run.
*/
protected void executeQuery(int index) throws SAXException {
this.contentHandler.startPrefixMapping("", LDAPTransformer.my_uri);
- LDAPQuery query = (LDAPQuery) queries.elementAt(index);
+ LDAPQuery query = (LDAPQuery)queries.elementAt(index);
try {
query.execute();
} catch (NamingException e) {
@@ -311,7 +258,6 @@
getLogger().error(e.toString());
throw new SAXException(e);
}
-
this.contentHandler.endPrefixMapping("");
}
@@ -319,198 +265,70 @@
throw new IllegalStateException(my_name + ": " + message);
}
- protected void startExecuteQuery(Attributes attributes) {
- LDAPQuery query;
+ protected void startExecuteElement() {
switch (current_state) {
case LDAPTransformer.STATE_OUTSIDE :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY;
- getCurrentQuery().query_index = current_query_index;
- break;
case LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY;
- getCurrentQuery().query_index = current_query_index;
+ storeQuery(LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY);
break;
default :
throwIllegalStateException("Not expecting a start execute-query element");
}
}
- protected void endExecuteQuery() throws SAXException {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- executeQuery(current_query_index);
- queries.remove(current_query_index);
- --current_query_index;
- if (current_query_index > -1) {
- current_state = getCurrentQuery().toDo;
- } else {
- queries.removeAllElements();
- current_state = LDAPTransformer.STATE_OUTSIDE;
- }
- break;
- default :
- throwIllegalStateException("Not expecting a end execute-query element");
- }
- }
-
- protected void startExecuteIncrement(Attributes attributes) {
- LDAPQuery query;
+ protected void startExecuteElement(int state, String name) {
switch (current_state) {
case LDAPTransformer.STATE_OUTSIDE :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT;
- getCurrentQuery().query_index = current_query_index;
- break;
case LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT;
- getCurrentQuery().query_index = current_query_index;
+ storeQuery(state);
break;
default :
- throwIllegalStateException("Not expecting a start execute-increment element");
+ throwIllegalStateException("Not expecting a start " + name + " element");
}
}
- protected void endExecuteIncrement() throws SAXException {
- switch (current_state) {
- case LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT :
- executeQuery(current_query_index);
- queries.remove(current_query_index);
- --current_query_index;
- if (current_query_index > 1) {
- current_state = getCurrentQuery().toDo;
- } else {
- queries.removeAllElements();
- current_state = LDAPTransformer.STATE_OUTSIDE;
- }
- break;
- default :
- throwIllegalStateException("Not expecting a end execute-increment element");
- }
- }
-
- protected void startExecuteReplace(Attributes attributes) {
- LDAPQuery query;
- switch (current_state) {
- case LDAPTransformer.STATE_OUTSIDE :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_REPLACE;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_REPLACE;
- getCurrentQuery().query_index = current_query_index;
- break;
- case LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_REPLACE;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_REPLACE;
- getCurrentQuery().query_index = current_query_index;
- break;
- default :
- throwIllegalStateException("Not expecting a start execute-replace element");
- }
- }
-
- protected void endExecuteReplace() throws SAXException {
- switch (current_state) {
- case LDAPTransformer.STATE_INSIDE_EXECUTE_REPLACE :
- executeQuery(current_query_index);
- queries.remove(current_query_index);
- --current_query_index;
- if (current_query_index > 1) {
- current_state = getCurrentQuery().toDo;
- } else {
- queries.removeAllElements();
- current_state = LDAPTransformer.STATE_OUTSIDE;
- }
- break;
- default :
- throwIllegalStateException("Not expecting a end execute-replace element");
- }
- }
-
- protected void startExecuteAdd(Attributes attributes) {
- LDAPQuery query;
- switch (current_state) {
- case LDAPTransformer.STATE_OUTSIDE :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_ADD;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_ADD;
- getCurrentQuery().query_index = current_query_index;
- break;
- case LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_EXECUTE_ADD;
- current_query_index = queries.size();
- query = new LDAPQuery(this);
- queries.addElement(query);
- getCurrentQuery().toDo = LDAPTransformer.STATE_INSIDE_EXECUTE_ADD;
- getCurrentQuery().query_index = current_query_index;
- break;
- default :
- throwIllegalStateException("Not expecting a start execute-add element");
+ protected void endExecuteElement(int state, String name) throws SAXException {
+ if (current_state == state) {
+ executeQuery(current_query_index);
+ queries.remove(current_query_index);
+ --current_query_index;
+ if (current_query_index > -1) {
+ current_state = getCurrentQuery().toDo;
+ } else {
+ queries.removeAllElements();
+ current_state = LDAPTransformer.STATE_OUTSIDE;
+ }
+ } else {
+ throwIllegalStateException("Not expecting a end " + name + " element");
}
}
- protected void endExecuteAdd() throws SAXException {
+ protected void startQueryParameterElement(int state, String name) {
switch (current_state) {
- case LDAPTransformer.STATE_INSIDE_EXECUTE_ADD :
- executeQuery(current_query_index);
- queries.remove(current_query_index);
- --current_query_index;
- if (current_query_index > 1) {
- current_state = getCurrentQuery().toDo;
- } else {
- queries.removeAllElements();
- current_state = LDAPTransformer.STATE_OUTSIDE;
- }
+ case STATE_INSIDE_EXECUTE_QUERY :
+ case STATE_INSIDE_EXECUTE_INCREMENT :
+ case STATE_INSIDE_EXECUTE_REPLACE :
+ case STATE_INSIDE_EXECUTE_ADD :
+ current_value.setLength(0);
+ current_state = state;
+ getCurrentQuery().current_state = state;
break;
default :
- throwIllegalStateException("Not expecting a end execute-add element");
+ throwIllegalStateException("Not expecting a start " + name + " element");
}
}
- protected void startInitializerElement(Attributes attributes) {
+ protected void startParameterElement(int state, String name) {
switch (current_state) {
case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
- break;
case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
- break;
case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
- break;
case STATE_INSIDE_EXECUTE_ADD :
current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT;
+ current_state = state;
break;
default :
- throwIllegalStateException("Not expecting a start initializer element");
+ throwIllegalStateException("Not expecting a start " + name + " serverurl element");
}
}
@@ -525,33 +343,6 @@
}
}
- protected void startScopeElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start scope element");
- }
- }
-
protected void endScopeElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT :
@@ -563,33 +354,6 @@
}
}
- protected void startAuthenticationElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start authentication element");
- }
- }
-
protected void endAuthenticationElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT :
@@ -601,29 +365,6 @@
}
}
- protected void startServerurlElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SERVERURL_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SERVERURL_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SERVERURL_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SERVERURL_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start serverurl element");
- }
- }
-
protected void endServerurlElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_SERVERURL_ELEMENT :
@@ -635,29 +376,6 @@
}
}
- protected void startPortElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PORT_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PORT_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PORT_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PORT_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start port element");
- }
- }
-
protected void endPortElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_PORT_ELEMENT :
@@ -672,19 +390,11 @@
protected void startShowAttributeElement(Attributes attributes) {
switch (current_state) {
case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SHOW_ATTRIBUTE_ELEMENT;
- break;
case STATE_INSIDE_EXECUTE_INCREMENT :
+ //case STATE_INSIDE_EXECUTE_REPLACE:
current_value.setLength(0);
current_state = LDAPTransformer.STATE_INSIDE_SHOW_ATTRIBUTE_ELEMENT;
break;
-/*
- case STATE_INSIDE_EXECUTE_REPLACE:
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SHOW_ATTRIBUTE_ELEMENT;
- break;
-*/
default :
throwIllegalStateException("Not expecting a start show-attribute element");
}
@@ -693,7 +403,7 @@
protected void endShowAttributeElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_SHOW_ATTRIBUTE_ELEMENT :
- if (current_value.toString().toUpperCase().equals("FALSE")) {
+ if (!BooleanUtils.toBoolean(current_value.toString())) {
getCurrentQuery().showAttribute = false;
}
current_state = getCurrentQuery().toDo;
@@ -703,29 +413,6 @@
}
}
- protected void startSearchbaseElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SEARCHBASE_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SEARCHBASE_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SEARCHBASE_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SEARCHBASE_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start searchbase element");
- }
- }
-
protected void endSearchbaseElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_SEARCHBASE_ELEMENT :
@@ -737,29 +424,6 @@
}
}
- protected void startDocElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DOC_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DOC_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DOC_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DOC_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start doc-element element");
- }
- }
-
protected void endDocElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_DOC_ELEMENT :
@@ -771,29 +435,6 @@
}
}
- protected void startRowElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROW_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROW_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROW_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROW_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start row-element element");
- }
- }
-
protected void endRowElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_ROW_ELEMENT :
@@ -805,26 +446,14 @@
}
}
- protected void startErrorElement(Attributes attributes) {
+ protected void endDnAttribute() {
switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ERROR_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ERROR_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ERROR_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ERROR_ELEMENT;
+ case LDAPTransformer.STATE_INSIDE_DN_ATTRIBUTE :
+ getCurrentQuery().dn_attribute = current_value.toString();
+ current_state = getCurrentQuery().toDo;
break;
default :
- throwIllegalStateException("Not expecting a start error-element element");
+ throwIllegalStateException("Not expecting a end dn-attribute element");
}
}
@@ -839,29 +468,6 @@
}
}
- protected void startSaxError(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SAX_ERROR_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SAX_ERROR_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SAX_ERROR_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_SAX_ERROR_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start sax-error element");
- }
- }
-
protected void endSaxError() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_SAX_ERROR_ELEMENT :
@@ -875,29 +481,6 @@
}
}
- protected void startRootDnElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROOT_DN_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROOT_DN_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROOT_DN_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_ROOT_DN_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start root-dn element");
- }
- }
-
protected void endRootDnElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_ROOT_DN_ELEMENT :
@@ -909,29 +492,6 @@
}
}
- protected void startPasswordElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PASSWORD_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PASSWORD_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PASSWORD_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_PASSWORD_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start password element");
- }
- }
-
protected void endPasswordElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_PASSWORD_ELEMENT :
@@ -946,9 +506,6 @@
protected void startAttributeElement(Attributes attributes) {
switch (current_state) {
case STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_ATTRIBUTE_ELEMENT;
- current_value.setLength(0);
- break;
case STATE_INSIDE_EXECUTE_INCREMENT :
current_state = LDAPTransformer.STATE_INSIDE_ATTRIBUTE_ELEMENT;
current_value.setLength(0);
@@ -1022,29 +579,6 @@
}
}
- protected void startVersionElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_VERSION_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_state = LDAPTransformer.STATE_INSIDE_VERSION_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_state = LDAPTransformer.STATE_INSIDE_VERSION_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_state = LDAPTransformer.STATE_INSIDE_VERSION_ELEMENT;
- current_value.setLength(0);
- break;
- default :
- throwIllegalStateException("Not expecting a start version element");
- }
- }
-
protected void endVersionElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_VERSION_ELEMENT :
@@ -1059,20 +593,8 @@
protected void startFilterElement(Attributes attributes) {
switch (current_state) {
case STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
- current_value.setLength(0);
- break;
case STATE_INSIDE_EXECUTE_INCREMENT :
- current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
- current_value.setLength(0);
- break;
case STATE_INSIDE_EXECUTE_REPLACE :
- current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
- getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
- current_value.setLength(0);
- break;
case STATE_INSIDE_EXECUTE_ADD :
current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
getCurrentQuery().current_state = LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT;
@@ -1094,35 +616,10 @@
}
}
- protected void startDerefLinkElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_DEREF_LINK_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_state = LDAPTransformer.STATE_INSIDE_DEREF_LINK_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_state = LDAPTransformer.STATE_INSIDE_DEREF_LINK_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_state = LDAPTransformer.STATE_INSIDE_DEREF_LINK_ELEMENT;
- current_value.setLength(0);
- break;
- default :
- throwIllegalStateException("Not expecting a start deref-link element");
- }
- }
-
protected void endDerefLinkElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_DEREF_LINK_ELEMENT :
- if (current_value.toString().toUpperCase().equals("TRUE")) {
- getCurrentQuery().deref_link = true;
- }
+ getCurrentQuery().deref_link = BooleanUtils.toBoolean(current_value.toString());
current_state = getCurrentQuery().toDo;
break;
default :
@@ -1130,29 +627,6 @@
}
}
- protected void startCountLimitElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_COUNT_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_state = LDAPTransformer.STATE_INSIDE_COUNT_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_state = LDAPTransformer.STATE_INSIDE_COUNT_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_state = LDAPTransformer.STATE_INSIDE_COUNT_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- default :
- throwIllegalStateException("Not expecting a start count-limit element");
- }
- }
-
protected void endCountLimitElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_COUNT_LIMIT_ELEMENT :
@@ -1164,29 +638,6 @@
}
}
- protected void startTimeLimitElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_state = LDAPTransformer.STATE_INSIDE_TIME_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_state = LDAPTransformer.STATE_INSIDE_TIME_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_state = LDAPTransformer.STATE_INSIDE_TIME_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_state = LDAPTransformer.STATE_INSIDE_TIME_LIMIT_ELEMENT;
- current_value.setLength(0);
- break;
- default :
- throwIllegalStateException("Not expecting a start time-limit element");
- }
- }
-
protected void endTimeLimitElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_TIME_LIMIT_ELEMENT :
@@ -1198,35 +649,10 @@
}
}
- protected void startDebugElement(Attributes attributes) {
- switch (current_state) {
- case STATE_INSIDE_EXECUTE_QUERY :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DEBUG_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_INCREMENT :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DEBUG_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_REPLACE :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DEBUG_ELEMENT;
- break;
- case STATE_INSIDE_EXECUTE_ADD :
- current_value.setLength(0);
- current_state = LDAPTransformer.STATE_INSIDE_DEBUG_ELEMENT;
- break;
- default :
- throwIllegalStateException("Not expecting a start debug element");
- }
- }
-
protected void endDebugElement() {
switch (current_state) {
case LDAPTransformer.STATE_INSIDE_DEBUG_ELEMENT :
- if (current_value.toString().toUpperCase().equals("TRUE")) {
- getCurrentQuery().debug = true;
- }
+ getCurrentQuery().debug = BooleanUtils.toBoolean(current_value.toString());
current_state = getCurrentQuery().toDo;
break;
default :
@@ -1235,11 +661,11 @@
}
protected LDAPQuery getCurrentQuery() {
- return (LDAPQuery) queries.elementAt(current_query_index);
+ return (LDAPQuery)queries.elementAt(current_query_index);
}
protected LDAPQuery getQuery(int i) {
- return (LDAPQuery) queries.elementAt(i);
+ return (LDAPQuery)queries.elementAt(i);
}
/** END my very own methods */
@@ -1263,53 +689,55 @@
getLogger().debug("RECEIVED START ELEMENT " + name + "(" + uri + ")");
if (name.equals(LDAPTransformer.MAGIC_EXECUTE_QUERY)) {
- startExecuteQuery(attributes);
+ startExecuteElement();
} else if (name.equals(LDAPTransformer.MAGIC_EXECUTE_INCREMENT)) {
- startExecuteIncrement(attributes);
+ startExecuteElement(LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_INITIALIZER_ELEMENT)) {
- startInitializerElement(attributes);
+ startQueryParameterElement(LDAPTransformer.STATE_INSIDE_INITIALIZER_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_AUTHENTICATION_ELEMENT)) {
- startAuthenticationElement(attributes);
+ startQueryParameterElement(LDAPTransformer.STATE_INSIDE_AUTHENTICATION_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_SCOPE_ELEMENT)) {
- startScopeElement(attributes);
+ startQueryParameterElement(LDAPTransformer.STATE_INSIDE_SCOPE_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_VERSION_ELEMENT)) {
- startVersionElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_VERSION_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_SERVERURL_ELEMENT)) {
- startServerurlElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_SERVERURL_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_PORT_ELEMENT)) {
- startPortElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_PORT_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_DOC_ELEMENT)) {
- startDocElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_DOC_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_ROW_ELEMENT)) {
- startRowElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_ROW_ELEMENT, name);
+ } else if (name.equals(LDAPTransformer.MAGIC_DN_ATTRIBUTE)) {
+ startParameterElement(LDAPTransformer.STATE_INSIDE_DN_ATTRIBUTE, name);
} else if (name.equals(LDAPTransformer.MAGIC_ERROR_ELEMENT)) {
- startErrorElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_ERROR_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_SAX_ERROR)) {
- startSaxError(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_SAX_ERROR_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_ROOT_DN_ELEMENT)) {
- startRootDnElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_ROOT_DN_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_PASSWORD_ELEMENT)) {
- startPasswordElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_PASSWORD_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_ATTRIBUTE_ELEMENT)) {
startAttributeElement(attributes);
} else if (name.equals(LDAPTransformer.MAGIC_SHOW_ATTRIBUTE_ELEMENT)) {
startShowAttributeElement(attributes);
} else if (name.equals(LDAPTransformer.MAGIC_SEARCHBASE_ELEMENT)) {
- startSearchbaseElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_SEARCHBASE_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_FILTER_ELEMENT)) {
startFilterElement(attributes);
} else if (name.equals(LDAPTransformer.MAGIC_DEREF_LINK_ELEMENT)) {
- startDerefLinkElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_DEREF_LINK_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_COUNT_LIMIT_ELEMENT)) {
- startCountLimitElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_COUNT_LIMIT_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_TIME_LIMIT_ELEMENT)) {
- startTimeLimitElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_TIME_LIMIT_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_DEBUG_ELEMENT)) {
- startDebugElement(attributes);
+ startParameterElement(LDAPTransformer.STATE_INSIDE_DEBUG_ELEMENT, name);
} else if (name.equals(LDAPTransformer.MAGIC_EXECUTE_REPLACE)) {
- startExecuteReplace(attributes);
+ startExecuteElement(LDAPTransformer.STATE_INSIDE_EXECUTE_REPLACE, LDAPTransformer.MAGIC_EXECUTE_REPLACE);
} else if (name.equals(LDAPTransformer.MAGIC_EXECUTE_ADD)) {
- startExecuteAdd(attributes);
+ startExecuteElement(LDAPTransformer.STATE_INSIDE_EXECUTE_ADD, LDAPTransformer.MAGIC_EXECUTE_ADD);
}
}
@@ -1318,12 +746,14 @@
super.endElement(uri, name, raw);
return;
}
- getLogger().debug("RECEIVED END ELEMENT " + name + "(" + uri + ")");
+ if (getLogger().isDebugEnabled()) {
+ getLogger().debug("RECEIVED END ELEMENT " + name + "(" + uri + ")");
+ }
if (name.equals(LDAPTransformer.MAGIC_EXECUTE_QUERY)) {
- endExecuteQuery();
+ endExecuteElement(LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY, LDAPTransformer.MAGIC_EXECUTE_QUERY);
} else if (name.equals(LDAPTransformer.MAGIC_EXECUTE_INCREMENT)) {
- endExecuteIncrement();
+ endExecuteElement(LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT, LDAPTransformer.MAGIC_EXECUTE_INCREMENT);
} else if (name.equals(LDAPTransformer.MAGIC_INITIALIZER_ELEMENT)) {
endInitializerElement();
} else if (name.equals(LDAPTransformer.MAGIC_AUTHENTICATION_ELEMENT)) {
@@ -1340,6 +770,8 @@
endDocElement();
} else if (name.equals(LDAPTransformer.MAGIC_ROW_ELEMENT)) {
endRowElement();
+ } else if (name.equals(LDAPTransformer.MAGIC_DN_ATTRIBUTE)) {
+ endDnAttribute();
} else if (name.equals(LDAPTransformer.MAGIC_ERROR_ELEMENT)) {
endErrorElement();
} else if (name.equals(LDAPTransformer.MAGIC_SAX_ERROR)) {
@@ -1365,9 +797,9 @@
} else if (name.equals(LDAPTransformer.MAGIC_DEBUG_ELEMENT)) {
endDebugElement();
} else if (name.equals(LDAPTransformer.MAGIC_EXECUTE_REPLACE)) {
- endExecuteReplace();
+ endExecuteElement(LDAPTransformer.STATE_INSIDE_EXECUTE_REPLACE, LDAPTransformer.MAGIC_EXECUTE_REPLACE);
} else if (name.equals(LDAPTransformer.MAGIC_EXECUTE_ADD)) {
- endExecuteAdd();
+ endExecuteElement(LDAPTransformer.STATE_INSIDE_EXECUTE_ADD, LDAPTransformer.MAGIC_EXECUTE_ADD);
}
}
@@ -1380,6 +812,7 @@
&& current_state != LDAPTransformer.STATE_INSIDE_PORT_ELEMENT
&& current_state != LDAPTransformer.STATE_INSIDE_DOC_ELEMENT
&& current_state != LDAPTransformer.STATE_INSIDE_ROW_ELEMENT
+ && current_state != LDAPTransformer.STATE_INSIDE_DN_ATTRIBUTE
&& current_state != LDAPTransformer.STATE_INSIDE_ERROR_ELEMENT
&& current_state != LDAPTransformer.STATE_INSIDE_SAX_ERROR_ELEMENT
&& current_state != LDAPTransformer.STATE_INSIDE_ROOT_DN_ELEMENT
@@ -1394,7 +827,9 @@
&& current_state != LDAPTransformer.STATE_INSIDE_SEARCHBASE_ELEMENT) {
super.characters(ary, start, length);
}
- getLogger().debug("RECEIVED CHARACTERS: " + new String(ary, start, length));
+ if (getLogger().isDebugEnabled()) {
+ getLogger().debug("RECEIVED CHARACTERS: " + new String(ary, start, length));
+ }
current_value.append(ary, start, length);
}
@@ -1414,22 +849,14 @@
}
protected static String getStringValue(Object object) {
- if (object instanceof byte[]) {
- return new String((byte[]) object);
- } else if (object instanceof char[]) {
- return new String((char[]) object);
- } else if (object != null) {
- return object.toString();
- } else {
- return "";
- }
+ return ObjectUtils.toString(object);
}
public final Logger getTheLogger() {
return getLogger();
}
- class LDAPQuery {
+ static class LDAPQuery {
/** What index are you in daddy's queries list */
protected int query_index;
@@ -1441,16 +868,16 @@
protected LDAPTransformer transformer;
/** LDAP configuration information */
- protected String initializer = "com.sun.jndi.ldap.LdapCtxFactory";
- protected String serverurl = "localhost";
- protected int port = 389;
- protected String root_dn = "";
- protected String password = "";
- protected String version = "2";
- protected String scope = "ONELEVEL_SCOPE";
- protected String authentication = "simple";
- private final String LDAP_ENCODING = "ISO-8859-1";
- protected String encoding = LDAP_ENCODING;
+ protected String initializer;
+ protected String serverurl;
+ protected int port;
+ protected String root_dn;
+ protected String password;
+ protected String version;
+ protected String scope;
+ protected String authentication;
+ private final static String LDAP_ENCODING = "ISO-8859-1";
+ protected String encoding;
/** LDAP environment information */
protected Properties env = new Properties();
@@ -1458,94 +885,62 @@
/** LDAP Query */
protected int toDo;
- protected String searchbase = "";
+ protected String searchbase;
protected List attrModeVal = new LinkedList();
protected List attrListe = new LinkedList();
protected List attrVale = new LinkedList();
- protected String REPLACE_MODE_DEFAULT = "";
- protected String REPLACE_MODE_APPEND = "";
- protected boolean showAttribute = true;
- protected String filter = "";
- protected String doc_element = "doc-element";
+ protected String REPLACE_MODE_DEFAULT = StringUtils.defaultString(LDAPTransformer.MAGIC_ATTRIBUTE_ELEMENT_MODE_ATTRIBUTE_DEFAULT);
+ protected String REPLACE_MODE_APPEND = StringUtils.defaultString(LDAPTransformer.MAGIC_ATTRIBUTE_ELEMENT_MODE_ATTRIBUTE_VALUE_A);
+ protected boolean showAttribute;
+ protected String filter;
+ protected String doc_element;
protected String exec_element = "exec-element";
- protected String row_element = "row-element";
- protected String error_element = "ldap-error";
- protected boolean sax_error = false;
- protected boolean deref_link = false;
- // Dereference: true -> dereference the link during search
- protected long count_limit = 0; // Maximum number of entries to return: 0 -> no limit
- protected int time_limit = 0;
- // Number of milliseconds to wait before return: 0 -> infinite
- protected boolean debug = false;
+ protected String row_element;
+ protected String dn_attribute;
+ protected String error_element;
+ protected boolean sax_error;
+ protected boolean deref_link; // Dereference: true -> dereference the link during search
+ protected long count_limit; // Maximum number of entries to return: 0 -> no limit
+ protected int time_limit; // Number of milliseconds to wait before return: 0 -> infinite
+ protected boolean debug;
protected LDAPQuery(LDAPTransformer transformer) {
this.transformer = transformer;
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_INITIALIZER_ELEMENT)) {
- initializer = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_INITIALIZER_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SERVERURL_ELEMENT)) {
- serverurl = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SERVERURL_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_PORT_ELEMENT)) {
- port = Integer.parseInt(transformer.default_properties.getProperty(LDAPTransformer.MAGIC_PORT_ELEMENT));
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ROOT_DN_ELEMENT)) {
- root_dn = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ROOT_DN_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_PASSWORD_ELEMENT)) {
- password = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_PASSWORD_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_VERSION_ELEMENT)) {
- version = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_VERSION_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SCOPE_ELEMENT)) {
- scope = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SCOPE_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_AUTHENTICATION_ELEMENT)) {
- authentication = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_AUTHENTICATION_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SEARCHBASE_ELEMENT)) {
- searchbase = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SEARCHBASE_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SHOW_ATTRIBUTE_ELEMENT)) {
- showAttribute = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SHOW_ATTRIBUTE_ELEMENT).equals("FALSE") ? false : true;
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_DOC_ELEMENT)) {
- doc_element = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_DOC_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ROW_ELEMENT)) {
- row_element = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ROW_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ERROR_ELEMENT)) {
- error_element = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ERROR_ELEMENT);
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SAX_ERROR)) {
- sax_error = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_SAX_ERROR).equals("TRUE") ? true : false;
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_DEREF_LINK_ELEMENT)) {
- deref_link = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_DEREF_LINK_ELEMENT).equals("TRUE") ? true : false;
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_COUNT_LIMIT_ELEMENT)) {
- count_limit = Long.parseLong(transformer.default_properties.getProperty(LDAPTransformer.MAGIC_COUNT_LIMIT_ELEMENT));
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_TIME_LIMIT_ELEMENT)) {
- time_limit = Integer.parseInt(transformer.default_properties.getProperty(LDAPTransformer.MAGIC_TIME_LIMIT_ELEMENT));
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_DEBUG_ELEMENT)) {
- debug = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_DEBUG_ELEMENT).equals("TRUE") ? true : false;
- }
- if (null != transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ENCODING_ELEMENT)) {
- encoding = transformer.default_properties.getProperty(LDAPTransformer.MAGIC_ENCODING_ELEMENT);
- }
- if (null != LDAPTransformer.MAGIC_ATTRIBUTE_ELEMENT_MODE_ATTRIBUTE_VALUE_A) {
- REPLACE_MODE_APPEND = LDAPTransformer.MAGIC_ATTRIBUTE_ELEMENT_MODE_ATTRIBUTE_VALUE_A;
- }
- if (null != LDAPTransformer.MAGIC_ATTRIBUTE_ELEMENT_MODE_ATTRIBUTE_DEFAULT) {
- REPLACE_MODE_DEFAULT = LDAPTransformer.MAGIC_ATTRIBUTE_ELEMENT_MODE_ATTRIBUTE_DEFAULT;
- }
- if (null != transformer.default_properties.getProperty(MAGIC_FILTER_ELEMENT)) {
- filter = transformer.default_properties.getProperty(MAGIC_FILTER_ELEMENT);
- }
+ initializer = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_INITIALIZER_ELEMENT, "com.sun.jndi.ldap.LdapCtxFactory");
+ serverurl = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_SERVERURL_ELEMENT, "localhost");
+ port = MapUtils.getIntValue(transformer.default_properties, LDAPTransformer.MAGIC_PORT_ELEMENT, 389);
+ root_dn = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_ROOT_DN_ELEMENT, "");
+ password = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_PASSWORD_ELEMENT, "");
+ version = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_VERSION_ELEMENT, "2");
+ scope = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_SCOPE_ELEMENT, "ONELEVEL_SCOPE");
+ authentication = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_AUTHENTICATION_ELEMENT, "simple");
+ searchbase = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_SEARCHBASE_ELEMENT, "");
+ showAttribute = MapUtils.getBooleanValue(transformer.default_properties, LDAPTransformer.MAGIC_SHOW_ATTRIBUTE_ELEMENT, true);
+ doc_element = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_DOC_ELEMENT, "doc-element");
+ row_element = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_ROW_ELEMENT, "row-element");
+ dn_attribute = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_DN_ATTRIBUTE, "");
+ error_element = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_ERROR_ELEMENT, "ldap-error");
+ sax_error = MapUtils.getBooleanValue(transformer.default_properties, LDAPTransformer.MAGIC_SAX_ERROR);
+ deref_link = MapUtils.getBooleanValue(transformer.default_properties, LDAPTransformer.MAGIC_DEREF_LINK_ELEMENT);
+ count_limit = MapUtils.getLongValue(transformer.default_properties, LDAPTransformer.MAGIC_DEREF_LINK_ELEMENT);
+ time_limit = MapUtils.getIntValue(transformer.default_properties, LDAPTransformer.MAGIC_TIME_LIMIT_ELEMENT);
+ debug = MapUtils.getBooleanValue(transformer.default_properties, LDAPTransformer.MAGIC_DEBUG_ELEMENT);
+ encoding = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_ENCODING_ELEMENT, LDAP_ENCODING);
+ filter = MapUtils.getString(transformer.default_properties, LDAPTransformer.MAGIC_FILTER_ELEMENT, "");
+ }
+
+ /** shared constraints initialization */
+ protected void initConstraints(SearchControls constraints) {
+ if (scope.equals("OBJECT_SCOPE")) {
+ constraints.setSearchScope(SearchControls.OBJECT_SCOPE);
+ } else if (scope.equals("SUBTREE_SCOPE")) {
+ constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
+ } else {
+ constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);
+ }
+ constraints.setTimeLimit(time_limit);
+ constraints.setDerefLinkFlag(deref_link);
+ constraints.setCountLimit(count_limit);
}
protected void execute() throws Exception, NamingException {
@@ -1563,16 +958,7 @@
switch (toDo) {
case LDAPTransformer.STATE_INSIDE_EXECUTE_QUERY :
try {
- if (scope.equals("OBJECT_SCOPE")) {
- constraints.setSearchScope(SearchControls.OBJECT_SCOPE);
- } else if (scope.equals("SUBTREE_SCOPE")) {
- constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
- } else {
- constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);
- }
- constraints.setTimeLimit(time_limit);
- constraints.setDerefLinkFlag(deref_link);
- constraints.setCountLimit(count_limit);
+ initConstraints(constraints);
if (attrList.length > 0) {
constraints.setReturningAttributes(attrList);
}
@@ -1585,10 +971,18 @@
NamingEnumeration ldapresults = ctx.search(searchbase, filter, constraints);
while (ldapresults != null && ldapresults.hasMore()) {
+ SearchResult si = (SearchResult) ldapresults.next();
if (!row_element.equals("")) {
+ if(!"".equals(dn_attribute)) {
+ String dn;
+ if(!"".equals(searchbase))
+ dn = si.getName() + ',' + searchbase;
+ else
+ dn = si.getName();
+ attr.addAttribute(null, dn_attribute, dn_attribute, "CDATA", dn);
+ }
transformer.start(row_element, attr);
}
- SearchResult si = (SearchResult) ldapresults.next();
javax.naming.directory.Attributes attrs = si.getAttributes();
if (attrs != null) {
NamingEnumeration ae = attrs.getAll();
@@ -1604,10 +998,12 @@
if (query_index > 0) {
switch (transformer.getQuery(query_index - 1).current_state) {
case LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT :
- if (!transformer.getQuery(query_index - 1).filter.equals("")) {
- transformer.getQuery(query_index - 1).filter.concat(", ");
+ StringBuffer temp = new StringBuffer(transformer.getQuery(query_index - 1).filter);
+ if (temp.length() > 0) {
+ temp.append(", ");
}
- transformer.getQuery(query_index - 1).filter.concat(attrID).concat("=").concat(attrVal);
+ temp.append(attrID).append("=").append(attrVal);
+ transformer.getQuery(query_index - 1).filter = temp.toString();
break;
default :
transformer.start(attrID, attr);
@@ -1635,6 +1031,9 @@
transformer.start(doc_element, attr);
}
if (!row_element.equals("")) {
+ if(!"".equals(dn_attribute)) {
+ attr.addAttribute(null, dn_attribute, dn_attribute, "CDATA", searchbase);
+ }
transformer.start(row_element, attr);
}
if (attrs != null) {
@@ -1652,10 +1051,12 @@
if (query_index > 0) {
switch (transformer.getQuery(query_index - 1).current_state) {
case LDAPTransformer.STATE_INSIDE_FILTER_ELEMENT :
- if (!transformer.getQuery(query_index - 1).filter.equals("")) {
- transformer.getQuery(query_index - 1).filter.concat(", ");
+ StringBuffer temp = new StringBuffer(transformer.getQuery(query_index - 1).filter);
+ if (temp.length() > 0) {
+ temp.append(", ");
}
- transformer.getQuery(query_index - 1).filter.concat(attrID).concat("=").concat(attrVal);
+ temp.append(attrID).append("=").append(attrVal);
+ transformer.getQuery(query_index - 1).filter = temp.toString();
break;
default :
transformer.start(attrID, attr);
@@ -1689,16 +1090,7 @@
break;
case LDAPTransformer.STATE_INSIDE_EXECUTE_INCREMENT :
try {
- if (scope.equals("OBJECT_SCOPE")) {
- constraints.setSearchScope(SearchControls.OBJECT_SCOPE);
- } else if (scope.equals("SUBTREE_SCOPE")) {
- constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
- } else {
- constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);
- }
- constraints.setTimeLimit(time_limit);
- constraints.setDerefLinkFlag(deref_link);
- constraints.setCountLimit(count_limit);
+ initConstraints(constraints);
if (attrList.length != 1) {
transformer.start(error_element, attr);
transformer.data("Increment must reference exactly 1 attribute.");
@@ -1774,16 +1166,7 @@
attrModeMap.put(attrList[i], attrMode[i]);
}
- if (scope.equals("OBJECT_SCOPE")) {
- constraints.setSearchScope(SearchControls.OBJECT_SCOPE);
- } else if (scope.equals("SUBTREE_SCOPE")) {
- constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
- } else {
- constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);
- }
- constraints.setTimeLimit(time_limit);
- constraints.setDerefLinkFlag(deref_link);
- constraints.setCountLimit(count_limit);
+ initConstraints(constraints);
if (attrList.length < 1) {
transformer.start(error_element, attr);
transformer.data("Modify must reference 1 or more attribute.");
@@ -1792,7 +1175,6 @@
if (!filter.equals("")) {
constraints.setReturningAttributes(attrList);
NamingEnumeration ldapresults = ctx.search(searchbase, filter, constraints);
- String attrID = "";
SearchResult si = null;
/* start indicate element of executing query */
if (!exec_element.equals("")) {
@@ -1810,7 +1192,7 @@
while (ae.hasMoreElements()) {
Attribute at = (Attribute) ae.next();
Enumeration vals = at.getAll();
- attrID = at.getID();
+ String attrID = at.getID();
ModificationItem[] mods = new ModificationItem[1];
replaceMode = (String) attrModeMap.get(attrID);
@@ -1818,7 +1200,7 @@
String newAttrValue = "";
/* Check the replacing method */
if (replaceMode.equals(REPLACE_MODE_DEFAULT)) {
- newAttrValue = (String) attrMap.get(attrID);
+ newAttrValue = (String)attrMap.get(attrID);
} else if (replaceMode.equals(REPLACE_MODE_APPEND)) {
newAttrValue = attrValue + (String) attrMap.get(attrID);
}
@@ -1829,15 +1211,12 @@
// Perform the requested modifications on the named object
ctx.modifyAttributes(
- new StringBuffer(si.toString().substring(0, si.toString().indexOf(":")))
- .append(",")
- .append(searchbase)
- .toString(),
- mods);
+ si.toString().substring(0, si.toString().indexOf(":")) + "," + searchbase,
+ mods);
/* confirm of success */
transformer.start(attrID, attr);
- transformer.data(new String("replaced"));
+ transformer.data("replaced");
transformer.end(attrID);
}
}
@@ -1853,7 +1232,6 @@
} else {
//filter is not present
javax.naming.directory.Attributes attrs = ctx.getAttributes(searchbase, attrList);
- String attrID = "";
/* start indicate element of executing query */
if (!exec_element.equals("")) {
transformer.start(exec_element, attr);
@@ -1861,13 +1239,12 @@
if (!row_element.equals("")) {
transformer.start(row_element, attr);
}
-
if (attrs != null) {
NamingEnumeration ae = attrs.getAll();
while (ae.hasMoreElements()) {
Attribute at = (Attribute) ae.next();
Enumeration vals = at.getAll();
- attrID = at.getID();
+ String attrID = at.getID();
ModificationItem[] mods = new ModificationItem[1];
replaceMode = (String) attrModeMap.get(attrID);
@@ -1890,7 +1267,7 @@
/* confirm of success */
transformer.start(attrID, attr);
- transformer.data(new String("replaced"));
+ transformer.data("replaced");
transformer.end(attrID);
}
}
@@ -1939,16 +1316,7 @@
for (int i = 0; i < attrVal.length; i++)
attrMap.put(attrList[i], attrVal[i]);
- if (scope.equals("OBJECT_SCOPE")) {
- constraints.setSearchScope(SearchControls.OBJECT_SCOPE);
- } else if (scope.equals("SUBTREE_SCOPE")) {
- constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
- } else {
- constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);
- }
- constraints.setTimeLimit(time_limit);
- constraints.setDerefLinkFlag(deref_link);
- constraints.setCountLimit(count_limit);
+ initConstraints(constraints);
if (attrList.length < 1) {
transformer.start(error_element, attr);
transformer.data("Modify must reference 1 or more attribute.");
@@ -1957,7 +1325,6 @@
if (!filter.equals("")) {
constraints.setReturningAttributes(attrList);
NamingEnumeration ldapresults = ctx.search(searchbase, filter, constraints);
- String attrID = "";
SearchResult si = null;
/* start indicate element of executing query */
if (!exec_element.equals("")) {
@@ -1975,7 +1342,7 @@
NamingEnumeration ae = attrs.getAll();
while (ae.hasMoreElements()) {
Attribute at = (Attribute) ae.next();
- attrID = at.getID();
+ String attrID = at.getID();
// Specify the changes to make
ModificationItem[] mods = new ModificationItem[1];
@@ -1992,14 +1359,14 @@
/* confirm of success */
transformer.start(attrID, attr);
- transformer.data(new String("replaced"));
+ transformer.data("replaced");
transformer.end(attrID);
/* Remove the attribute from map after replacing */
attrMap.remove(attrID);
}
}
/* Add the attributes */
- if (attrMap.size() > 0) {
+ if (!attrMap.isEmpty()) {
ModificationItem[] mods = new ModificationItem[1];
for (int i = 0; i < attrList.length; i++) {
if (attrMap.containsKey(attrList[i])) {
@@ -2016,7 +1383,7 @@
/* confirm of success */
transformer.start(attrList[i], attr);
- transformer.data(new String("add"));
+ transformer.data("add");
transformer.end(attrList[i]);
}
}
@@ -2024,7 +1391,6 @@
if (!row_element.equals("")) {
transformer.end(row_element);
}
-
}
if (!exec_element.equals("")) {
transformer.end(exec_element);
@@ -2032,7 +1398,6 @@
} else {
//filter is not present
javax.naming.directory.Attributes attrs = ctx.getAttributes(searchbase, attrList);
- String attrID = "";
/* start indicate element of executing query */
if (!exec_element.equals("")) {
transformer.start(exec_element, attr);
@@ -2045,7 +1410,7 @@
NamingEnumeration ae = attrs.getAll();
while (ae.hasMoreElements()) {
Attribute at = (Attribute) ae.next();
- attrID = at.getID();
+ String attrID = at.getID();
// Specify the changes to make
ModificationItem[] mods = new ModificationItem[1];
@@ -2057,15 +1422,14 @@
/* confirm of success */
transformer.start(attrID, attr);
- transformer.data(new String("replaced"));
+ transformer.data("replaced");
transformer.end(attrID);
/* Remove the attribute from map after replacing */
attrMap.remove(attrID);
-
}
}
/* Add the attributes */
- if (attrMap.size() > 0) {
+ if (!attrMap.isEmpty()) {
ModificationItem[] mods = new ModificationItem[1];
for (int i = 0; i < attrList.length; i++) {
if (attrMap.containsKey(attrList[i])) {
@@ -2076,16 +1440,14 @@
ctx.modifyAttributes(searchbase, mods);
/* confirm of success */
transformer.start(attrList[i], attr);
- transformer.data(new String("add"));
+ transformer.data("add");
transformer.end(attrList[i]);
}
}
}
-
if (!row_element.equals("")) {
transformer.end(row_element);
}
-
/* end indicate element of executing query */
if (!exec_element.equals("")) {
transformer.end(exec_element);
@@ -2109,7 +1471,6 @@
}
}
break;
-
default :
} //end switch
} catch (NamingException e) {
@@ -2181,27 +1542,30 @@
}
protected void debugPrint() {
- transformer.getTheLogger().debug("[LDAPTransformer] query_index: " + query_index);
- transformer.getTheLogger().debug("[LDAPTransformer] current_state: " + current_state);
- transformer.getTheLogger().debug("[LDAPTransformer] serverurl: " + serverurl);
- transformer.getTheLogger().debug("[LDAPTransformer] port: " + port);
- transformer.getTheLogger().debug("[LDAPTransformer] root_dn: " + root_dn);
- transformer.getTheLogger().debug("[LDAPTransformer] password: " + password);
- transformer.getTheLogger().debug("[LDAPTransformer] version: " + version);
- transformer.getTheLogger().debug("[LDAPTransformer] scope: " + scope);
- transformer.getTheLogger().debug("[LDAPTransformer] authentication: " + authentication);
- transformer.getTheLogger().debug("[LDAPTransformer] toDo: " + toDo);
- transformer.getTheLogger().debug("[LDAPTransformer] searchbase: " + searchbase);
- transformer.getTheLogger().debug("[LDAPTransformer] showAttribute: " + showAttribute);
- transformer.getTheLogger().debug("[LDAPTransformer] attribute: " + attrListe.toString());
- transformer.getTheLogger().debug("[LDAPTransformer] filter: " + filter);
- transformer.getTheLogger().debug("[LDAPTransformer] doc_element: " + doc_element);
- transformer.getTheLogger().debug("[LDAPTransformer] row_element: " + row_element);
- transformer.getTheLogger().debug("[LDAPTransformer] error_element: " + error_element);
- transformer.getTheLogger().debug("[LDAPTransformer] sax-error: " + sax_error);
- transformer.getTheLogger().debug("[LDAPTransformer] deref_link: " + deref_link);
- transformer.getTheLogger().debug("[LDAPTransformer] count_limit: " + count_limit);
[... 29 lines stripped ...]