You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2007/04/10 15:03:47 UTC

svn commit: r527123 - in /directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2: reponse/BatchResponseDsml.java request/BatchRequest.java request/BatchRequestDsml.java

Author: pamarcelot
Date: Tue Apr 10 06:03:46 2007
New Revision: 527123

URL: http://svn.apache.org/viewvc?view=rev&rev=527123
Log:
Added new BatchResponseDsml and BatchRequestDsml classes that can be used to generate DSMLv2 code.

Added:
    directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/reponse/BatchResponseDsml.java
    directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequestDsml.java
Modified:
    directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequest.java

Added: directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/reponse/BatchResponseDsml.java
URL: http://svn.apache.org/viewvc/directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/reponse/BatchResponseDsml.java?view=auto&rev=527123
==============================================================================
--- directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/reponse/BatchResponseDsml.java (added)
+++ directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/reponse/BatchResponseDsml.java Tue Apr 10 06:03:46 2007
@@ -0,0 +1,96 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.ldapstudio.dsmlv2.reponse;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.ldapstudio.dsmlv2.DsmlDecorator;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+
+/**
+ * This class represents the Batch Response. It can be used to generate an the XML String of a BatchResponse.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class BatchResponseDsml
+{
+    /** The Responses list */
+    private List<DsmlDecorator> responses;
+
+
+    /**
+     * Creates a new instance of BatchResponseDsml.
+     */
+    public BatchResponseDsml()
+    {
+        responses = new ArrayList<DsmlDecorator>();
+    }
+
+
+    /**
+     * Adds a request to the Batch Response DSML.
+     *
+     * @param response
+     *      the request to add
+     * @return
+     *      true (as per the general contract of the Collection.add method).
+     */
+    public boolean addResponse( DsmlDecorator response )
+    {
+        return responses.add( response );
+    }
+
+
+    /**
+     * Removes a request from the Batch Response DSML.
+     *
+     * @param response
+     *      the request to remove
+     * @return
+     *      true if this list contained the specified element.
+     */
+    public boolean removeResponse( DsmlDecorator response )
+    {
+        return responses.remove( response );
+    }
+
+
+    /**
+     * Converts the Batch Response to its XML representation in the DSMLv2 format.
+     */
+    public String toDsml()
+    {
+        Document document = DocumentHelper.createDocument();
+        Element element = document.addElement( "batchResponse" );
+
+        for ( DsmlDecorator response : responses )
+        {
+            response.toDsml( element );
+        }
+
+        return document.asXML();
+    }
+}

Modified: directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequest.java
URL: http://svn.apache.org/viewvc/directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequest.java?view=diff&rev=527123&r1=527122&r2=527123
==============================================================================
--- directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequest.java (original)
+++ directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequest.java Tue Apr 10 06:03:46 2007
@@ -100,6 +100,9 @@
     public BatchRequest()
     {
         requests = new ArrayList<LdapMessage>();
+        responseOrder = ResponseOrder.SEQUENTIAL;
+        processing = Processing.SEQUENTIAL;
+        onError = OnError.EXIT;
     }
 
 

