You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/01/29 10:20:37 UTC

svn commit: r373299 - /directory/trunks/common/ldap/src/main/java/org/apache/ldap/common/message/extended/GracefulShutdownResponse.java

Author: akarasulu
Date: Sun Jan 29 01:20:34 2006
New Revision: 373299

URL: http://svn.apache.org/viewcvs?rev=373299&view=rev
Log:
adding the JNDI compatible representations of codec objects for graceful shutdowns

Added:
    directory/trunks/common/ldap/src/main/java/org/apache/ldap/common/message/extended/GracefulShutdownResponse.java   (with props)

Added: directory/trunks/common/ldap/src/main/java/org/apache/ldap/common/message/extended/GracefulShutdownResponse.java
URL: http://svn.apache.org/viewcvs/directory/trunks/common/ldap/src/main/java/org/apache/ldap/common/message/extended/GracefulShutdownResponse.java?rev=373299&view=auto
==============================================================================
--- directory/trunks/common/ldap/src/main/java/org/apache/ldap/common/message/extended/GracefulShutdownResponse.java (added)
+++ directory/trunks/common/ldap/src/main/java/org/apache/ldap/common/message/extended/GracefulShutdownResponse.java Sun Jan 29 01:20:34 2006
@@ -0,0 +1,135 @@
+/*
+ *   Copyright 2006 The Apache Software Foundation
+ *
+ *   Licensed 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.ldap.common.message.extended;
+
+
+import org.apache.ldap.common.message.ExtendedResponseImpl;
+import org.apache.ldap.common.message.ResultCodeEnum;
+
+
+/**
+ * The response sent back from the server when a {@see GracefulShutdownRequest}
+ * extended operation is sent.  Delivery of this response may block until all
+ * connected clients are sent a GracefulDisconnect unsolicited notification.
+ * 
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class GracefulShutdownResponse extends ExtendedResponseImpl
+{
+    private static final long serialVersionUID = -3824715470944544189L;
+    public static final String EXTENSION_OID = "1.2.6.1.4.1.18060.1.1.1.100.4";
+    private static final byte[] EMPTY_RESPONSE = new byte[0];
+    
+    
+    public GracefulShutdownResponse( int messageId, ResultCodeEnum rcode )
+    {
+        super( messageId );
+        
+        switch ( rcode.getValue() )
+        {
+            case( ResultCodeEnum.SUCCESS_VAL ):
+                break;
+            case( ResultCodeEnum.OPERATIONSERROR_VAL ):
+                break;
+            case( ResultCodeEnum.INSUFFICIENTACCESSRIGHTS_VAL ):
+                break;
+            default:
+                throw new IllegalArgumentException( "The result code can only be one of: " + 
+                    ResultCodeEnum.SUCCESS + ", " + 
+                    ResultCodeEnum.OPERATIONSERROR + ", " + 
+                    ResultCodeEnum.INSUFFICIENTACCESSRIGHTS );
+        }
+        super.getLdapResult().setMatchedDn( "" );
+        super.getLdapResult().setResultCode( rcode );
+    }
+    
+    
+    public GracefulShutdownResponse( int messageId )
+    {
+        super( messageId );
+        super.getLdapResult().setMatchedDn( "" );
+        super.getLdapResult().setResultCode( ResultCodeEnum.SUCCESS );
+    }
+    
+    
+    // ------------------------------------------------------------------------
+    // ExtendedResponse Interface Method Implementations
+    // ------------------------------------------------------------------------
+
+
+    /**
+     * Gets the reponse OID specific encoded response values.
+     *
+     * @return the response specific encoded response values.
+     */
+    public byte [] getResponse()
+    {
+        return EMPTY_RESPONSE;
+    }
+
+
+    /**
+     * Sets the reponse OID specific encoded response values.
+     *
+     * @param value the response specific encoded response values.
+     */
+    public void setResponse( byte [] value )
+    {
+        throw new UnsupportedOperationException( "the response is hardcoded as zero length array" );
+    }
+
+
+    /**
+     * Gets the OID uniquely identifying this extended response (a.k.a. its
+     * name).
+     *
+     * @return the OID of the extended response type.
+     */
+    public String getResponseName()
+    {
+        return EXTENSION_OID;
+    }
+
+
+    /**
+     * Sets the OID uniquely identifying this extended response (a.k.a. its
+     * name).
+     *
+     * @param oid the OID of the extended response type.
+     */
+    public void setResponseName( String oid )
+    {
+        throw new UnsupportedOperationException( "the OID is fixed: " + EXTENSION_OID );
+    }
+
+
+    public boolean equals( Object obj )
+    {
+        if ( obj == this )
+        {
+            return true;
+        }
+
+        if ( obj instanceof GracefulShutdownResponse )
+        {
+            return true;
+        }
+
+        return false;
+    }
+}

Propchange: directory/trunks/common/ldap/src/main/java/org/apache/ldap/common/message/extended/GracefulShutdownResponse.java
------------------------------------------------------------------------------
    svn:eol-style = native