Added: directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequestDsml.java
URL: http://svn.apache.org/viewvc/directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequestDsml.java?view=auto&rev=527123
==============================================================================
--- directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequestDsml.java (added)
+++ directory/ldapstudio/trunk/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/request/BatchRequestDsml.java Tue Apr 10 06:03:46 2007
@@ -0,0 +1,235 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.ldapstudio.dsmlv2.request;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.ldapstudio.dsmlv2.DsmlDecorator;
+import org.apache.directory.ldapstudio.dsmlv2.request.BatchRequest.OnError;
+import org.apache.directory.ldapstudio.dsmlv2.request.BatchRequest.Processing;
+import org.apache.directory.ldapstudio.dsmlv2.request.BatchRequest.ResponseOrder;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+
+/**
+ * This class represents the Batch Request. It can be used to generate an the XML String of a BatchRequest.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class BatchRequestDsml
+{
+    /** The Requests list */
+    private List<DsmlDecorator> requests;
+
+    /** The ID of the request */
+    private int requestID;
+
+    /** The type of processing of the Batch Request */
+    private Processing processing;
+
+    /** The type of on error handling */
+    private OnError onError;
+
+    /** The response order */
+    private ResponseOrder responseOrder;
+
+
+    /**
+     * Creates a new instance of BatchResponseDsml.
+     */
+    public BatchRequestDsml()
+    {
+        requests = new ArrayList<DsmlDecorator>();
+        responseOrder = ResponseOrder.SEQUENTIAL;
+        processing = Processing.SEQUENTIAL;
+        onError = OnError.EXIT;
+    }
+
+
+    /**
+     * Adds a request to the Batch Request DSML.
+     *
+     * @param request
+     *      the request to add
+     * @return
+     *      true (as per the general contract of the Collection.add method).
+     */
+    public boolean addRequest( DsmlDecorator request )
+    {
+        return requests.add( request );
+    }
+
+
+    /**
+     * Removes a request from the Batch Request DSML.
+     *
+     * @param request
+     *      the request to remove
+     * @return
+     *      true if this list contained the specified element.
+     */
+    public boolean removeRequest( DsmlDecorator request )
+    {
+        return requests.remove( request );
+    }
+
+
+    /**
+     * Gets the ID of the request
+     *
+     * @return
+     *      the ID of the request
+     */
+    public int getRequestID()
+    {
+        return requestID;
+    }
+
+
+    /**
+     * Sets the ID of the request
+     *
+     * @param requestID
+     *      the ID to set
+     */
+    public void setRequestID( int requestID )
+    {
+        this.requestID = requestID;
+    }
+
+
+    /**
+     * Gets the processing type of the request
+     *
+     * @return
+     *      the processing type of the request
+     */
+    public Processing getProcessing()
+    {
+        return processing;
+    }
+
+
+    /**
+     * Sets the processing type of the request
+     *
+     * @param processing
+     *      the processing type to set
+     */
+    public void setProcessing( Processing processing )
+    {
+        this.processing = processing;
+    }
+
+
+    /**
+     * Gets the on error handling type of the request
+     *
+     * @return
+     *      the on error handling type of the request
+     */
+    public OnError getOnError()
+    {
+        return onError;
+    }
+
+
+    /**
+     * Sets the on error handling type of the request
+     *
+     * @param onError
+     *      the on error handling type to set
+     */
+    public void setOnError( OnError onError )
+    {
+        this.onError = onError;
+    }
+
+
+    /**
+     * Gets the reponse order type of the request
+     *
+     * @return
+     *      the reponse order type of the request
+     */
+    public ResponseOrder getResponseOrder()
+    {
+        return responseOrder;
+    }
+
+
+    /**
+     * Sets the reponse order type of the request
+     *
+     * @param responseOrder
+     *      the reponse order type to set
+     */
+    public void setResponseOrder( ResponseOrder responseOrder )
+    {
+        this.responseOrder = responseOrder;
+    }
+
+
+    /**
+     * Converts the Batch Request to its XML representation in the DSMLv2 format.
+     */
+    public String toDsml()
+    {
+        Document document = DocumentHelper.createDocument();
+        Element element = document.addElement( "batchResponse" );
+
+        // RequestID
+        if ( requestID != 0 )
+        {
+            element.addAttribute( "requestID", "" + requestID );
+        }
+
+        // ResponseOrder
+        if ( responseOrder == ResponseOrder.UNORDERED )
+        {
+            element.addAttribute( "responseOrder", "unordered" );
+        }
+
+        // Processing
+        if ( processing == Processing.PARALLEL )
+        {
+            element.addAttribute( "processing", "parallel" );
+        }
+
+        // On Error
+        if ( onError == OnError.RESUME )
+        {
+            element.addAttribute( "onError", "resume" );
+        }
+
+        // Requests
+        for ( DsmlDecorator request : requests )
+        {
+            request.toDsml( element );
+        }
+
+        return document.asXML();
+    }
+}