This removes old debug logging framework method calls that are going to be automatically instrumented by AspectJ. Non instrumented debug method calls are updated to use the new debug framework methods. However, the new debug logging framework is not yet active as the Aspects are not weaved in. After this revision, debug logging will be disabled in the server until the new AOP framework is complete.
- Removed debugEnter and debugConstructor from all source files.
- Removed CLASS_NAME static string for debug purposes.
- Removed old debug logging framework.
- Added new debug logging frameworking using AOP.
- Added AspectJ binary and libraries.
- Change all modified files copyrights to include 2007.
6 files deleted
34 files added
798 files modified
| New file |
| | |
| | | <html> |
| | | |
| | | <head> |
| | | <title>AspectJ License</title> |
| | | |
| | | |
| | | </head> |
| | | |
| | | <BODY BGCOLOR="white"> |
| | | |
| | | <h2 align="center"><b>AspectJ<sup><small>TM</small></sup> |
| | | Compiler and Core Tools License</b></h2> |
| | | |
| | | <p>This is a binary-only release. Source code |
| | | is available from |
| | | <a href="http://eclipse.org/aspectj">http://eclipse.org/aspectj</a></p> |
| | | |
| | | <p>The Eclipse Foundation makes available all content in this distribution ("Content"). |
| | | Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the |
| | | Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available |
| | | at <a href="../../org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>. |
| | | For purposes of the EPL, "Program" will mean the Content.</p> |
| | | |
| | | <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is |
| | | being redistributed by another party ("Redistributor") and different terms and conditions may |
| | | apply to your use of any object code in the Content. Check the Redistributor's license |
| | | that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise |
| | | indicated below, the terms and conditions of the EPL still apply to any source code in the Content |
| | | and such source code may be obtained at <a href="/">http://www.eclipse.org</a>.</p> |
| | | |
| | | |
| | | <h3>Third Party Content</h3> |
| | | <p>The Content includes items that have been sourced from third parties as set out below. If you |
| | | did not receive this Content directly from the Eclipse Foundation, the following is provided |
| | | for informational purposes only, and you should look to the Redistributor?s license for |
| | | terms and conditions of use.</p> |
| | | <em> |
| | | |
| | | <h4>BCEL v5.1</h4> |
| | | <p>This product contains software developed by the |
| | | Apache Software Foundation (<a href="http://www.apache.org/">http://www.apache.org</a>).</p> |
| | | |
| | | <p>AspectJ includes a modified version of the Apache Jakarta Byte Code Engineering Library (BCEL) v5.1. |
| | | BCEL is available at <a href="http://jakarta.apache.org/bcel/">http://jakarta.apache.org/bcel/</a>. Source |
| | | code for the modified version of BCEL is available at Eclipse.org in the AspectJ source tree. This code |
| | | is made available under the Apache Software License v1.1</p> |
| | | |
| | | <h4>ASM v2.2.1</h4> |
| | | <p>AspectJ includes a binary version of ASM v2.2.1 (<a href="http://asm.objectweb.org/index.html">http://asm.objectweb.org/</a>) |
| | | The source code for ASM is available from the ObjectWeb download site at |
| | | <a href="http://asm.objectweb.org/download/">http://asm.objectweb.org/download/</a>. |
| | | <p>The ASM license is available at <a href="http://asm.objectweb.org/license.html">http://asm.objectweb.org/license.html</a>. |
| | | The license is also reproduced here: |
| | | </p> |
| | | |
| | | <pre>Copyright (c) 2000-2005 INRIA, France Telecom |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without |
| | | modification, are permitted provided that the following conditions |
| | | are met: |
| | | |
| | | 1. Redistributions of source code must retain the above copyright |
| | | notice, this list of conditions and the following disclaimer. |
| | | |
| | | 2. Redistributions in binary form must reproduce the above copyright |
| | | notice, this list of conditions and the following disclaimer in the |
| | | documentation and/or other materials provided with the distribution. |
| | | |
| | | 3. Neither the name of the copyright holders nor the names of its |
| | | contributors may be used to endorse or promote products derived from |
| | | this software without specific prior written permission. |
| | | |
| | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| | | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| | | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| | | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
| | | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| | | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| | | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| | | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| | | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| | | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
| | | THE POSSIBILITY OF SUCH DAMAGE. |
| | | </pre> |
| | | |
| | | </em> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | <html> |
| | | |
| | | <head> |
| | | <meta http-equiv="Content-Language" content="en-us"> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
| | | <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
| | | <meta name="ProgId" content="FrontPage.Editor.Document"> |
| | | <title>AspectJ Readme</title> |
| | | <STYLE TYPE="text/css"> |
| | | <!-- |
| | | |
| | | /* FOR THE SDA PAGE */ |
| | | |
| | | /* |
| | | BODY {margin-top: 15px; margin-left: 15px; margin-right: 15px;} |
| | | */ |
| | | |
| | | A:link { |
| | | color:#4756AC; |
| | | } |
| | | A:visited { |
| | | color:#60657B; |
| | | } |
| | | A:hover { |
| | | color:red |
| | | } |
| | | |
| | | INPUT {font:12px "Courier New", sans-serif;} |
| | | |
| | | H2 { |
| | | font:18px/18px Verdana, Arial, Helvetica, sans-serif; |
| | | color:black; |
| | | font-weight:bold; |
| | | margin-left: 10px; |
| | | line-height:110%; |
| | | } |
| | | H3 { |
| | | font:18px/18px Verdana, Arial, Helvetica, sans-serif; |
| | | color:black; |
| | | font-weight:bold; |
| | | margin-left: 10px; |
| | | line-height:110%; |
| | | } |
| | | H4 { |
| | | font:15px/16px Verdana, Arial, Helvetica, sans-serif; |
| | | color:black; |
| | | font-weight:bold; |
| | | margin-left: 10px; |
| | | line-height:140%; |
| | | } |
| | | P { |
| | | font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | margin-right: 10px; |
| | | margin-left: 10px; |
| | | line-height:130%; |
| | | } |
| | | .paragraph { |
| | | font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | margin-right: 10px; |
| | | margin-left: 10px; |
| | | line-height:130%; |
| | | } |
| | | .smallParagraph { |
| | | font:11px/11px Verdana, Arial, Helvetica, sans-serif; |
| | | margin-right: 10px; |
| | | margin-left: 10px; |
| | | line-height:130%; |
| | | } |
| | | /* |
| | | LI { |
| | | font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | text-align:justify; |
| | | margin-right: 10px; |
| | | margin-left: 15px; |
| | | line-height:120%; |
| | | } |
| | | |
| | | UL { |
| | | font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | text-align:justify; |
| | | margin-right: 10px; |
| | | margin-left: 15px; |
| | | line-height:120%; |
| | | }*/ |
| | | |
| | | DL { |
| | | font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | text-align:justify; |
| | | margin-right: 10px; |
| | | margin-left: 15px; |
| | | line-height:120%; |
| | | } |
| | | B { font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | font-weight:bold; |
| | | line-height:140%; |
| | | } |
| | | .footer { |
| | | font:10px/10px Verdana, Arial, Helvetica, sans-serif; |
| | | color:#888888; |
| | | text-align:left |
| | | } |
| | | .figureTitle { |
| | | font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | text-align:justify; |
| | | text-align:center |
| | | } |
| | | .copyrightNotice { |
| | | font:10px/10px Verdana, Arial, Helvetica, sans-serif; |
| | | color:#999999; |
| | | line-height:110%; |
| | | } |
| | | .smallHeading { |
| | | font:13px/13px Verdana, Arial, Helvetica, sans-serif; |
| | | font-weight:bold; |
| | | line-height:110%; |
| | | } |
| | | .tinyHeading { |
| | | font:11px/11px Verdana, Arial, Helvetica, sans-serif; |
| | | font-weight:bold; |
| | | line-height:120%; |
| | | } |
| | | .newsText { |
| | | font:11px/11px Verdana, Arial, Helvetica, sans-serif; |
| | | line-height:130%; |
| | | } |
| | | .smallParagraph { |
| | | font:11px/11px Verdana, Arial, Helvetica, sans-serif; |
| | | line-height:130%; |
| | | } |
| | | .fancyHeading { |
| | | font:20px/20px Chantilly, Arial, Helvetica, sans-serif; |
| | | margin-right: 10px; |
| | | color:#6f7a92; |
| | | margin-left: 10px; |
| | | line-height:130%; |
| | | } |
| | | |
| | | --> |
| | | </STYLE> |
| | | </head> |
| | | |
| | | <BODY BGCOLOR="white"> |
| | | |
| | | <h2 align="center">AspectJ<sup><small>TM</small></sup></h2> |
| | | |
| | | <p align="center"><i>Version 1.5.3 released on Wednesday Nov 22, 2006.</i></p> |
| | | |
| | | <h3>1 Contents of this Package</h3> |
| | | |
| | | <UL> |
| | | <li>the <a href="bin"><CODE><aspectj install dir>/bin</CODE></a> |
| | | directory has scripts for |
| | | <ul> |
| | | <li><CODE>ajc</CODE>: the compiler for the AspectJ language</li> |
| | | |
| | | <!-- XXX removed references to ajdoc and ajdb --> |
| | | <li><CODE>ajbrowser</CODE>: a graphical editor for |
| | | compiling programs with <CODE>ajc</CODE> |
| | | and navigating the crosscutting structure of those programs</li> |
| | | </ul> |
| | | |
| | | <li>the directory <a href="lib"><CODE><aspectj install dir>/lib</CODE></a> |
| | | has the AspectJ binaries, |
| | | <ul> |
| | | <li><CODE><a href="lib/aspectjtools.jar">aspectjtools.jar</a></CODE>: libraries for |
| | | <code>ajc</code>, <code>ajbrowser</code>, and the Ant tasks</li> |
| | | |
| | | <li><CODE>aspectjrt.jar</CODE>: runtime library for AspectJ programs</li> |
| | | </ul> |
| | | </li> |
| | | <li>the directory <a href="doc"><CODE><aspectj install dir>/doc</CODE></a> |
| | | has examples, programming and development environment guides, |
| | | instructions for the Ant tasks, a README for 1.1 changes, |
| | | and a quick reference, all linked |
| | | from the <a href="doc/index.html">index</a> page. |
| | | </li> |
| | | <li>this <a href="README-AspectJ.html">README-AspectJ.html</a>, and |
| | | </li> |
| | | <li>the <a href="LICENSE-AspectJ.html">LICENSE-AspectJ.html</a> |
| | | applying to this distribution. |
| | | </li> |
| | | </UL> |
| | | |
| | | <hr> |
| | | |
| | | <h3>2 Install Procedure</h3> |
| | | |
| | | <p>The AspectJ tools <code>ajc</code> and <code>ajbrowser</code> are |
| | | Java programs that can be run indirectly from the scripts or |
| | | directly from <code>aspectjtools.jar</code>. |
| | | The <code>aspectjrt.jar</code> needs to be on the classpath |
| | | when compiling or running programs compiled |
| | | by <code>ajc</code>. This procedure shows ways to do that. |
| | | </p> |
| | | |
| | | <p>After finishing automatic installation, we recommend that the |
| | | following steps to complete your installation:</p> |
| | | |
| | | <p><b>2.1 Add <CODE><aspectj install dir>/lib/aspectjrt.jar</CODE> |
| | | to your class path</b></p> |
| | | |
| | | <blockquote> |
| | | <p>This small .jar file contains classes required to compile programs |
| | | with the ajc compiler, and to run programs compiled with the ajc |
| | | compiler. You must have these classes somewhere on your class path |
| | | when running programs compiled with ajc. For detailed instructions |
| | | please see the <a href="#configInstructions">Configuration |
| | | Instructions</a> at the bottom of this document.</p> |
| | | </blockquote> |
| | | |
| | | <p><b>2.2 Put the AspectJ <code>bin</code> directory on your PATH</b></p> |
| | | |
| | | <blockquote> |
| | | <p>Modify your PATH to include <code><b><aspectj install |
| | | dir>/bin</b></code>. This will make it easier to run ajc. |
| | | For detailed instructions please see the |
| | | <a href="#configInstructions">Configuration Instructions</a> at the |
| | | bottom of this document.</p> |
| | | </blockquote> |
| | | |
| | | <p><b>2.3 Review the documentation and examples </b></p> |
| | | |
| | | <blockquote> |
| | | <p>Development and programming guides |
| | | are available in <a href="doc/index.html">docs</a>, |
| | | and example programs and an Ant script are available in |
| | | <a href="doc/examples/">examples</a>. |
| | | </blockquote> |
| | | |
| | | <p>If you did not use the automatic installation process, you may wish |
| | | to create short launch scripts to start ajc easily (section 3).</p> |
| | | |
| | | <hr> |
| | | |
| | | <h3>3. Running the Tools</h3> |
| | | |
| | | <p>If you did not use the automatic installation process or the |
| | | default launch scripts do not work on your system, you may wish to |
| | | create short launch scripts to start ajc easily. </p> |
| | | |
| | | <p>You can also run the <code>aspectjtools.jar</code> directly |
| | | using java's -jar option: |
| | | |
| | | <blockquote> |
| | | <CODE>C:\jdk1.3\bin\java.exe -jar D:\aspectj\lib\aspectjtools.jar %*</CODE> |
| | | </blockquote> |
| | | |
| | | <p>With no arguments or only argument list (.lst) files, this will launch |
| | | <code>ajbrowser</code>, the GUI structure browser; otherwise, it will |
| | | run <code>ajc</code>, the AspectJ compiler. This means that |
| | | if your browser is set up to run jar files, clicking a link |
| | | to <a href="lib/aspectjtools.jar">lib/aspectjtools.jar</a> will |
| | | launch <code>ajbrowser</code>. |
| | | |
| | | <p> You can also create scripts like those created by the installer. |
| | | These scripts use full paths that are system dependent so you will |
| | | likely have to change these. </p> |
| | | |
| | | <p>Here's a sample launch script for WinNT and Win2K (note that this |
| | | is single line in the .bat file):</p> |
| | | |
| | | <blockquote> |
| | | <CODE>C:\jdk1.3\bin\java.exe -classpath D:\aspectj\lib\aspectjtools.jar -Xmx64M |
| | | org.aspectj.tools.ajc.Main %*</CODE> |
| | | </blockquote> |
| | | |
| | | <p>Here's a sample launch script for a Unix shell (on Linux using Sun's JDK1.3):</p> |
| | | |
| | | <blockquote> |
| | | <CODE>/usr/java/jdk1.3/jre/bin/java -classpath /home/aspectj/lib/aspectjtools.jar -Xmx64M org.aspectj.tools.ajc.Main "$@"</CODE> |
| | | </blockquote> |
| | | |
| | | <hr> |
| | | <h3><a name="configInstructions">4. Configuration Instructions</a></h3> |
| | | |
| | | <h4>4.1 Adding <code><aspectj install dir>/lib/aspectjrt.jar</code> to your classpath</h4> |
| | | |
| | | <p>There are several ways to add this jar file to your classpath:</p> |
| | | |
| | | <ul> |
| | | <li> |
| | | copy <code>aspectjrt.jar</code> to the <code>jdk/jre/lib/ext</code> directory</li> |
| | | <li> |
| | | add <code>aspectjrt.jar</code> to your CLASSPATH |
| | | environment variable (see the next section for details)</li> |
| | | <li> |
| | | always use the "<code>-classpath aspectjrt.jar</code>" option when running |
| | | programs compiled with ajc</li> |
| | | </ul> |
| | | <h4>4.2 <A NAME="6.1">Setting the Environment Variables on Windows</A></h4> |
| | | |
| | | <P>The following instructions use the PATH variable as an example, but |
| | | this process is identical for the CLASSPATH variable. </P> |
| | | |
| | | <P>You can do the variables permanently for all the shells that you |
| | | will run or temporarily only for the current shell. To change the |
| | | PATH only in the current shell, and assuming you've installed AspectJ |
| | | in <code>C:\apps\aspectj</code>, type:</P> |
| | | |
| | | <blockquote><code>> set PATH=%PATH%;C:\apps\aspectj\bin</code></blockquote> |
| | | |
| | | <P><b>Changing Environment Variables Permanently on WinNT and Win2000</b> |
| | | <ul> |
| | | <li> |
| | | <p class="paragraph">open the Environment Variables dialog |
| | | <ul> |
| | | <li> |
| | | <p class="paragraph">WinNT: in "Control Panels" double-click |
| | | "System" and select the "Environment" tab</li> |
| | | <li> |
| | | <p class="paragraph">Win2K: in "Control Panels" double-click |
| | | "System", select the "Advanced" tab and click the |
| | | "Environment Variables..." button</li> |
| | | </ul> |
| | | </li> |
| | | <li> |
| | | <p class="paragraph">select the environment variable for editing, or add it |
| | | using the "New..." button if it does not exist</li> |
| | | <li> |
| | | <p class="paragraph">add the new entry separated from the others by a |
| | | semi-colon (;) and close the dialog</li> |
| | | <li> |
| | | <p class="paragraph">note that the change will not affect shells that were |
| | | already running </li> |
| | | </ul> |
| | | <P><b>Changing Environment Variables Permanently on Win9x</b> |
| | | <ul> |
| | | <li> |
| | | <p class="paragraph">open the AUTOEXEC.BAT with an editor such as NotePad</li> |
| | | |
| | | <LI> |
| | | <p class="paragraph">edit the PATH statement to include the new entry and save |
| | | the file, e.g.<BR> |
| | | |
| | | <blockquote> |
| | | <CODE>PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\DOS;C:\apps\aspectj\bin</CODE> |
| | | </blockquote> |
| | | </LI> |
| | | <LI> |
| | | <p class="paragraph">note that the change will not affect shells that were |
| | | already running |
| | | </ul> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | #!/bin/sh |
| | | # This file generated by AspectJ installer |
| | | # Created on Mon Jan 22 08:32:55 CST 2007 by bl155526 |
| | | |
| | | if [ "$JAVA_HOME" = "" ] ; then JAVA_HOME=/usr/jdk/instances/jdk1.5.0 |
| | | fi |
| | | if [ "$ASPECTJ_HOME" = "" ] ; then ASPECTJ_HOME=/home/bl155526/aspectj1.5 |
| | | fi |
| | | |
| | | "$JAVA_HOME/bin/java" -classpath "$ASPECTJ_HOME/lib/aspectjweaver.jar" "-Djava.system.class.loader=org.aspectj.weaver.loadtime.WeavingURLClassLoader" "-Daj.class.path=$ASPECTPATH:$CLASSPATH" "-Daj.aspect.path=$ASPECTPATH" "$@" |
| New file |
| | |
| | | #!/bin/sh |
| | | # This file generated by AspectJ installer |
| | | # Created on Mon Jan 22 08:32:55 CST 2007 by bl155526 |
| | | |
| | | if [ "$JAVA_HOME" = "" ] ; then JAVA_HOME=/usr/jdk/instances/jdk1.5.0 |
| | | fi |
| | | if [ "$ASPECTJ_HOME" = "" ] ; then ASPECTJ_HOME=/home/bl155526/aspectj1.5 |
| | | fi |
| | | |
| | | "$JAVA_HOME/bin/java" -classpath "$ASPECTJ_HOME/lib/aspectjweaver.jar:$CLASSPATH" "-javaagent:$ASPECTJ_HOME/lib/aspectjweaver.jar" "$@" |
| New file |
| | |
| | | #!/bin/sh |
| | | # This file generated by AspectJ installer |
| | | # Created on Mon Jan 22 08:32:55 CST 2007 by bl155526 |
| | | |
| | | if [ "$JAVA_HOME" = "" ] ; then JAVA_HOME=/usr/jdk/instances/jdk1.5.0 |
| | | fi |
| | | if [ "$ASPECTJ_HOME" = "" ] ; then ASPECTJ_HOME=/home/bl155526/aspectj1.5 |
| | | fi |
| | | |
| | | "$JAVA_HOME/bin/java" -classpath "$ASPECTJ_HOME/lib/aspectjtools.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH" -Xmx64M org.aspectj.tools.ajbrowser.Main "$@" |
| New file |
| | |
| | | #!/bin/sh |
| | | # This file generated by AspectJ installer |
| | | # Created on Mon Jan 22 08:32:55 CST 2007 by bl155526 |
| | | |
| | | if [ "$JAVA_HOME" = "" ] ; then JAVA_HOME=/usr/jdk/instances/jdk1.5.0 |
| | | fi |
| | | if [ "$ASPECTJ_HOME" = "" ] ; then ASPECTJ_HOME=/home/bl155526/aspectj1.5 |
| | | fi |
| | | |
| | | "$JAVA_HOME/bin/java" -classpath "$ASPECTJ_HOME/lib/aspectjtools.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH" -Xmx64M org.aspectj.tools.ajc.Main "$@" |
| New file |
| | |
| | | #!/bin/sh |
| | | # This file generated by AspectJ installer |
| | | # Created on Mon Jan 22 08:32:55 CST 2007 by bl155526 |
| | | |
| | | if [ "$JAVA_HOME" = "" ] ; then JAVA_HOME=/usr/jdk/instances/jdk1.5.0 |
| | | fi |
| | | if [ "$ASPECTJ_HOME" = "" ] ; then ASPECTJ_HOME=/home/bl155526/aspectj1.5 |
| | | fi |
| | | |
| | | "$JAVA_HOME/bin/java" -classpath "$ASPECTJ_HOME/lib/aspectjtools.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH" -Xmx64M org.aspectj.tools.ajdoc.Main "$@" |
| | |
| | | # CDDL HEADER START |
| | | # |
| | | # The contents of this file are subject to the terms of the |
| | | # Common Development and Distribution License, Version 1.0 only |
| | | # (the "License"). You may not use this file except in compliance |
| | | # with the License. |
| | | # |
| | | # You can obtain a copy of the license at |
| | | # trunk/opends/resource/legal-notices/OpenDS.LICENSE |
| | | # or https://OpenDS.dev.java.net/OpenDS.LICENSE. |
| | | # See the License for the specific language governing permissions |
| | | # and limitations under the License. |
| | | # |
| | | # When distributing Covered Code, include this CDDL HEADER in each |
| | | # file and include the License file at |
| | | # trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, |
| | | # add the following below this CDDL HEADER, with the fields enclosed |
| | | # by brackets "[]" replaced with your own identifying * information: |
| | | # Portions Copyright [yyyy] [name of copyright owner] |
| | | # |
| | | # CDDL HEADER END |
| | | # |
| | | # Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | # |
| | | # |
| | | # This file contains the primary Directory Server configuration. It must not |
| | | # be directly edited while the server is online. The server configuration |
| | | # should only be managed using the administration utilities provided with the |
| | | # Directory Server. |
| | | |
| | | dn: cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-root-config |
| | | cn: config |
| | | ds-cfg-check-schema: true |
| | | ds-cfg-add-missing-rdn-attributes: true |
| | | ds-cfg-allow-attribute-name-exceptions: false |
| | | ds-cfg-invalid-attribute-syntax-behavior: reject |
| | | ds-cfg-single-structural-objectclass-behavior: reject |
| | | ds-cfg-notify-abandoned-operations: false |
| | | ds-cfg-proxied-authorization-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | ds-cfg-size-limit: 1000 |
| | | ds-cfg-time-limit: 60 seconds |
| | | ds-cfg-lookthrough-limit: 5000 |
| | | ds-cfg-writability-mode: enabled |
| | | ds-cfg-bind-with-dn-requires-password: true |
| | | ds-cfg-reject-unauthenticated-requests: false |
| | | ds-cfg-single-structural-objectclass-behavior: reject |
| | | ds-cfg-check-schema: true |
| | | ds-cfg-allow-attribute-name-exceptions: false |
| | | ds-cfg-default-password-policy: cn=Default Password Policy,cn=Password Policies,cn=config |
| | | ds-cfg-proxied-authorization-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | ds-cfg-lookthrough-limit: 5000 |
| | | ds-cfg-time-limit: 60 seconds |
| | | ds-cfg-writability-mode: enabled |
| | | ds-cfg-add-missing-rdn-attributes: true |
| | | ds-cfg-notify-abandoned-operations: true |
| | | ds-cfg-reject-unauthenticated-requests: false |
| | | cn: config |
| | | ds-cfg-size-limit: 1000 |
| | | modifiersName: cn=Privileged User,o=test |
| | | modifyTimestamp: 20070301011016Z |
| | | |
| | | dn: cn=Access Control Handler,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-access-control-handler |
| | | cn: Access Control Handler |
| | | ds-cfg-acl-handler-class: org.opends.server.authorization.dseecompat.AciProvider |
| | | objectClass: top |
| | | ds-cfg-acl-handler-enabled: false |
| | | ds-cfg-acl-handler-class: org.opends.server.authorization.dseecompat.AciProvider |
| | | cn: Access Control Handler |
| | | |
| | | dn: cn=Account Status Notification Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Account Status Notification Handlers |
| | | |
| | | dn: cn=Error Log Handler,cn=Account Status Notification Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-account-status-notification-handler |
| | | objectClass: top |
| | | objectClass: ds-cfg-error-log-account-status-notification-handler |
| | | cn: Error Log Handler |
| | | ds-cfg-account-status-notification-handler-class: org.opends.server.extensions.ErrorLogAccountStatusNotificationHandler |
| | | ds-cfg-account-status-notification-handler-enabled: true |
| | | ds-cfg-account-status-notification-type: account-temporarily-locked |
| | |
| | | ds-cfg-account-status-notification-type: password-expiring |
| | | ds-cfg-account-status-notification-type: password-reset |
| | | ds-cfg-account-status-notification-type: password-changed |
| | | cn: Error Log Handler |
| | | |
| | | dn: cn=Alert Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Alert Handlers |
| | | |
| | | dn: cn=JMX Alert Handler,cn=Alert Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-alert-handler |
| | | ds-cfg-alert-handler-enabled: true |
| | | cn: JMX Alert Handler |
| | | ds-cfg-alert-handler-class: org.opends.server.extensions.JMXAlertHandler |
| | | ds-cfg-alert-handler-enabled: true |
| | | |
| | | dn: cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Backends |
| | | |
| | | dn: ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | objectClass: ds-cfg-je-backend |
| | | ds-cfg-backend-enabled: true |
| | | ds-cfg-backend-class: org.opends.server.backends.jeb.BackendImpl |
| | | ds-cfg-backend-id: userRoot |
| | | ds-cfg-backend-writability-mode: enabled |
| | | ds-cfg-backend-base-dn: dc=example,dc=com |
| | | ds-cfg-backend-directory: db |
| | | ds-cfg-backend-mode: 700 |
| | | ds-cfg-backend-index-entry-limit: 4000 |
| | | ds-cfg-backend-subtree-delete-size-limit: 100000 |
| | | ds-cfg-backend-preload-time-limit: 0 seconds |
| | | ds-cfg-backend-import-temp-directory: importTmp |
| | | ds-cfg-backend-import-buffer-size: 256 megabytes |
| | | ds-cfg-backend-import-queue-size: 100 |
| | | ds-cfg-backend-import-pass-size: 0 |
| | | ds-cfg-backend-import-thread-count: 8 |
| | | ds-cfg-backend-entries-compressed: false |
| | | ds-cfg-backend-deadlock-retry-limit: 10 |
| | | |
| | | dn: cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | cn: Index |
| | | |
| | | dn: ds-cfg-index-attribute=aci,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: aci |
| | | ds-cfg-index-type: presence |
| | | |
| | | dn: ds-cfg-index-attribute=cn,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: cn |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | |
| | | dn: ds-cfg-index-attribute=givenName,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: givenName |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | |
| | | dn: ds-cfg-index-attribute=mail,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: mail |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | |
| | | dn: ds-cfg-index-attribute=member,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: member |
| | | ds-cfg-index-type: equality |
| | | |
| | | dn: ds-cfg-index-attribute=objectClass,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: objectClass |
| | | ds-cfg-index-type: equality |
| | | |
| | | dn: ds-cfg-index-attribute=sn,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: sn |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | |
| | | dn: ds-cfg-index-attribute=telephoneNumber,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: telephoneNumber |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | |
| | | dn: ds-cfg-index-attribute=uid,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: uid |
| | | ds-cfg-index-type: equality |
| | | |
| | | dn: ds-cfg-index-attribute=ds-sync-hist,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: ds-sync-hist |
| | | ds-cfg-index-type: ordering |
| | | |
| | | dn: ds-cfg-index-attribute=entryuuid,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-attribute: entryuuid |
| | | ds-cfg-index-type: equality |
| | | |
| | | dn: cn=JE Database,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-database |
| | | cn: JE Database |
| | | ds-cfg-database-cache-percent: 10 |
| | | ds-cfg-database-cache-size: 0 megabytes |
| | | ds-cfg-database-txn-no-sync: false |
| | | ds-cfg-database-txn-write-no-sync: true |
| | | ds-cfg-database-run-cleaner: true |
| | | ds-cfg-database-cleaner-num-threads: 1 |
| | | ds-cfg-database-cleaner-min-utilization: 75 |
| | | ds-cfg-database-evictor-lru-only: true |
| | | ds-cfg-database-evictor-nodes-per-scan: 10 |
| | | ds-cfg-database-log-file-max: 50 megabytes |
| | | ds-cfg-database-logging-file-handler-on: true |
| | | ds-cfg-database-logging-level: CONFIG |
| | | ds-cfg-database-checkpointer-bytes-interval: 20 megabytes |
| | | ds-cfg-database-checkpointer-wakeup-interval: 30 seconds |
| | | ds-cfg-database-lock-num-lock-tables: 19 |
| | | |
| | | dn: ds-cfg-backend-id=backup,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | objectClass: ds-cfg-backup-backend |
| | | ds-cfg-backend-enabled: true |
| | | ds-cfg-backend-class: org.opends.server.backends.BackupBackend |
| | | ds-cfg-backend-id: backup |
| | | ds-cfg-backend-writability-mode: disabled |
| | | objectClass: ds-cfg-backend |
| | | ds-cfg-backend-base-dn: cn=backups |
| | | ds-cfg-backend-id: backup |
| | | ds-cfg-backup-directory: bak |
| | | ds-cfg-backend-writability-mode: disabled |
| | | ds-cfg-backend-class: org.opends.server.backends.BackupBackend |
| | | ds-cfg-backend-enabled: true |
| | | |
| | | dn: ds-cfg-backend-id=config,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | ds-cfg-backend-enabled: true |
| | | ds-cfg-backend-class: org.opends.server.extensions.ConfigFileHandler |
| | | ds-cfg-backend-base-dn: cn=config |
| | | ds-cfg-backend-id: config |
| | | ds-cfg-backend-writability-mode: enabled |
| | | ds-cfg-backend-base-dn: cn=config |
| | | ds-cfg-backend-class: org.opends.server.extensions.ConfigFileHandler |
| | | ds-cfg-backend-enabled: true |
| | | |
| | | dn: ds-cfg-backend-id=monitor,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | ds-cfg-backend-enabled: true |
| | | ds-cfg-backend-class: org.opends.server.backends.MonitorBackend |
| | | ds-cfg-backend-base-dn: cn=monitor |
| | | ds-cfg-backend-id: monitor |
| | | ds-cfg-backend-writability-mode: disabled |
| | | ds-cfg-backend-base-dn: cn=monitor |
| | | ds-cfg-backend-class: org.opends.server.backends.MonitorBackend |
| | | ds-cfg-backend-enabled: true |
| | | |
| | | dn: ds-cfg-backend-id=schema,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | objectClass: ds-cfg-schema-backend |
| | | ds-cfg-backend-enabled: true |
| | | ds-cfg-backend-class: org.opends.server.backends.SchemaBackend |
| | | ds-cfg-backend-id: schema |
| | | ds-cfg-backend-writability-mode: enabled |
| | | objectClass: ds-cfg-backend |
| | | ds-cfg-backend-base-dn: cn=schema |
| | | ds-cfg-backend-id: schema |
| | | ds-cfg-show-all-attributes: false |
| | | ds-cfg-backend-writability-mode: enabled |
| | | ds-cfg-backend-class: org.opends.server.backends.SchemaBackend |
| | | ds-cfg-backend-enabled: true |
| | | |
| | | dn: ds-cfg-backend-id=tasks,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | objectClass: ds-cfg-task-backend |
| | | ds-cfg-backend-enabled: true |
| | | ds-cfg-backend-class: org.opends.server.backends.task.TaskBackend |
| | | ds-cfg-backend-id: tasks |
| | | ds-cfg-backend-writability-mode: enabled |
| | | ds-cfg-backend-base-dn: cn=tasks |
| | | ds-cfg-task-backing-file: config/tasks.ldif |
| | | ds-cfg-backend-id: tasks |
| | | ds-cfg-task-retention-time: 24 hours |
| | | ds-cfg-task-backing-file: config/tasks.ldif |
| | | ds-cfg-backend-writability-mode: enabled |
| | | ds-cfg-backend-class: org.opends.server.backends.task.TaskBackend |
| | | ds-cfg-backend-enabled: true |
| | | |
| | | dn: ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: ds-cfg-je-backend |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | ds-cfg-backend-import-buffer-size: 256 megabytes |
| | | ds-cfg-backend-deadlock-retry-limit: 10 |
| | | ds-cfg-backend-base-dn: dc=example,dc=com |
| | | ds-cfg-backend-id: userRoot |
| | | ds-cfg-backend-import-queue-size: 100 |
| | | ds-cfg-backend-index-entry-limit: 4000 |
| | | ds-cfg-backend-writability-mode: enabled |
| | | ds-cfg-backend-class: org.opends.server.backends.jeb.BackendImpl |
| | | ds-cfg-backend-subtree-delete-size-limit: 100000 |
| | | ds-cfg-backend-directory: db |
| | | ds-cfg-backend-import-thread-count: 8 |
| | | ds-cfg-backend-preload-time-limit: 0 seconds |
| | | ds-cfg-backend-import-pass-size: 0 |
| | | ds-cfg-backend-entries-compressed: false |
| | | ds-cfg-backend-mode: 700 |
| | | ds-cfg-backend-enabled: TRUE |
| | | ds-cfg-backend-import-temp-directory: importTmp |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301011024Z |
| | | |
| | | dn: cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Index |
| | | |
| | | dn: ds-cfg-index-attribute=aci,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-attribute: aci |
| | | |
| | | dn: ds-cfg-index-attribute=cn,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: cn |
| | | |
| | | dn: ds-cfg-index-attribute=ds-sync-hist,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: ordering |
| | | ds-cfg-index-attribute: ds-sync-hist |
| | | |
| | | dn: ds-cfg-index-attribute=entryuuid,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-attribute: entryuuid |
| | | |
| | | dn: ds-cfg-index-attribute=givenName,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: givenName |
| | | |
| | | dn: ds-cfg-index-attribute=mail,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: mail |
| | | |
| | | dn: ds-cfg-index-attribute=member,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-attribute: member |
| | | |
| | | dn: ds-cfg-index-attribute=objectClass,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-attribute: objectClass |
| | | |
| | | dn: ds-cfg-index-attribute=sn,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: sn |
| | | |
| | | dn: ds-cfg-index-attribute=telephoneNumber,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: telephoneNumber |
| | | |
| | | dn: ds-cfg-index-attribute=uid,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-attribute: uid |
| | | |
| | | dn: cn=JE Database,ds-cfg-backend-id=userRoot,cn=Backends,cn=config |
| | | objectClass: ds-cfg-je-database |
| | | objectClass: top |
| | | ds-cfg-database-lock-num-lock-tables: 19 |
| | | ds-cfg-database-evictor-nodes-per-scan: 10 |
| | | ds-cfg-database-logging-file-handler-on: true |
| | | ds-cfg-database-evictor-lru-only: true |
| | | ds-cfg-database-cache-percent: 10 |
| | | ds-cfg-database-run-cleaner: true |
| | | ds-cfg-database-cleaner-min-utilization: 75 |
| | | ds-cfg-database-checkpointer-wakeup-interval: 30 seconds |
| | | ds-cfg-database-cache-size: 0 megabytes |
| | | ds-cfg-database-checkpointer-bytes-interval: 20 megabytes |
| | | ds-cfg-database-log-file-max: 50 megabytes |
| | | ds-cfg-database-cleaner-num-threads: 1 |
| | | ds-cfg-database-logging-level: CONFIG |
| | | cn: JE Database |
| | | ds-cfg-database-txn-no-sync: false |
| | | ds-cfg-database-txn-write-no-sync: true |
| | | |
| | | dn: ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: ds-cfg-je-backend |
| | | objectClass: top |
| | | objectClass: ds-cfg-backend |
| | | ds-cfg-backend-import-buffer-size: 256 megabytes |
| | | ds-cfg-backend-deadlock-retry-limit: 10 |
| | | ds-cfg-backend-base-dn: dc=verify, dc=jeb |
| | | ds-cfg-backend-id: verifyRoot |
| | | ds-cfg-backend-import-queue-size: 100 |
| | | ds-cfg-backend-index-entry-limit: 10 |
| | | ds-cfg-backend-writability-mode: enabled |
| | | ds-cfg-backend-class: org.opends.server.backends.jeb.BackendImpl |
| | | ds-cfg-backend-subtree-delete-size-limit: 100000 |
| | | ds-cfg-backend-directory: db_verify |
| | | ds-cfg-backend-import-thread-count: 8 |
| | | ds-cfg-backend-preload-time-limit: 0 seconds |
| | | ds-cfg-backend-import-pass-size: 0 |
| | | ds-cfg-backend-entries-compressed: false |
| | | ds-cfg-backend-mode: 700 |
| | | ds-cfg-backend-enabled: TRUE |
| | | ds-cfg-backend-import-temp-directory: importTmp |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010722Z |
| | | |
| | | dn: cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Index |
| | | |
| | | dn: ds-cfg-index-attribute=cn,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: cn |
| | | |
| | | dn: ds-cfg-index-attribute=ds-sync-hist,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: ordering |
| | | ds-cfg-index-attribute: ds-sync-hist |
| | | |
| | | dn: ds-cfg-index-attribute=entryuuid,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-attribute: entryuuid |
| | | |
| | | dn: ds-cfg-index-attribute=givenName,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: givenName |
| | | |
| | | dn: ds-cfg-index-attribute=mail,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-type: ordering |
| | | ds-cfg-index-attribute: mail |
| | | |
| | | dn: ds-cfg-index-attribute=member,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-attribute: member |
| | | |
| | | dn: ds-cfg-index-attribute=sn,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: sn |
| | | |
| | | dn: ds-cfg-index-attribute=telephoneNumber,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: presence |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-type: substring |
| | | ds-cfg-index-attribute: telephoneNumber |
| | | |
| | | dn: ds-cfg-index-attribute=uid,cn=Index,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-je-index |
| | | ds-cfg-index-type: equality |
| | | ds-cfg-index-attribute: uid |
| | | |
| | | dn: cn=JE Database,ds-cfg-backend-id=verifyRoot,cn=Backends,cn=config |
| | | objectClass: ds-cfg-je-database |
| | | objectClass: top |
| | | ds-cfg-database-lock-num-lock-tables: 19 |
| | | ds-cfg-database-evictor-nodes-per-scan: 10 |
| | | ds-cfg-database-logging-file-handler-on: true |
| | | ds-cfg-database-evictor-lru-only: true |
| | | ds-cfg-database-cache-percent: 10 |
| | | ds-cfg-database-run-cleaner: true |
| | | ds-cfg-database-cleaner-min-utilization: 75 |
| | | ds-cfg-database-checkpointer-wakeup-interval: 30 seconds |
| | | ds-cfg-database-cache-size: 0 megabytes |
| | | ds-cfg-database-checkpointer-bytes-interval: 20 megabytes |
| | | ds-cfg-database-log-file-max: 50 megabytes |
| | | ds-cfg-database-cleaner-num-threads: 1 |
| | | ds-cfg-database-logging-level: CONFIG |
| | | cn: JE Database |
| | | ds-cfg-database-txn-no-sync: false |
| | | ds-cfg-database-txn-write-no-sync: true |
| | | |
| | | dn: cn=Certificate Mappers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Certificate Mappers |
| | | |
| | | dn: cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config |
| | | objectClass: ds-cfg-fingerprint-certificate-mapper |
| | | objectClass: top |
| | | objectClass: ds-cfg-certificate-mapper |
| | | ds-cfg-certificate-mapper-class: org.opends.server.extensions.FingerprintCertificateMapper |
| | | ds-cfg-certificate-mapper-enabled: true |
| | | ds-cfg-certificate-fingerprint-attribute-type: ds-certificate-fingerprint |
| | | cn: Fingerprint Mapper |
| | | ds-cfg-certificate-fingerprint-algorithm: MD5 |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010843Z |
| | | |
| | | dn: cn=Subject Attribute to User Attribute,cn=Certificate Mappers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-subject-attribute-to-user-attribute-certificate-mapper |
| | | objectClass: ds-cfg-certificate-mapper |
| | | ds-cfg-certificate-mapper-enabled: true |
| | | ds-cfg-certificate-mapper-class: org.opends.server.extensions.SubjectAttributeToUserAttributeCertificateMapper |
| | | ds-cfg-certificate-subject-attribute-mapping: cn:cn |
| | | ds-cfg-certificate-subject-attribute-mapping: e:mail |
| | | cn: Subject Attribute to User Attribute |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010846Z |
| | | |
| | | dn: cn=Subject DN to User Attribute,cn=Certificate Mappers,cn=config |
| | | objectClass: ds-cfg-subject-dn-to-user-attribute-certificate-mapper |
| | | objectClass: top |
| | | objectClass: ds-cfg-certificate-mapper |
| | | ds-cfg-certificate-mapper-enabled: true |
| | | ds-cfg-certificate-mapper-class: org.opends.server.extensions.SubjectDNToUserAttributeCertificateMapper |
| | | cn: Subject DN to User Attribute |
| | | ds-cfg-certificate-subject-attribute-type: ds-certificate-subject-dn |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010846Z |
| | | |
| | | dn: cn=Subject Equals DN,cn=Certificate Mappers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-certificate-mapper |
| | | cn: Subject Equals DN |
| | | ds-cfg-certificate-mapper-class: org.opends.server.extensions.SubjectEqualsDNCertificateMapper |
| | | ds-cfg-certificate-mapper-enabled: true |
| | | |
| | | dn: cn=Subject DN to User Attribute,cn=Certificate Mappers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-certificate-mapper |
| | | objectClass: ds-cfg-subject-dn-to-user-attribute-certificate-mapper |
| | | cn: Subject DN to User Attribute |
| | | ds-cfg-certificate-mapper-class: org.opends.server.extensions.SubjectDNToUserAttributeCertificateMapper |
| | | ds-cfg-certificate-mapper-enabled: true |
| | | ds-cfg-certificate-subject-attribute-type: ds-certificate-subject-dn |
| | | |
| | | dn: cn=Subject Attribute to User Attribute,cn=Certificate Mappers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-certificate-mapper |
| | | objectClass: ds-cfg-subject-attribute-to-user-attribute-certificate-mapper |
| | | cn: Subject Attribute to User Attribute |
| | | ds-cfg-certificate-mapper-class: org.opends.server.extensions.SubjectAttributeToUserAttributeCertificateMapper |
| | | ds-cfg-certificate-mapper-enabled: true |
| | | ds-cfg-certificate-subject-attribute-mapping: cn:cn |
| | | ds-cfg-certificate-subject-attribute-mapping: e:mail |
| | | |
| | | dn: cn=Fingerprint Mapper,cn=Certificate Mappers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-certificate-mapper |
| | | objectClass: ds-cfg-fingerprint-certificate-mapper |
| | | cn: Fingerprint Mapper |
| | | ds-cfg-certificate-mapper-class: org.opends.server.extensions.FingerprintCertificateMapper |
| | | ds-cfg-certificate-mapper-enabled: true |
| | | ds-cfg-certificate-fingerprint-attribute-type: ds-certificate-fingerprint |
| | | ds-cfg-certificate-fingerprint-algorithm: MD5 |
| | | cn: Subject Equals DN |
| | | |
| | | dn: cn=Connection Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Connection Handlers |
| | | |
| | | dn: cn=LDAP Connection Handler,cn=Connection Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-connection-handler |
| | | objectClass: ds-cfg-ldap-connection-handler |
| | | cn: LDAP Connection Handler |
| | | ds-cfg-connection-handler-class: org.opends.server.protocols.ldap.LDAPConnectionHandler |
| | | ds-cfg-connection-handler-enabled: true |
| | | ds-cfg-listen-address: 0.0.0.0 |
| | | ds-cfg-listen-port: 389 |
| | | ds-cfg-accept-backlog: 128 |
| | | ds-cfg-allow-ldapv2: true |
| | | ds-cfg-keep-stats: true |
| | | ds-cfg-use-tcp-keepalive: true |
| | | ds-cfg-use-tcp-nodelay: true |
| | | ds-cfg-allow-tcp-reuse-address: true |
| | | ds-cfg-send-rejection-notice: true |
| | | ds-cfg-max-request-size: 5 megabytes |
| | | ds-cfg-num-request-handlers: 2 |
| | | ds-cfg-allow-start-tls: false |
| | | ds-cfg-use-ssl: false |
| | | ds-cfg-ssl-client-auth-policy: optional |
| | | ds-cfg-ssl-cert-nickname: server-cert |
| | | |
| | | dn: cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-connection-handler |
| | | objectClass: ds-cfg-ldap-connection-handler |
| | | cn: LDAPS Connection Handler |
| | | ds-cfg-connection-handler-class: org.opends.server.protocols.ldap.LDAPConnectionHandler |
| | | ds-cfg-connection-handler-enabled: false |
| | | ds-cfg-listen-address: 0.0.0.0 |
| | | ds-cfg-listen-port: 636 |
| | | ds-cfg-accept-backlog: 128 |
| | | ds-cfg-allow-ldapv2: true |
| | | ds-cfg-keep-stats: true |
| | | ds-cfg-use-tcp-keepalive: true |
| | | ds-cfg-use-tcp-nodelay: true |
| | | ds-cfg-allow-tcp-reuse-address: true |
| | | ds-cfg-send-rejection-notice: true |
| | | ds-cfg-max-request-size: 5 megabytes |
| | | ds-cfg-num-request-handlers: 2 |
| | | ds-cfg-allow-start-tls: false |
| | | ds-cfg-use-ssl: true |
| | | ds-cfg-ssl-client-auth-policy: optional |
| | | ds-cfg-ssl-cert-nickname: server-cert |
| | | ds-cfg-key-manager-provider-dn: cn=JKS,cn=Key Manager Providers,cn=config |
| | | ds-cfg-trust-manager-provider-dn: cn=JKS,cn=Trust Manager Providers,cn=config |
| | | |
| | | dn: cn=JMX Connection Handler,cn=Connection Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-connection-handler |
| | | objectClass: ds-cfg-jmx-connection-handler |
| | | cn: JMX Connection Handler |
| | | ds-cfg-connection-handler-class: org.opends.server.protocols.jmx.JmxConnectionHandler |
| | | ds-cfg-connection-handler-enabled: true |
| | | ds-cfg-use-ssl: false |
| | | ds-cfg-listen-port: 1689 |
| | | ds-cfg-listen-port: 47147 |
| | | ds-cfg-ssl-cert-nickname: server-cert |
| | | ds-cfg-connection-handler-class: org.opends.server.protocols.jmx.JmxConnectionHandler |
| | | cn: JMX Connection Handler |
| | | ds-cfg-use-ssl: false |
| | | ds-cfg-connection-handler-enabled: true |
| | | |
| | | dn: cn=LDAP Connection Handler,cn=Connection Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-connection-handler |
| | | objectClass: ds-cfg-ldap-connection-handler |
| | | ds-cfg-trust-manager-provider-dn: cn=JKS,cn=Trust Manager Providers,cn=config |
| | | ds-cfg-use-tcp-nodelay: true |
| | | ds-cfg-use-tcp-keepalive: true |
| | | ds-cfg-ssl-client-auth-policy: optional |
| | | ds-cfg-allow-tcp-reuse-address: true |
| | | ds-cfg-use-ssl: false |
| | | ds-cfg-keep-stats: true |
| | | ds-cfg-listen-port: 47146 |
| | | ds-cfg-send-rejection-notice: true |
| | | ds-cfg-allow-start-tls: true |
| | | ds-cfg-ssl-cert-nickname: server-cert |
| | | ds-cfg-connection-handler-class: org.opends.server.protocols.ldap.LDAPConnectionHandler |
| | | ds-cfg-allow-ldapv2: true |
| | | ds-cfg-accept-backlog: 128 |
| | | cn: LDAP Connection Handler |
| | | ds-cfg-key-manager-provider-dn: cn=JKS,cn=Key Manager Providers,cn=config |
| | | ds-cfg-num-request-handlers: 2 |
| | | ds-cfg-listen-address: 0.0.0.0 |
| | | ds-cfg-connection-handler-enabled: true |
| | | ds-cfg-max-request-size: 5 megabytes |
| | | |
| | | dn: cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-connection-handler |
| | | objectClass: ds-cfg-ldap-connection-handler |
| | | ds-cfg-trust-manager-provider-dn: cn=JKS,cn=Trust Manager Providers,cn=config |
| | | ds-cfg-use-tcp-nodelay: true |
| | | ds-cfg-use-tcp-keepalive: true |
| | | ds-cfg-ssl-client-auth-policy: optional |
| | | ds-cfg-allow-tcp-reuse-address: true |
| | | ds-cfg-use-ssl: true |
| | | ds-cfg-keep-stats: true |
| | | ds-cfg-listen-port: 47148 |
| | | ds-cfg-send-rejection-notice: true |
| | | ds-cfg-allow-start-tls: false |
| | | ds-cfg-ssl-cert-nickname: server-cert |
| | | ds-cfg-connection-handler-class: org.opends.server.protocols.ldap.LDAPConnectionHandler |
| | | ds-cfg-allow-ldapv2: true |
| | | ds-cfg-accept-backlog: 128 |
| | | cn: LDAPS Connection Handler |
| | | ds-cfg-key-manager-provider-dn: cn=JKS,cn=Key Manager Providers,cn=config |
| | | ds-cfg-num-request-handlers: 2 |
| | | ds-cfg-listen-address: 0.0.0.0 |
| | | ds-cfg-connection-handler-enabled: true |
| | | ds-cfg-max-request-size: 5 megabytes |
| | | |
| | | dn: cn=Entry Cache,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-entry-cache |
| | | objectClass: ds-cfg-soft-reference-entry-cache |
| | | cn: Entry Cache |
| | | objectClass: ds-cfg-entry-cache |
| | | objectClass: top |
| | | ds-cfg-entry-cache-class: org.opends.server.extensions.SoftReferenceEntryCache |
| | | ds-cfg-entry-cache-enabled: false |
| | | cn: Entry Cache |
| | | |
| | | dn: cn=Extended Operations,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Extended Operations |
| | | |
| | | dn: cn=Cancel,cn=Extended Operations,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-extended-operation-handler |
| | | cn: Cancel |
| | | ds-cfg-extended-operation-handler-class: org.opends.server.extensions.CancelExtendedOperation |
| | | ds-cfg-extended-operation-handler-enabled: true |
| | | cn: Cancel |
| | | |
| | | dn: cn=Password Modify,cn=Extended Operations,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-extended-operation-handler |
| | | objectClass: ds-cfg-password-modify-extended-operation-handler |
| | | cn: Password Modify |
| | | ds-cfg-extended-operation-handler-class: org.opends.server.extensions.PasswordModifyExtendedOperation |
| | | ds-cfg-extended-operation-handler-enabled: true |
| | | cn: Password Modify |
| | | ds-cfg-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | |
| | | dn: cn=StartTLS,cn=Extended Operations,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-extended-operation-handler |
| | | cn: StartTLS |
| | | ds-cfg-extended-operation-handler-class: org.opends.server.extensions.StartTLSExtendedOperation |
| | | ds-cfg-extended-operation-handler-enabled: true |
| | | cn: StartTLS |
| | | |
| | | dn: cn=Who Am I,cn=Extended Operations,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-extended-operation-handler |
| | | cn: Who Am I |
| | | ds-cfg-extended-operation-handler-class: org.opends.server.extensions.WhoAmIExtendedOperation |
| | | ds-cfg-extended-operation-handler-enabled: true |
| | | cn: Who Am I |
| | | |
| | | dn: cn=Group Implementations,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Group Implementations |
| | | |
| | | dn: cn=Static,cn=Group Implementations,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-group-implementation |
| | | cn: Static |
| | | ds-cfg-group-implementation-class: org.opends.server.extensions.StaticGroup |
| | | ds-cfg-group-implementation-enabled: true |
| | | ds-cfg-group-implementation-class: org.opends.server.extensions.StaticGroup |
| | | cn: Static |
| | | |
| | | dn: cn=Identity Mappers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Identity Mappers |
| | | |
| | | dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | objectClass: ds-cfg-exact-match-identity-mapper |
| | | objectClass: top |
| | | objectClass: ds-cfg-identity-mapper |
| | | objectClass: ds-cfg-exact-match-identity-mapper |
| | | cn: Exact Match |
| | | ds-cfg-identity-mapper-class: org.opends.server.extensions.ExactMatchIdentityMapper |
| | | ds-cfg-identity-mapper-enabled: true |
| | | cn: Exact Match |
| | | ds-cfg-match-attribute: uid |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010843Z |
| | | |
| | | dn: cn=Key Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Key Manager Providers |
| | | |
| | | dn: cn=JKS,cn=Key Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-key-manager-provider |
| | | objectClass: top |
| | | objectClass: ds-cfg-file-based-key-manager-provider |
| | | cn: JKS |
| | | ds-cfg-key-manager-provider-class: org.opends.server.extensions.FileBasedKeyManagerProvider |
| | | ds-cfg-key-manager-provider-enabled: false |
| | | ds-cfg-key-store-type: JKS |
| | | ds-cfg-key-store-file: config/keystore |
| | | ds-cfg-key-store-pin-file: config/keystore.pin |
| | | |
| | | dn: cn=PKCS12,cn=Key Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-key-manager-provider |
| | | objectClass: ds-cfg-file-based-key-manager-provider |
| | | cn: PKCS12 |
| | | ds-cfg-key-manager-provider-class: org.opends.server.extensions.FileBasedKeyManagerProvider |
| | | ds-cfg-key-manager-provider-enabled: false |
| | | ds-cfg-key-store-type: PKCS12 |
| | | ds-cfg-key-store-file: config/keystore.p12 |
| | | ds-cfg-key-store-pin-file: config/keystore.pin |
| | | ds-cfg-key-store-pin: password |
| | | cn: JKS |
| | | ds-cfg-key-store-file: config/server.keystore |
| | | ds-cfg-key-manager-provider-enabled: true |
| | | |
| | | dn: cn=PKCS11,cn=Key Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-key-manager-provider |
| | | objectClass: top |
| | | objectClass: ds-cfg-pkcs11-key-manager-provider |
| | | cn: PKCS11 |
| | | ds-cfg-key-manager-provider-class: org.opends.server.extensions.PKCS11KeyManagerProvider |
| | | ds-cfg-key-manager-provider-enabled: false |
| | | ds-cfg-key-store-pin-file: config/keystore.pin |
| | | cn: PKCS11 |
| | | ds-cfg-key-manager-provider-enabled: false |
| | | |
| | | dn: cn=PKCS12,cn=Key Manager Providers,cn=config |
| | | objectClass: ds-cfg-key-manager-provider |
| | | objectClass: top |
| | | objectClass: ds-cfg-file-based-key-manager-provider |
| | | ds-cfg-key-store-type: PKCS12 |
| | | ds-cfg-key-manager-provider-class: org.opends.server.extensions.FileBasedKeyManagerProvider |
| | | ds-cfg-key-store-pin: password |
| | | cn: PKCS12 |
| | | ds-cfg-key-store-file: config/server-cert.p12 |
| | | ds-cfg-key-manager-provider-enabled: true |
| | | |
| | | dn: cn=Loggers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Loggers |
| | | |
| | | dn: cn=File-Based Access Logger,cn=Loggers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-logger |
| | | objectClass: ds-cfg-access-logger |
| | | objectClass: ds-cfg-file-based-access-logger |
| | | cn: File-Based Access Logger |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryAccessLogger |
| | | ds-cfg-logger-enabled: true |
| | | ds-cfg-log-file: logs/access |
| | | ds-cfg-suppress-internal-operations: true |
| | | objectClass: ds-cfg-logger |
| | | objectClass: top |
| | | objectClass: ds-cfg-access-logger |
| | | ds-cfg-rotation-policy: Size |
| | | ds-cfg-rotation-policy: FixedTime |
| | | ds-cfg-size-limit: 104857600 |
| | | ds-cfg-log-file: logs/access |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryAccessLogger |
| | | ds-cfg-fixed-time-limit: 86400000 |
| | | ds-cfg-suppress-internal-operations: false |
| | | cn: File-Based Access Logger |
| | | ds-cfg-logger-enabled: true |
| | | ds-cfg-size-limit: 104857600 |
| | | |
| | | dn: cn=File-Based Audit Logger,cn=Loggers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-logger |
| | | objectClass: ds-cfg-access-logger |
| | | objectClass: ds-cfg-file-based-access-logger |
| | | cn: File-Based Audit Logger |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryAuditLogger |
| | | ds-cfg-logger-enabled: false |
| | | ds-cfg-log-file: logs/audit |
| | | ds-cfg-suppress-internal-operations: true |
| | | objectClass: ds-cfg-logger |
| | | objectClass: top |
| | | objectClass: ds-cfg-access-logger |
| | | ds-cfg-rotation-policy: Size |
| | | ds-cfg-rotation-policy: FixedTime |
| | | ds-cfg-size-limit: 104857600 |
| | | ds-cfg-log-file: logs/audit |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryAuditLogger |
| | | ds-cfg-fixed-time-limit: 86400000 |
| | | ds-cfg-suppress-internal-operations: true |
| | | cn: File-Based Audit Logger |
| | | ds-cfg-logger-enabled: false |
| | | ds-cfg-size-limit: 104857600 |
| | | |
| | | dn: cn=File-Based Debug Logger,cn=Loggers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-logger |
| | | objectClass: ds-cfg-debug-logger |
| | | objectClass: top |
| | | objectClass: ds-cfg-file-based-debug-logger |
| | | cn: File-Based Debug Logger |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryDebugLogger |
| | | ds-cfg-logger-enabled: true |
| | | objectClass: ds-cfg-debug-logger |
| | | ds-cfg-log-file: logs/debug |
| | | ds-cfg-override-severity: EXCEPTION=INFO |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryDebugLogger |
| | | ds-cfg-default-severity: ERROR |
| | | ds-cfg-default-severity: WARNING |
| | | cn: File-Based Debug Logger |
| | | ds-cfg-logger-enabled: true |
| | | |
| | | dn: cn=File-Based Error Logger,cn=Loggers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-logger |
| | | objectClass: ds-cfg-error-logger |
| | | objectClass: top |
| | | objectClass: ds-cfg-file-based-error-logger |
| | | cn: File-Based Error Logger |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryErrorLogger |
| | | ds-cfg-logger-enabled: true |
| | | ds-cfg-rotation-policy: Size |
| | | ds-cfg-rotation-policy: FixedTime |
| | | ds-cfg-log-file: logs/errors |
| | | ds-cfg-logger-class: org.opends.server.loggers.DirectoryErrorLogger |
| | | ds-cfg-fixed-time-limit: 86400000 |
| | | ds-cfg-default-severity: FATAL_ERROR |
| | | ds-cfg-default-severity: NOTICE |
| | | ds-cfg-default-severity: SEVERE_ERROR |
| | | ds-cfg-default-severity: SEVERE_WARNING |
| | | ds-cfg-rotation-policy: Size |
| | | ds-cfg-rotation-policy: FixedTime |
| | | cn: File-Based Error Logger |
| | | ds-cfg-logger-enabled: true |
| | | ds-cfg-size-limit: 104857600 |
| | | ds-cfg-fixed-time-limit: 86400000 |
| | | |
| | | dn: cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Matching Rules |
| | | |
| | | dn: cn=Auth Password Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Auth Password Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.AuthPasswordEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Auth Password Exact Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Auth Password Exact Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.AuthPasswordExactEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Bit String Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Bit String Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.BitStringEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Boolean Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Boolean Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.BooleanEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Exact Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Exact Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseExactEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Exact Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | cn: Case Exact Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseExactOrderingMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Exact Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | cn: Case Exact Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseExactSubstringMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Exact IA5 Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Exact IA5 Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseExactIA5EqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Exact IA5 Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Exact IA5 Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseExactIA5SubstringMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Ignore Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | cn: Case Ignore Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Ignore Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | dn: cn=Case Exact Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | cn: Case Ignore Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreOrderingMatchingRule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Exact Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseExactOrderingMatchingRule |
| | | |
| | | dn: cn=Case Ignore Substring Matching Rule,cn=Matching Rules,cn=config |
| | | dn: cn=Case Exact Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | cn: Case Ignore Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreSubstringMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Exact Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseExactSubstringMatchingRule |
| | | |
| | | dn: cn=Case Ignore IA5 Equality Matching Rule,cn=Matching Rules,cn=config |
| | | dn: cn=Case Ignore Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Ignore Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreEqualityMatchingRule |
| | | |
| | | dn: cn=Case Ignore IA5 Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Ignore IA5 Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreIA5EqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Ignore IA5 Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Ignore IA5 Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreIA5SubstringMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Ignore List Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Ignore List Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreListEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Case Ignore List Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Ignore List Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreListSubstringMatchingRule |
| | | |
| | | dn: cn=Case Ignore Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Ignore Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreOrderingMatchingRule |
| | | |
| | | dn: cn=Case Ignore Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Case Ignore Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.CaseIgnoreSubstringMatchingRule |
| | | |
| | | dn: cn=Directory String First Component Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Directory String First Component Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.DirectoryStringFirstComponentEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Distinguished Name Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Distinguished Name Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.DistinguishedNameEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Double Metaphone Approximate Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-approximate-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Double Metaphone Approximate Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.DoubleMetaphoneApproximateMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Generalized Time Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Generalized Time Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.GeneralizedTimeEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Generalized Time Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Generalized Time Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.GeneralizedTimeOrderingMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Historical CSN Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | ds-cfg-matching-rule-class: org.opends.server.synchronization.plugin.HistoricalCsnOrderingMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Historical CSN Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.synchronization.plugin.HistoricalCsnOrderingMatchingRule |
| | | |
| | | dn: cn=Integer Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Integer Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.IntegerEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Integer Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | cn: Integer Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.IntegerOrderingMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Integer First Component Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Integer First Component Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.IntegerFirstComponentEqualityMatchingRule |
| | | |
| | | dn: cn=Integer Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Integer Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.IntegerOrderingMatchingRule |
| | | |
| | | dn: cn=Keyword Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Keyword Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.KeywordEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Numeric String Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Numeric String Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.NumericStringEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Numeric String Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Numeric String Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.NumericStringOrderingMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Numeric String Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Numeric String Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.NumericStringSubstringMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Object Identifier Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Object Identifier Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.ObjectIdentifierEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Object Identifier First Component Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Object Identifier First Component Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.ObjectIdentifierFirstComponentEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Octet String Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Octet String Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.OctetStringEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Octet String Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Octet String Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.OctetStringOrderingMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Octet String Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Octet String Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.OctetStringSubstringMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Presentation Address Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Presentation Address Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.PresentationAddressEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Protocol Information Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Protocol Information Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.ProtocolInformationEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Telephone Number Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Telephone Number Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.TelephoneNumberEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Telephone Number Substring Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Telephone Number Substring Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.TelephoneNumberSubstringMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Unique Member Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Unique Member Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.UniqueMemberEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=User Password Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: User Password Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.UserPasswordEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=User Password Exact Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: User Password Exact Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.UserPasswordExactEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=UUID Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-equality-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: UUID Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.UUIDEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=UUID Ordering Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-ordering-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: UUID Ordering Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.UUIDOrderingMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Word Equality Matching Rule,cn=Matching Rules,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-matching-rule |
| | | objectClass: ds-cfg-substring-matching-rule |
| | | ds-cfg-matching-rule-enabled: true |
| | | cn: Word Equality Matching Rule |
| | | ds-cfg-matching-rule-class: org.opends.server.schema.WordEqualityMatchingRule |
| | | ds-cfg-matching-rule-enabled: true |
| | | |
| | | dn: cn=Monitor Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Monitor Providers |
| | | |
| | | dn: cn=JVM Stack Trace,cn=Monitor Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-monitor-provider |
| | | cn: JVM Stack Trace |
| | | objectClass: top |
| | | ds-cfg-monitor-provider-class: org.opends.server.monitors.StackTraceMonitorProvider |
| | | ds-cfg-monitor-provider-enabled: true |
| | | cn: JVM Stack Trace |
| | | |
| | | dn: cn=System Info,cn=Monitor Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-monitor-provider |
| | | cn: System Info |
| | | objectClass: top |
| | | ds-cfg-monitor-provider-class: org.opends.server.monitors.SystemInfoMonitorProvider |
| | | ds-cfg-monitor-provider-enabled: true |
| | | cn: System Info |
| | | |
| | | dn: cn=Version,cn=Monitor Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-monitor-provider |
| | | cn: Version |
| | | objectClass: top |
| | | ds-cfg-monitor-provider-class: org.opends.server.monitors.VersionMonitorProvider |
| | | ds-cfg-monitor-provider-enabled: true |
| | | cn: Version |
| | | |
| | | dn: cn=Password Generators,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Password Generators |
| | | |
| | | dn: cn=Random Password Generator,cn=Password Generators,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-generator |
| | | objectClass: top |
| | | objectClass: ds-cfg-random-password-generator |
| | | cn: Random Password Generator |
| | | ds-cfg-password-generator-class: org.opends.server.extensions.RandomPasswordGenerator |
| | | ds-cfg-password-generator-enabled: true |
| | | ds-cfg-password-format: alpha:3,numeric:2,alpha:3 |
| | | ds-cfg-password-character-set: alpha:abcdefghijklmnopqrstuvwxyz |
| | | ds-cfg-password-character-set: numeric:0123456789 |
| | | ds-cfg-password-format: alpha:3,numeric:2,alpha:3 |
| | | ds-cfg-password-generator-enabled: true |
| | | cn: Random Password Generator |
| | | |
| | | dn: cn=Password Policies,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Password Policies |
| | | |
| | | dn: cn=Default Password Policy,cn=Password Policies,cn=config |
| | | objectClass: top |
| | | dn: cn=Clear UserPassword Policy,cn=Password Policies,cn=config |
| | | objectClass: ds-cfg-password-policy |
| | | cn: Default Password Policy |
| | | ds-cfg-password-attribute: userPassword |
| | | ds-cfg-default-password-storage-scheme: SSHA |
| | | ds-cfg-allow-expired-password-changes: false |
| | | ds-cfg-allow-multiple-password-values: false |
| | | ds-cfg-allow-pre-encoded-passwords: false |
| | | ds-cfg-allow-user-password-changes: true |
| | | ds-cfg-expire-passwords-without-warning: false |
| | | ds-cfg-force-change-on-add: false |
| | | ds-cfg-force-change-on-reset: false |
| | | ds-cfg-grace-login-count: 0 |
| | | ds-cfg-idle-lockout-interval: 0 seconds |
| | | ds-cfg-lockout-failure-count: 0 |
| | | objectClass: top |
| | | ds-cfg-skip-validation-for-administrators: false |
| | | ds-cfg-lockout-duration: 0 seconds |
| | | ds-cfg-maximum-password-age: 0 seconds |
| | | ds-cfg-lockout-failure-expiration-interval: 0 seconds |
| | | ds-cfg-allow-user-password-changes: true |
| | | ds-cfg-allow-multiple-password-values: false |
| | | ds-cfg-minimum-password-age: 0 seconds |
| | | ds-cfg-force-change-on-add: false |
| | | ds-cfg-allow-expired-password-changes: false |
| | | ds-cfg-password-attribute: userPassword |
| | | ds-cfg-lockout-failure-count: 0 |
| | | ds-cfg-allow-pre-encoded-passwords: false |
| | | ds-cfg-require-secure-password-changes: false |
| | | ds-cfg-password-change-requires-current-password: false |
| | | ds-cfg-force-change-on-reset: false |
| | | ds-cfg-password-expiration-warning-interval: 5 days |
| | | ds-cfg-default-password-storage-scheme: CLEAR |
| | | ds-cfg-grace-login-count: 0 |
| | | ds-cfg-maximum-password-reset-age: 0 seconds |
| | | ds-cfg-password-validator-dn: cn=Test Password Validator,cn=Password Validators,cn=config |
| | | ds-cfg-expire-passwords-without-warning: false |
| | | ds-cfg-idle-lockout-interval: 0 seconds |
| | | ds-cfg-password-generator-dn: cn=Random Password Generator,cn=Password Generators,cn=config |
| | | ds-cfg-require-secure-authentication: false |
| | | cn: Test AuthPassword Policy |
| | | |
| | | dn: cn=Default Password Policy,cn=Password Policies,cn=config |
| | | objectClass: ds-cfg-password-policy |
| | | objectClass: top |
| | | ds-cfg-skip-validation-for-administrators: false |
| | | ds-cfg-password-expiration-warning-interval: 5 days |
| | | ds-cfg-default-password-storage-scheme: SSHA |
| | | ds-cfg-grace-login-count: 0 |
| | | ds-cfg-lockout-duration: 0 seconds |
| | | ds-cfg-maximum-password-age: 0 seconds |
| | | ds-cfg-maximum-password-reset-age: 0 seconds |
| | | ds-cfg-password-expiration-warning-interval: 5 days |
| | | ds-cfg-lockout-failure-expiration-interval: 0 seconds |
| | | ds-cfg-allow-user-password-changes: true |
| | | ds-cfg-allow-multiple-password-values: false |
| | | ds-cfg-minimum-password-age: 0 seconds |
| | | ds-cfg-expire-passwords-without-warning: false |
| | | ds-cfg-idle-lockout-interval: 0 seconds |
| | | ds-cfg-password-generator-dn: cn=Random Password Generator,cn=Password Generators,cn=config |
| | | ds-cfg-password-change-requires-current-password: false |
| | | ds-cfg-require-secure-authentication: false |
| | | ds-cfg-force-change-on-add: false |
| | | ds-cfg-allow-expired-password-changes: false |
| | | ds-cfg-password-attribute: userPassword |
| | | ds-cfg-lockout-failure-count: 0 |
| | | ds-cfg-allow-pre-encoded-passwords: false |
| | | cn: Default Password Policy |
| | | ds-cfg-require-secure-password-changes: false |
| | | ds-cfg-skip-validation-for-administrators: false |
| | | ds-cfg-password-change-requires-current-password: false |
| | | ds-cfg-force-change-on-reset: false |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010844Z |
| | | |
| | | dn: cn=Root Password Policy,cn=Password Policies,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-policy |
| | | cn: Root Password Policy |
| | | ds-cfg-password-attribute: userPassword |
| | | objectClass: top |
| | | ds-cfg-password-expiration-warning-interval: 5 days |
| | | ds-cfg-skip-validation-for-administrators: false |
| | | ds-cfg-default-password-storage-scheme: SSHA |
| | | ds-cfg-allow-expired-password-changes: false |
| | | ds-cfg-allow-multiple-password-values: false |
| | | ds-cfg-allow-pre-encoded-passwords: false |
| | | ds-cfg-allow-user-password-changes: true |
| | | ds-cfg-expire-passwords-without-warning: false |
| | | ds-cfg-force-change-on-add: false |
| | | ds-cfg-force-change-on-reset: false |
| | | ds-cfg-grace-login-count: 0 |
| | | ds-cfg-idle-lockout-interval: 0 seconds |
| | | ds-cfg-lockout-failure-count: 0 |
| | | ds-cfg-lockout-duration: 0 seconds |
| | | ds-cfg-maximum-password-reset-age: 0 seconds |
| | | ds-cfg-maximum-password-age: 0 seconds |
| | | ds-cfg-lockout-failure-expiration-interval: 0 seconds |
| | | ds-cfg-allow-multiple-password-values: false |
| | | ds-cfg-allow-user-password-changes: true |
| | | ds-cfg-minimum-password-age: 0 seconds |
| | | ds-cfg-expire-passwords-without-warning: false |
| | | ds-cfg-idle-lockout-interval: 0 seconds |
| | | ds-cfg-require-secure-authentication: false |
| | | ds-cfg-force-change-on-add: false |
| | | ds-cfg-allow-pre-encoded-passwords: false |
| | | ds-cfg-allow-expired-password-changes: false |
| | | ds-cfg-password-attribute: userPassword |
| | | ds-cfg-lockout-failure-count: 0 |
| | | cn: Root Password Policy |
| | | ds-cfg-require-secure-password-changes: false |
| | | ds-cfg-password-change-requires-current-password: true |
| | | ds-cfg-force-change-on-reset: false |
| | | |
| | | dn: cn=SHA1 AuthPassword Policy,cn=Password Policies,cn=config |
| | | objectClass: ds-cfg-password-policy |
| | | objectClass: top |
| | | ds-cfg-skip-validation-for-administrators: false |
| | | ds-cfg-password-expiration-warning-interval: 5 days |
| | | ds-cfg-default-password-storage-scheme: SHA1 |
| | | ds-cfg-grace-login-count: 0 |
| | | ds-cfg-lockout-duration: 0 seconds |
| | | ds-cfg-maximum-password-age: 0 seconds |
| | | ds-cfg-maximum-password-reset-age: 0 seconds |
| | | ds-cfg-password-expiration-warning-interval: 5 days |
| | | ds-cfg-password-change-requires-current-password: true |
| | | ds-cfg-lockout-failure-expiration-interval: 0 seconds |
| | | ds-cfg-allow-user-password-changes: true |
| | | ds-cfg-allow-multiple-password-values: false |
| | | ds-cfg-minimum-password-age: 0 seconds |
| | | ds-cfg-expire-passwords-without-warning: false |
| | | ds-cfg-idle-lockout-interval: 0 seconds |
| | | ds-cfg-password-generator-dn: cn=Random Password Generator,cn=Password Generators,cn=config |
| | | ds-cfg-require-secure-authentication: false |
| | | ds-cfg-force-change-on-add: false |
| | | ds-cfg-allow-expired-password-changes: false |
| | | ds-cfg-password-attribute: authPassword |
| | | ds-cfg-lockout-failure-count: 0 |
| | | ds-cfg-allow-pre-encoded-passwords: false |
| | | cn: SHA1 AuthPassword Policy |
| | | ds-cfg-require-secure-password-changes: false |
| | | ds-cfg-password-change-requires-current-password: false |
| | | ds-cfg-force-change-on-reset: false |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010844Z |
| | | |
| | | dn: cn=SSHA512 UserPassword Policy,cn=Password Policies,cn=config |
| | | objectClass: ds-cfg-password-policy |
| | | objectClass: top |
| | | ds-cfg-skip-validation-for-administrators: false |
| | | ds-cfg-lockout-duration: 0 seconds |
| | | ds-cfg-maximum-password-age: 0 seconds |
| | | ds-cfg-lockout-failure-expiration-interval: 0 seconds |
| | | ds-cfg-allow-user-password-changes: true |
| | | ds-cfg-allow-multiple-password-values: false |
| | | ds-cfg-minimum-password-age: 0 seconds |
| | | ds-cfg-force-change-on-add: false |
| | | ds-cfg-allow-expired-password-changes: false |
| | | ds-cfg-password-attribute: userPassword |
| | | ds-cfg-lockout-failure-count: 0 |
| | | ds-cfg-allow-pre-encoded-passwords: false |
| | | ds-cfg-require-secure-password-changes: false |
| | | ds-cfg-password-change-requires-current-password: false |
| | | ds-cfg-force-change-on-reset: false |
| | | ds-cfg-password-expiration-warning-interval: 5 days |
| | | ds-cfg-default-password-storage-scheme: SSHA512 |
| | | ds-cfg-grace-login-count: 0 |
| | | ds-cfg-maximum-password-reset-age: 0 seconds |
| | | ds-cfg-password-validator-dn: cn=Test Password Validator,cn=Password Validators,cn=config |
| | | ds-cfg-expire-passwords-without-warning: false |
| | | ds-cfg-idle-lockout-interval: 0 seconds |
| | | ds-cfg-password-generator-dn: cn=Random Password Generator,cn=Password Generators,cn=config |
| | | ds-cfg-require-secure-authentication: false |
| | | cn: SSHA512 UserPassword Policy |
| | | |
| | | dn: cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Password Storage Schemes |
| | | |
| | | dn: cn=Base64,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: Base64 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.Base64PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.Base64PasswordStorageScheme |
| | | cn: Base64 |
| | | |
| | | dn: cn=Clear,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: Clear |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.ClearPasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.ClearPasswordStorageScheme |
| | | cn: Clear |
| | | |
| | | dn: cn=MD5,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: MD5 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.MD5PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.MD5PasswordStorageScheme |
| | | cn: MD5 |
| | | |
| | | dn: cn=Salted MD5,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: Salted MD5 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedMD5PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedMD5PasswordStorageScheme |
| | | cn: Salted MD5 |
| | | |
| | | dn: cn=Salted SHA-1,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: Salted SHA-1 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA1PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA1PasswordStorageScheme |
| | | cn: Salted SHA-1 |
| | | |
| | | dn: cn=Salted SHA-256,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: Salted SHA-256 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA256PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA256PasswordStorageScheme |
| | | cn: Salted SHA-256 |
| | | |
| | | dn: cn=Salted SHA-384,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: Salted SHA-384 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA384PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA384PasswordStorageScheme |
| | | cn: Salted SHA-384 |
| | | |
| | | dn: cn=Salted SHA-512,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: Salted SHA-512 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA512PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SaltedSHA512PasswordStorageScheme |
| | | cn: Salted SHA-512 |
| | | |
| | | dn: cn=SHA-1,cn=Password Storage Schemes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-storage-scheme |
| | | cn: SHA-1 |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SHA1PasswordStorageScheme |
| | | ds-cfg-password-storage-scheme-enabled: true |
| | | ds-cfg-password-storage-scheme-class: org.opends.server.extensions.SHA1PasswordStorageScheme |
| | | cn: SHA-1 |
| | | |
| | | dn: cn=Password Validators,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Password Validators |
| | | |
| | | dn: cn=Length-Based Password Validator,cn=Password Validators,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-password-validator |
| | | objectClass: top |
| | | objectClass: ds-cfg-length-based-password-validator |
| | | cn: Length-Based Password Validator |
| | | ds-cfg-password-validator-class: org.opends.server.extensions.LengthBasedPasswordValidator |
| | | ds-cfg-password-validator-enabled: true |
| | | ds-cfg-minimum-password-length: 6 |
| | | ds-cfg-maximum-password-length: 0 |
| | | ds-cfg-password-validator-class: org.opends.server.extensions.LengthBasedPasswordValidator |
| | | ds-cfg-minimum-password-length: 6 |
| | | cn: Length-Based Password Validator |
| | | ds-cfg-password-validator-enabled: true |
| | | |
| | | dn: cn=Test Password Validator,cn=Password Validators,cn=config |
| | | objectClass: ds-cfg-password-validator |
| | | objectClass: top |
| | | ds-cfg-password-validator-class: org.opends.server.extensions.TestPasswordValidator |
| | | cn: Test Password Validator |
| | | ds-cfg-password-validator-enabled: true |
| | | |
| | | dn: cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Plugins |
| | | |
| | | dn: cn=Delay PreOperation Plugin,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | ds-cfg-plugin-class: org.opends.server.plugins.DelayPreOpPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: Delay PreOperation Plugin |
| | | ds-cfg-plugin-type: preOperationAdd |
| | | ds-cfg-plugin-type: preOperationBind |
| | | ds-cfg-plugin-type: preOperationCompare |
| | | ds-cfg-plugin-type: preOperationDelete |
| | | ds-cfg-plugin-type: preOperationExtended |
| | | ds-cfg-plugin-type: preOperationModify |
| | | ds-cfg-plugin-type: preOperationModifyDN |
| | | ds-cfg-plugin-type: preOperationSearch |
| | | |
| | | dn: cn=Disconnect Client Plugin,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | ds-cfg-plugin-class: org.opends.server.plugins.DisconnectClientPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: Disconnect Client Plugin |
| | | ds-cfg-plugin-type: preParseAbandon |
| | | ds-cfg-plugin-type: preParseAdd |
| | | ds-cfg-plugin-type: preParseBind |
| | | ds-cfg-plugin-type: preParseCompare |
| | | ds-cfg-plugin-type: preParseDelete |
| | | ds-cfg-plugin-type: preParseExtended |
| | | ds-cfg-plugin-type: preParseModify |
| | | ds-cfg-plugin-type: preParseModifyDN |
| | | ds-cfg-plugin-type: preParseSearch |
| | | ds-cfg-plugin-type: preParseUnbind |
| | | ds-cfg-plugin-type: preOperationAdd |
| | | ds-cfg-plugin-type: preOperationBind |
| | | ds-cfg-plugin-type: preOperationCompare |
| | | ds-cfg-plugin-type: preOperationDelete |
| | | ds-cfg-plugin-type: preOperationExtended |
| | | ds-cfg-plugin-type: preOperationModify |
| | | ds-cfg-plugin-type: preOperationModifyDN |
| | | ds-cfg-plugin-type: preOperationSearch |
| | | ds-cfg-plugin-type: postOperationAbandon |
| | | ds-cfg-plugin-type: postOperationAdd |
| | | ds-cfg-plugin-type: postOperationBind |
| | | ds-cfg-plugin-type: postOperationCompare |
| | | ds-cfg-plugin-type: postOperationDelete |
| | | ds-cfg-plugin-type: postOperationExtended |
| | | ds-cfg-plugin-type: postOperationModify |
| | | ds-cfg-plugin-type: postOperationModifyDN |
| | | ds-cfg-plugin-type: postOperationSearch |
| | | ds-cfg-plugin-type: postOperationUnbind |
| | | ds-cfg-plugin-type: postResponseAdd |
| | | ds-cfg-plugin-type: postResponseBind |
| | | ds-cfg-plugin-type: postResponseCompare |
| | | ds-cfg-plugin-type: postResponseDelete |
| | | ds-cfg-plugin-type: postResponseExtended |
| | | ds-cfg-plugin-type: postResponseModify |
| | | ds-cfg-plugin-type: postResponseModifyDN |
| | | ds-cfg-plugin-type: postResponseSearch |
| | | |
| | | dn: cn=Entry UUID,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | cn: Entry UUID |
| | | ds-cfg-plugin-class: org.opends.server.plugins.EntryUUIDPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: Entry UUID |
| | | ds-cfg-plugin-type: ldifImport |
| | | ds-cfg-plugin-type: preOperationAdd |
| | | |
| | | dn: cn=Invocation Counter Plugin,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | ds-cfg-plugin-class: org.opends.server.plugins.InvocationCounterPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: Invocation Counter Plugin |
| | | ds-cfg-plugin-type: preParseAbandon |
| | | ds-cfg-plugin-type: preParseAdd |
| | | ds-cfg-plugin-type: preParseBind |
| | | ds-cfg-plugin-type: preParseCompare |
| | | ds-cfg-plugin-type: preParseDelete |
| | | ds-cfg-plugin-type: preParseExtended |
| | | ds-cfg-plugin-type: preParseModify |
| | | ds-cfg-plugin-type: preParseModifyDN |
| | | ds-cfg-plugin-type: preParseSearch |
| | | ds-cfg-plugin-type: preParseUnbind |
| | | ds-cfg-plugin-type: preOperationAdd |
| | | ds-cfg-plugin-type: preOperationBind |
| | | ds-cfg-plugin-type: preOperationCompare |
| | | ds-cfg-plugin-type: preOperationDelete |
| | | ds-cfg-plugin-type: preOperationExtended |
| | | ds-cfg-plugin-type: preOperationModify |
| | | ds-cfg-plugin-type: preOperationModifyDN |
| | | ds-cfg-plugin-type: preOperationSearch |
| | | ds-cfg-plugin-type: postOperationAbandon |
| | | ds-cfg-plugin-type: postOperationAdd |
| | | ds-cfg-plugin-type: postOperationBind |
| | | ds-cfg-plugin-type: postOperationCompare |
| | | ds-cfg-plugin-type: postOperationDelete |
| | | ds-cfg-plugin-type: postOperationExtended |
| | | ds-cfg-plugin-type: postOperationModify |
| | | ds-cfg-plugin-type: postOperationModifyDN |
| | | ds-cfg-plugin-type: postOperationSearch |
| | | ds-cfg-plugin-type: postOperationUnbind |
| | | ds-cfg-plugin-type: postResponseAdd |
| | | ds-cfg-plugin-type: postResponseBind |
| | | ds-cfg-plugin-type: postResponseCompare |
| | | ds-cfg-plugin-type: postResponseDelete |
| | | ds-cfg-plugin-type: postResponseExtended |
| | | ds-cfg-plugin-type: postResponseModify |
| | | ds-cfg-plugin-type: postResponseModifyDN |
| | | ds-cfg-plugin-type: postResponseSearch |
| | | ds-cfg-plugin-type: searchResultEntry |
| | | ds-cfg-plugin-type: searchResultReference |
| | | ds-cfg-plugin-type: intermediateResponse |
| | | ds-cfg-plugin-type: postConnect |
| | | ds-cfg-plugin-type: postDisconnect |
| | | ds-cfg-plugin-type: ldifImport |
| | | ds-cfg-plugin-type: ldifExport |
| | | ds-cfg-plugin-type: startup |
| | | ds-cfg-plugin-type: shutdown |
| | | |
| | | dn: cn=LastMod,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | cn: LastMod |
| | | ds-cfg-plugin-class: org.opends.server.plugins.LastModPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: LastMod |
| | | ds-cfg-plugin-type: preOperationAdd |
| | | ds-cfg-plugin-type: preOperationModify |
| | | ds-cfg-plugin-type: preOperationModifyDN |
| | |
| | | dn: cn=LDAP Attribute Description List,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | cn: LDAP Attribute Description List |
| | | ds-cfg-plugin-class: org.opends.server.plugins.LDAPADListPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: LDAP Attribute Description List |
| | | ds-cfg-plugin-type: preParseSearch |
| | | |
| | | dn: cn=Password Policy Import,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | cn: Password Policy Import |
| | | ds-cfg-plugin-class: org.opends.server.plugins.PasswordPolicyImportPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: Password Policy Import |
| | | ds-cfg-plugin-type: ldifImport |
| | | |
| | | dn: cn=Profiler,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | objectClass: ds-cfg-profiler-plugin |
| | | cn: Profiler |
| | | ds-cfg-plugin-enabled: true |
| | | objectClass: ds-cfg-plugin |
| | | ds-cfg-plugin-class: org.opends.server.plugins.profiler.ProfilerPlugin |
| | | ds-cfg-profile-sample-interval: 10 milliseconds |
| | | ds-cfg-plugin-enabled: true |
| | | ds-cfg-profile-directory: logs |
| | | cn: Profiler |
| | | ds-cfg-plugin-type: startup |
| | | ds-cfg-enable-profiling-on-startup: false |
| | | ds-cfg-profile-directory: logs |
| | | ds-cfg-profile-sample-interval: 10 milliseconds |
| | | |
| | | dn: cn=Short Circuit Plugin,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | ds-cfg-plugin-class: org.opends.server.plugins.ShortCircuitPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: Short Circuit Plugin |
| | | ds-cfg-plugin-type: preParseAbandon |
| | | ds-cfg-plugin-type: preParseAdd |
| | | ds-cfg-plugin-type: preParseBind |
| | | ds-cfg-plugin-type: preParseCompare |
| | | ds-cfg-plugin-type: preParseDelete |
| | | ds-cfg-plugin-type: preParseExtended |
| | | ds-cfg-plugin-type: preParseModify |
| | | ds-cfg-plugin-type: preParseModifyDN |
| | | ds-cfg-plugin-type: preParseSearch |
| | | ds-cfg-plugin-type: preParseUnbind |
| | | ds-cfg-plugin-type: preOperationAdd |
| | | ds-cfg-plugin-type: preOperationBind |
| | | ds-cfg-plugin-type: preOperationCompare |
| | | ds-cfg-plugin-type: preOperationDelete |
| | | ds-cfg-plugin-type: preOperationExtended |
| | | ds-cfg-plugin-type: preOperationModify |
| | | ds-cfg-plugin-type: preOperationModifyDN |
| | | ds-cfg-plugin-type: preOperationSearch |
| | | |
| | | dn: cn=Update PreOperation Plugin,cn=Plugins,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-plugin |
| | | ds-cfg-plugin-class: org.opends.server.plugins.UpdatePreOpPlugin |
| | | ds-cfg-plugin-enabled: true |
| | | cn: Delay PreOperation Plugin |
| | | ds-cfg-plugin-type: preOperationAdd |
| | | ds-cfg-plugin-type: preOperationModify |
| | | |
| | | dn: cn=Root DNs,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-root-dn-base |
| | | cn: Root DNs |
| | | objectClass: top |
| | | ds-cfg-default-root-privilege-name: bypass-acl |
| | | ds-cfg-default-root-privilege-name: modify-acl |
| | | ds-cfg-default-root-privilege-name: config-read |
| | |
| | | ds-cfg-default-root-privilege-name: password-reset |
| | | ds-cfg-default-root-privilege-name: update-schema |
| | | ds-cfg-default-root-privilege-name: privilege-change |
| | | cn: Root DNs |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301011032Z |
| | | |
| | | dn: cn=Directory Manager,cn=Root DNs,cn=config |
| | | objectClass: top |
| | | objectClass: person |
| | | objectClass: organizationalPerson |
| | | objectClass: inetOrgPerson |
| | | objectClass: person |
| | | objectClass: top |
| | | objectClass: organizationalPerson |
| | | objectClass: ds-cfg-root-dn |
| | | userPassword: {SSHA}bT3wAPjyrpVlzX5548I8vvhZ91xIMPWiHRSR3Q== |
| | | cn: Directory Manager |
| | | givenName: Directory |
| | | sn: Manager |
| | | userPassword: {SSHA512}l1t43vVl7Uh03PpQ2vCsT0B7Q0HTi+tKJmH7tZTmSGaKrMHWHO1czfwEsjMgfbeQoiYQDGDuxolipR0H6ajMu1YHlTjPNG9Z |
| | | givenName: Directory |
| | | ds-cfg-alternate-bind-dn: cn=Directory Manager |
| | | ds-rlim-size-limit: 0 |
| | | modifiersName: cn=Directory Manager,cn=Root DNs,cn=config |
| | | ds-rlim-time-limit: 0 |
| | | modifyTimestamp: 20070301010844Z |
| | | pwdChangedTime: 20070301010844.840Z |
| | | ds-rlim-lookthrough-limit: 0 |
| | | ds-rlim-size-limit: 0 |
| | | ds-pwp-password-policy-dn: cn=Root Password Policy,cn=Password Policies,cn=config |
| | | |
| | | dn: cn=Root DSE,cn=config |
| | | dn: cn=Proxy Root,cn=Root DNs,cn=config |
| | | objectClass: inetOrgPerson |
| | | objectClass: person |
| | | objectClass: top |
| | | objectClass: organizationalPerson |
| | | objectClass: ds-cfg-root-dn |
| | | sn: Root |
| | | userPassword: {SSHA}BrU+IXUb4GWXKe6Zeb6DQAzTVcaw3LUj7JcpVQ== |
| | | cn: Proxy Root |
| | | uid: proxy.root |
| | | givenName: Proxy |
| | | pwdChangedTime: 20070301011015.945Z |
| | | entryUUID: f3f5c38a-2c20-4f31-a6ce-e5c0af21da82 |
| | | createTimestamp: 20070301011015Z |
| | | creatorsName: cn=Internal Client,cn=Root DNs,cn=config |
| | | ds-privilege-name: proxied-auth |
| | | |
| | | dn: cn=Root DSE,cn=config |
| | | objectClass: ds-cfg-root-dse |
| | | cn: Root DSE |
| | | objectClass: top |
| | | ds-cfg-show-all-attributes: false |
| | | cn: Root DSE |
| | | |
| | | dn: cn=SASL Mechanisms,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: SASL Mechanisms |
| | | |
| | | dn: cn=ANONYMOUS,cn=SASL Mechanisms,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-sasl-mechanism-handler |
| | | cn: ANONYMOUS |
| | | objectClass: top |
| | | ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.AnonymousSASLMechanismHandler |
| | | ds-cfg-sasl-mechanism-handler-enabled: false |
| | | cn: ANONYMOUS |
| | | |
| | | dn: cn=CRAM-MD5,cn=SASL Mechanisms,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-sasl-mechanism-handler |
| | | objectClass: top |
| | | objectClass: ds-cfg-cram-md5-sasl-mechanism-handler |
| | | cn: CRAM-MD5 |
| | | ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.CRAMMD5SASLMechanismHandler |
| | | ds-cfg-sasl-mechanism-handler-enabled: true |
| | | cn: CRAM-MD5 |
| | | ds-cfg-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | |
| | | dn: cn=DIGEST-MD5,cn=SASL Mechanisms,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-sasl-mechanism-handler |
| | | objectClass: top |
| | | objectClass: ds-cfg-digest-md5-sasl-mechanism-handler |
| | | cn: DIGEST-MD5 |
| | | ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.DigestMD5SASLMechanismHandler |
| | | ds-cfg-sasl-mechanism-handler-enabled: true |
| | | cn: DIGEST-MD5 |
| | | ds-cfg-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | |
| | | dn: cn=EXTERNAL,cn=SASL Mechanisms,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-sasl-mechanism-handler |
| | | objectClass: top |
| | | objectClass: ds-cfg-external-sasl-mechanism-handler |
| | | cn: EXTERNAL |
| | | ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.ExternalSASLMechanismHandler |
| | | ds-cfg-sasl-mechanism-handler-enabled: true |
| | | ds-cfg-client-certificate-validation-policy: ifpresent |
| | | ds-cfg-certificate-attribute: userCertificate |
| | | cn: EXTERNAL |
| | | ds-cfg-certificate-mapper-dn: cn=Subject Equals DN,cn=Certificate Mappers,cn=config |
| | | ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.ExternalSASLMechanismHandler |
| | | ds-cfg-certificate-attribute: userCertificate |
| | | ds-cfg-client-certificate-validation-policy: ifpresent |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010846Z |
| | | |
| | | dn: cn=GSSAPI,cn=SASL Mechanisms,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-sasl-mechanism-handler |
| | | objectClass: ds-cfg-gssapi-sasl-mechanism-handler |
| | | cn: GSSAPI |
| | | objectClass: top |
| | | ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.GSSAPISASLMechanismHandler |
| | | ds-cfg-sasl-mechanism-handler-enabled: false |
| | | ds-cfg-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | ds-cfg-keytab: /etc/krb5/krb5.keytab |
| | | ds-cfg-sasl-mechanism-handler-enabled: false |
| | | cn: GSSAPI |
| | | ds-cfg-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | |
| | | dn: cn=PLAIN,cn=SASL Mechanisms,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-sasl-mechanism-handler |
| | | objectClass: ds-cfg-plain-sasl-mechanism-handler |
| | | cn: PLAIN |
| | | objectClass: top |
| | | ds-cfg-sasl-mechanism-handler-class: org.opends.server.extensions.PlainSASLMechanismHandler |
| | | ds-cfg-sasl-mechanism-handler-enabled: true |
| | | cn: PLAIN |
| | | ds-cfg-identity-mapper-dn: cn=Exact Match,cn=Identity Mappers,cn=config |
| | | |
| | | dn: cn=Synchronization Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Synchronization Providers |
| | | |
| | | dn: cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Syntaxes |
| | | |
| | | dn: cn=Absolute Subtree Specification,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Absolute Subtree Specification |
| | | ds-cfg-syntax-class: org.opends.server.schema.AbsoluteSubtreeSpecificationSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Absolute Subtree Specification |
| | | |
| | | dn: cn=Attribute Type Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Attribute Type Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.AttributeTypeSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Attribute Type Description |
| | | |
| | | dn: cn=Authentication Password,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Authentiation Password |
| | | ds-cfg-syntax-class: org.opends.server.schema.AuthPasswordSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Authentiation Password |
| | | |
| | | dn: cn=Binary,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Binary |
| | | ds-cfg-syntax-class: org.opends.server.schema.BinarySyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Binary |
| | | |
| | | dn: cn=Bit String,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Bit String |
| | | ds-cfg-syntax-class: org.opends.server.schema.BitStringSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Bit String |
| | | |
| | | dn: cn=Boolean,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Boolean |
| | | ds-cfg-syntax-class: org.opends.server.schema.BooleanSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Boolean |
| | | |
| | | dn: cn=Certificate,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Certificate |
| | | ds-cfg-syntax-class: org.opends.server.schema.CertificateSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Certificate |
| | | |
| | | dn: cn=Certificate List,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Certificate List |
| | | ds-cfg-syntax-class: org.opends.server.schema.CertificateListSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Certificate List |
| | | |
| | | dn: cn=Certificate Pair,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Certificate Pair |
| | | ds-cfg-syntax-class: org.opends.server.schema.CertificatePairSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Certificate Pair |
| | | |
| | | dn: cn=Country String,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Country String |
| | | ds-cfg-syntax-class: org.opends.server.schema.CountryStringSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Country String |
| | | |
| | | dn: cn=Delivery Method,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Delivery Method |
| | | ds-cfg-syntax-class: org.opends.server.schema.DeliveryMethodSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Delivery Method |
| | | |
| | | dn: cn=Directory String,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | objectClass: ds-cfg-directory-string-attribute-syntax |
| | | cn: Directory String |
| | | objectClass: ds-cfg-attribute-syntax |
| | | ds-cfg-allow-zero-length-values: false |
| | | ds-cfg-syntax-class: org.opends.server.schema.DirectoryStringSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | ds-cfg-allow-zero-length-values: false |
| | | cn: Directory String |
| | | |
| | | dn: cn=Distinguished Name,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Distinguished Name |
| | | ds-cfg-syntax-class: org.opends.server.schema.DistinguishedNameSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Distinguished Name |
| | | |
| | | dn: cn=DIT Content Rule Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: DIT Content Rule Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.DITContentRuleSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: DIT Content Rule Description |
| | | |
| | | dn: cn=DIT Structure Rule Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: DIT Structure Rule Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.DITStructureRuleSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: DIT Structure Rule Description |
| | | |
| | | dn: cn=Enhanced Guide,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Enhanced Guide |
| | | ds-cfg-syntax-class: org.opends.server.schema.EnhancedGuideSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Enhanced Guide |
| | | |
| | | dn: cn=Facsimile Telephone Number,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Facsimile Telephone Number |
| | | ds-cfg-syntax-class: org.opends.server.schema.FaxNumberSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Facsimile Telephone Number |
| | | |
| | | dn: cn=Fax,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Fax |
| | | ds-cfg-syntax-class: org.opends.server.schema.FaxSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Fax |
| | | |
| | | dn: cn=Generalized Time,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Generalized Time |
| | | ds-cfg-syntax-class: org.opends.server.schema.GeneralizedTimeSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Generalized Time |
| | | |
| | | dn: cn=Guide,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Guide |
| | | ds-cfg-syntax-class: org.opends.server.schema.GuideSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Guide |
| | | |
| | | dn: cn=IA5 String,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: IA5 String |
| | | ds-cfg-syntax-class: org.opends.server.schema.IA5StringSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: IA5 String |
| | | |
| | | dn: cn=Integer,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Integer |
| | | ds-cfg-syntax-class: org.opends.server.schema.IntegerSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Integer |
| | | |
| | | dn: cn=JPEG,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: JPEG |
| | | ds-cfg-syntax-class: org.opends.server.schema.JPEGSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: JPEG |
| | | |
| | | dn: cn=LDAP Syntax Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: LDAP Syntax Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.LDAPSyntaxDescriptionSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: LDAP Syntax Description |
| | | |
| | | dn: cn=Matching Rule Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Matching Rule Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.MatchingRuleSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Matching Rule Description |
| | | |
| | | dn: cn=Matching Rule Use Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Matching Rule Use Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.MatchingRuleUseSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Matching Rule Use Description |
| | | |
| | | dn: cn=Name and Optional UID,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Name and Optional UID |
| | | ds-cfg-syntax-class: org.opends.server.schema.NameAndOptionalUIDSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Name and Optional UID |
| | | |
| | | dn: cn=Name Form Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Name Form Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.NameFormSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Name Form Description |
| | | |
| | | dn: cn=Numeric String,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Numeric String |
| | | ds-cfg-syntax-class: org.opends.server.schema.NumericStringSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Numeric String |
| | | |
| | | dn: cn=Object Class Description,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Object Class Description |
| | | ds-cfg-syntax-class: org.opends.server.schema.ObjectClassSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Object Class Description |
| | | |
| | | dn: cn=Object Identifier,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Object Identifier |
| | | ds-cfg-syntax-class: org.opends.server.schema.OIDSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Object Identifier |
| | | |
| | | dn: cn=Octet String,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Octet String |
| | | ds-cfg-syntax-class: org.opends.server.schema.OctetStringSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Octet String |
| | | |
| | | dn: cn=Other Mailbox,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Other Mailbox |
| | | ds-cfg-syntax-class: org.opends.server.schema.OtherMailboxSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Other Mailbox |
| | | |
| | | dn: cn=Postal Address,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Postal Address |
| | | ds-cfg-syntax-class: org.opends.server.schema.PostalAddressSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Postal Address |
| | | |
| | | dn: cn=Presentation Address,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Presentation Address |
| | | ds-cfg-syntax-class: org.opends.server.schema.PresentationAddressSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Presentation Address |
| | | |
| | | dn: cn=Printable String,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Printable String |
| | | ds-cfg-syntax-class: org.opends.server.schema.PrintableStringSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Printable String |
| | | |
| | | dn: cn=Protocol Information,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Protocol Information |
| | | ds-cfg-syntax-class: org.opends.server.schema.ProtocolInformationSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Protocol Information |
| | | |
| | | dn: cn=Relative Subtree Specification,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Relative Subtree Specification |
| | | ds-cfg-syntax-class: org.opends.server.schema.RelativeSubtreeSpecificationSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Relative Subtree Specification |
| | | |
| | | dn: cn=Substring Assertion,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Substring Assertion |
| | | ds-cfg-syntax-class: org.opends.server.schema.SubstringAssertionSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Substring Assertion |
| | | |
| | | dn: cn=Subtree Specification,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Subtree Specification |
| | | ds-cfg-syntax-class: org.opends.server.schema.RFC3672SubtreeSpecificationSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Subtree Specification |
| | | |
| | | dn: cn=Supported Algorithm,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Supported Algorithm |
| | | ds-cfg-syntax-class: org.opends.server.schema.SupportedAlgorithmSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Supported Algorithm |
| | | |
| | | dn: cn=Telephone Number,cn=Syntaxes,cn=config |
| | | objectClass: ds-cfg-telephone-number-attribute-syntax |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | objectClass: ds-cfg-telephone-number-attribute-syntax |
| | | cn: Telephone Number |
| | | ds-cfg-syntax-class: org.opends.server.schema.TelephoneNumberSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | ds-cfg-strict-telephone-number-format: false |
| | | cn: Telephone Number |
| | | |
| | | dn: cn=Teletex Terminal Identifier,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Teletex Terminal Identifier |
| | | ds-cfg-syntax-class: org.opends.server.schema.TeletexTerminalIdentifierSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Teletex Terminal Identifier |
| | | |
| | | dn: cn=Telex Number,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: Telex Number |
| | | ds-cfg-syntax-class: org.opends.server.schema.TelexNumberSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | |
| | | dn: cn=UTC Time,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: UTC Time |
| | | ds-cfg-syntax-class: org.opends.server.schema.UTCTimeSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: Telex Number |
| | | |
| | | dn: cn=User Password,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: User Password |
| | | ds-cfg-syntax-class: org.opends.server.schema.UserPasswordSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: User Password |
| | | |
| | | dn: cn=UTC Time,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | ds-cfg-syntax-class: org.opends.server.schema.UTCTimeSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: UTC Time |
| | | |
| | | dn: cn=UUID,cn=Syntaxes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-attribute-syntax |
| | | cn: UUID |
| | | ds-cfg-syntax-class: org.opends.server.schema.UUIDSyntax |
| | | ds-cfg-syntax-enabled: true |
| | | cn: UUID |
| | | |
| | | dn: cn=Trust Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Trust Manager Providers |
| | | |
| | | dn: cn=Blind Trust,cn=Trust Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-trust-manager-provider |
| | | cn: Blind Trust |
| | | ds-cfg-trust-manager-provider-class: org.opends.server.extensions.BlindTrustManagerProvider |
| | | objectClass: top |
| | | ds-cfg-trust-manager-provider-enabled: false |
| | | ds-cfg-trust-manager-provider-class: org.opends.server.extensions.BlindTrustManagerProvider |
| | | cn: Blind Trust |
| | | |
| | | dn: cn=JKS,cn=Trust Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-trust-manager-provider |
| | | objectClass: top |
| | | objectClass: ds-cfg-file-based-trust-manager-provider |
| | | cn: JKS |
| | | ds-cfg-trust-manager-provider-enabled: true |
| | | ds-cfg-trust-manager-provider-class: org.opends.server.extensions.FileBasedTrustManagerProvider |
| | | ds-cfg-trust-manager-provider-enabled: false |
| | | ds-cfg-trust-store-pin: password |
| | | ds-cfg-trust-store-type: JKS |
| | | ds-cfg-trust-store-file: config/truststore |
| | | cn: JKS |
| | | ds-cfg-trust-store-file: config/server.truststore |
| | | |
| | | dn: cn=PKCS12,cn=Trust Manager Providers,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-trust-manager-provider |
| | | objectClass: top |
| | | objectClass: ds-cfg-file-based-trust-manager-provider |
| | | cn: PKCS12 |
| | | ds-cfg-trust-manager-provider-class: org.opends.server.extensions.FileBasedTrustManagerProvider |
| | | ds-cfg-trust-manager-provider-enabled: false |
| | | ds-cfg-trust-manager-provider-class: org.opends.server.extensions.FileBasedTrustManagerProvider |
| | | ds-cfg-trust-store-type: PKCS12 |
| | | cn: PKCS12 |
| | | ds-cfg-trust-store-file: config/truststore.p12 |
| | | |
| | | dn: cn=Virtual Attributes,cn=config |
| | | objectClass: top |
| | | objectClass: ds-cfg-branch |
| | | objectClass: top |
| | | cn: Virtual Attributes |
| | | |
| | | dn: cn=Work Queue,cn=config |
| | | objectClass: ds-cfg-traditional-work-queue |
| | | objectClass: top |
| | | objectClass: ds-cfg-work-queue |
| | | objectClass: ds-cfg-traditional-work-queue |
| | | ds-cfg-max-work-queue-capacity: 0 |
| | | ds-cfg-num-worker-threads: 24 |
| | | cn: Work Queue |
| | | ds-cfg-work-queue-class: org.opends.server.extensions.TraditionalWorkQueue |
| | | ds-cfg-num-worker-threads: 24 |
| | | ds-cfg-max-work-queue-capacity: 0 |
| | | modifiersName: cn=Internal Client,cn=Root DNs,cn=config |
| | | modifyTimestamp: 20070301010846Z |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.dsml.protocol; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.event; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer.webstart; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.installer.webstart; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.ui; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.uninstaller; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.uninstaller; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.uninstaller; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.uninstaller; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.quicksetup.util; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.quicksetup.util; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.util; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.util; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.util; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.util; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.util; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.quicksetup.util; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class AccountStatusNotificationHandler |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.AccountStatusNotificationHandler"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeStatusNotificationHandler() |
| | | { |
| | | assert debugEnter(CLASS_NAME, |
| | | "finalizeStatusNotificationHandler"); |
| | | |
| | | // No action is required by default. |
| | | } |
| | |
| | | public void handleStatusNotification( |
| | | AccountStatusNotification notification) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "handleStatusNotification", |
| | | String.valueOf(notification)); |
| | | |
| | | handleStatusNotification(notification.getNotificationType(), |
| | | notification.getUserDN(), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | |
| | | import org.opends.server.types.DN; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.ByteString; |
| | | import org.opends.server.types.ConditionResult; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | public abstract class ApproximateMatchingRule |
| | | extends MatchingRule |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.ApproximateMatchingRule"; |
| | | |
| | | |
| | | |
| | |
| | | public ConditionResult valuesMatch(ByteString attributeValue, |
| | | ByteString assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valuesMatch", |
| | | String.valueOf(attributeValue), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | if (approximatelyMatch(attributeValue, assertionValue)) |
| | | { |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.ByteString; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class AttributeSyntax |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.AttributeSyntax"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeSyntax"); |
| | | |
| | | // No implementation required. |
| | | } |
| | |
| | | */ |
| | | public int hashCode() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hashCode"); |
| | | |
| | | int hashCode = 0; |
| | | |
| | |
| | | */ |
| | | public boolean equals(Object o) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "equals", String.valueOf(o)); |
| | | |
| | | if (o == null) |
| | | { |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("( "); |
| | | buffer.append(getOID()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.RestoreConfig; |
| | | import org.opends.server.types.WritabilityMode; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | |
| | |
| | | */ |
| | | public abstract class Backend |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.Backend"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | protected Backend() |
| | | { |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | backendID = null; |
| | | parentBackend = null; |
| | |
| | | public boolean entryExists(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryExists", |
| | | String.valueOf(entryDN)); |
| | | |
| | | Lock lock = null; |
| | | for (int i=0; i < 3; i++) |
| | |
| | | */ |
| | | public final boolean supportsControl(String controlOID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsControl", |
| | | String.valueOf(controlOID)); |
| | | |
| | | Set<String> supportedControls = getSupportedControls(); |
| | | return ((supportedControls != null) && |
| | |
| | | */ |
| | | public final boolean supportsFeature(String featureOID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsFeature", |
| | | String.valueOf(featureOID)); |
| | | |
| | | Set<String> supportedFeatures = getSupportedFeatures(); |
| | | return ((supportedFeatures != null) && |
| | |
| | | */ |
| | | public String getBackendID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBackendID"); |
| | | |
| | | return backendID; |
| | | } |
| | |
| | | */ |
| | | public void setBackendID(String backendID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setBackendID", |
| | | String.valueOf(backendID)); |
| | | |
| | | this.backendID = backendID; |
| | | } |
| | |
| | | */ |
| | | public boolean isPrivateBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isPrivateBackend"); |
| | | |
| | | return isPrivateBackend; |
| | | } |
| | |
| | | */ |
| | | public WritabilityMode getWritabilityMode() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getWritabilityMode"); |
| | | |
| | | return writabilityMode; |
| | | } |
| | |
| | | */ |
| | | public void setWritabilityMode(WritabilityMode writabilityMode) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setWritabilityMode", |
| | | String.valueOf(writabilityMode)); |
| | | |
| | | if (writabilityMode == null) |
| | | { |
| | |
| | | */ |
| | | public BackendMonitor getBackendMonitor() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBackendMonitor"); |
| | | |
| | | return backendMonitor; |
| | | } |
| | |
| | | */ |
| | | public void setBackendMonitor(BackendMonitor backendMonitor) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setBackendMonitor", |
| | | String.valueOf(backendMonitor)); |
| | | |
| | | this.backendMonitor = backendMonitor; |
| | | } |
| | |
| | | */ |
| | | public Backend getParentBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getParentBackend"); |
| | | |
| | | return parentBackend; |
| | | } |
| | |
| | | */ |
| | | public void setParentBackend(Backend parentBackend) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setParentBackend", |
| | | String.valueOf(parentBackend)); |
| | | |
| | | synchronized (this) |
| | | { |
| | |
| | | */ |
| | | public Backend[] getSubordinateBackends() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSubordinateBackends"); |
| | | |
| | | return subordinateBackends; |
| | | } |
| | |
| | | */ |
| | | public void setSubordinateBackends(Backend[] subordinateBackends) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSubordinateBackends", |
| | | String.valueOf(subordinateBackends)); |
| | | |
| | | synchronized (this) |
| | | { |
| | |
| | | */ |
| | | public boolean hasSubSuffix(DN subSuffixDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasSubSuffix", |
| | | String.valueOf(subSuffixDN)); |
| | | |
| | | Backend[] subBackends = subordinateBackends; |
| | | for (Backend b : subBackends) |
| | |
| | | public void removeSubSuffix(DN subSuffixDN, DN parentDN) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeSubSuffix", |
| | | String.valueOf(subSuffixDN)); |
| | | |
| | | synchronized (this) |
| | | { |
| | |
| | | */ |
| | | public void addSubordinateBackend(Backend subordinateBackend) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addSubordinateBackend", |
| | | String.valueOf(subordinateBackend)); |
| | | |
| | | synchronized (this) |
| | | { |
| | |
| | | */ |
| | | public void removeSubordinateBackend(Backend subordinateBackend) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeSubordinateBackend", |
| | | String.valueOf(subordinateBackend)); |
| | | |
| | | synchronized (this) |
| | | { |
| | |
| | | */ |
| | | public boolean handlesEntry(DN entryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "handlesEntry", |
| | | String.valueOf(entryDN)); |
| | | |
| | | DN[] baseDNs = getBaseDNs(); |
| | | for (int i=0; i < baseDNs.length; i++) |
| | |
| | | List<DN> baseDNs, |
| | | List<DN> excludeDNs) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "handlesEntry", |
| | | String.valueOf(entryDN)); |
| | | |
| | | for (DN baseDN : baseDNs) |
| | | { |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class CertificateMapper |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.CertificateMapper"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeCertificateMapper() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeCertificateMapper"); |
| | | |
| | | // No implementation is required by default. |
| | | } |
| | |
| | | import org.opends.server.util.TimeThread; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static |
| | | org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static |
| | | org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.messages.CoreMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | |
| | | */ |
| | | public abstract class ClientConnection |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.ClientConnection"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | protected ClientConnection() |
| | | { |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | connectTime = TimeThread.getTime(); |
| | | connectTimeString = TimeThread.getUTCTime(); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeConnectionInternal", |
| | | e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public long getConnectTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConnectTime"); |
| | | |
| | | return connectTime; |
| | | } |
| | |
| | | */ |
| | | public String getConnectTimeString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConnectTimeString"); |
| | | |
| | | return connectTimeString; |
| | | } |
| | |
| | | public final boolean sendIntermediateResponse( |
| | | IntermediateResponse intermediateResponse) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "sendIntermediateResponse", |
| | | String.valueOf(intermediateResponse)); |
| | | |
| | | |
| | | // Invoke the intermediate response plugins for the response |
| | |
| | | boolean sendNotification, |
| | | int messageID, Object... arguments) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "disconnect", |
| | | String.valueOf(disconnectReason), |
| | | String.valueOf(sendNotification), |
| | | String.valueOf(messageID), |
| | | String.valueOf(arguments)); |
| | | |
| | | String message = getMessage(messageID, arguments); |
| | | disconnect(disconnectReason, sendNotification, message, |
| | |
| | | */ |
| | | public boolean bindInProgress() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "bindInProgress"); |
| | | |
| | | return bindInProgress; |
| | | } |
| | |
| | | */ |
| | | public void setBindInProgress(boolean bindInProgress) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setBindInProgress", |
| | | String.valueOf(bindInProgress)); |
| | | |
| | | this.bindInProgress = bindInProgress; |
| | | } |
| | |
| | | */ |
| | | public boolean mustChangePassword() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "mustChangePassword"); |
| | | |
| | | if (authenticationInfo == null) |
| | | { |
| | |
| | | */ |
| | | public void setMustChangePassword(boolean mustChangePassword) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setMustChangePassword", |
| | | String.valueOf(mustChangePassword)); |
| | | |
| | | if (authenticationInfo == null) |
| | | { |
| | |
| | | public CopyOnWriteArrayList<PersistentSearch> |
| | | getPersistentSearches() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getPersistentSearches"); |
| | | |
| | | return persistentSearches; |
| | | } |
| | |
| | | public void registerPersistentSearch(PersistentSearch |
| | | persistentSearch) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "registerPersistentSearch", |
| | | String.valueOf(persistentSearch)); |
| | | |
| | | persistentSearches.add(persistentSearch); |
| | | } |
| | |
| | | public void deregisterPersistentSearch(PersistentSearch |
| | | persistentSearch) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deregisterPersistentSearch", |
| | | String.valueOf(persistentSearch)); |
| | | |
| | | persistentSearches.remove(persistentSearch); |
| | | } |
| | |
| | | */ |
| | | public AuthenticationInfo getAuthenticationInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAuthenticationInfo"); |
| | | |
| | | return authenticationInfo; |
| | | } |
| | |
| | | public void setAuthenticationInfo(AuthenticationInfo |
| | | authenticationInfo) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setAuthenticationInfo", |
| | | String.valueOf(authenticationInfo)); |
| | | |
| | | if (this.authenticationInfo != null) |
| | | { |
| | |
| | | */ |
| | | public void updateAuthenticationInfo(Entry oldEntry, Entry newEntry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "updateAuthenticationInfo", |
| | | String.valueOf(oldEntry), |
| | | String.valueOf(newEntry)); |
| | | |
| | | Entry authNEntry = authenticationInfo.getAuthenticationEntry(); |
| | | Entry authZEntry = authenticationInfo.getAuthorizationEntry(); |
| | |
| | | */ |
| | | public void setUnauthenticated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setUnauthenticated"); |
| | | |
| | | this.authenticationInfo = new AuthenticationInfo(); |
| | | this.sizeLimit = DirectoryServer.getSizeLimit(); |
| | |
| | | public boolean hasPrivilege(Privilege privilege, |
| | | Operation operation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasPrivilege", |
| | | String.valueOf(privilege), |
| | | String.valueOf(operation)); |
| | | |
| | | boolean result = privileges.contains(privilege); |
| | | if (operation == null) |
| | |
| | | public boolean hasAllPrivileges(Privilege[] privileges, |
| | | Operation operation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasAllPrivileges", |
| | | String.valueOf(privileges), |
| | | String.valueOf(operation)); |
| | | |
| | | HashSet<Privilege> privSet = this.privileges; |
| | | boolean result = true; |
| | |
| | | */ |
| | | private void updatePrivileges(Entry entry, boolean isRoot) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "updatePrivileges", |
| | | String.valueOf(entry)); |
| | | |
| | | HashSet<Privilege> newPrivileges = new HashSet<Privilege>(); |
| | | HashSet<Privilege> removePrivileges = new HashSet<Privilege>(); |
| | |
| | | */ |
| | | public final Object getSASLAuthStateInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSASLAuthStateInfo"); |
| | | |
| | | return saslAuthState; |
| | | } |
| | |
| | | */ |
| | | public final void setSASLAuthStateInfo(Object saslAuthState) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSASLAuthStateInfo", |
| | | String.valueOf(saslAuthState)); |
| | | |
| | | this.saslAuthState = saslAuthState; |
| | | } |
| | |
| | | */ |
| | | public final int getSizeLimit() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSizeLimit"); |
| | | |
| | | return sizeLimit; |
| | | } |
| | |
| | | */ |
| | | public final void setSizeLimit(int sizeLimit) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSizeLimit", |
| | | String.valueOf(sizeLimit)); |
| | | |
| | | this.sizeLimit = sizeLimit; |
| | | } |
| | |
| | | */ |
| | | public final int getLookthroughLimit() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getLookthroughLimit"); |
| | | |
| | | return lookthroughLimit; |
| | | } |
| | |
| | | */ |
| | | public final void setLookthroughLimit(int lookthroughLimit) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setLookthroughLimit", |
| | | String.valueOf(lookthroughLimit)); |
| | | |
| | | this.lookthroughLimit = lookthroughLimit; |
| | | } |
| | |
| | | */ |
| | | public final int getTimeLimit() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTimeLimit"); |
| | | |
| | | return timeLimit; |
| | | } |
| | |
| | | */ |
| | | public final void setTimeLimit(int timeLimit) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setTimeLimit", |
| | | String.valueOf(timeLimit)); |
| | | |
| | | this.timeLimit = timeLimit; |
| | | } |
| | |
| | | public boolean isMemberOf(Group group, Operation operation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isMemberOf", String.valueOf(group), |
| | | String.valueOf(operation)); |
| | | |
| | | if (operation == null) |
| | | { |
| | |
| | | public Set<Group> getGroups(Operation operation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getGroups", |
| | | String.valueOf(operation)); |
| | | |
| | | |
| | | // FIXME -- This probably isn't the most efficient implementation. |
| | |
| | | */ |
| | | public DN getKeyManagerProviderDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getKeyManagerProviderDN"); |
| | | |
| | | // In the default implementation, we'll return null. |
| | | return null; |
| | |
| | | */ |
| | | public DN getTrustManagerProviderDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTrustManagerProviderDN"); |
| | | |
| | | // In the default implementation, we'll return null. |
| | | return null; |
| | |
| | | */ |
| | | public final String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.ConfigChangeResult; |
| | | import org.opends.server.types.DN; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.HostPort; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | public abstract class ConnectionHandler |
| | | extends DirectoryThread |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.ConnectionHandler"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(threadName); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(threadName)); |
| | | monitor = null; |
| | | } |
| | | |
| | |
| | | */ |
| | | public ConnectionHandlerMonitor getConnectionHandlerMonitor() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConnectionHandlerMonitor"); |
| | | |
| | | return monitor; |
| | | } |
| | |
| | | public void setConnectionHandlerMonitor( |
| | | ConnectionHandlerMonitor monitor) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setConnectionHandlerMonitor", |
| | | String.valueOf(monitor)); |
| | | |
| | | this.monitor = monitor; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.backends.task.Task; |
| | | import org.opends.server.core.DirectoryServer; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | public class DirectoryThread |
| | | extends Thread |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.core.DirectoryThread"; |
| | | |
| | | |
| | | |
| | |
| | | super (DirectoryServer.getDirectoryThreadGroup(), target, |
| | | threadName); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(threadName)); |
| | | |
| | | init(); |
| | | } |
| | |
| | | { |
| | | super(DirectoryServer.getDirectoryThreadGroup(), threadName); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(threadName)); |
| | | |
| | | init(); |
| | | } |
| | |
| | | { |
| | | super(threadGroup, threadName); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(threadGroup), |
| | | String.valueOf(threadName)); |
| | | |
| | | init(); |
| | | } |
| | |
| | | */ |
| | | public StackTraceElement[] getCreationStackTrace() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getCreationStackTrace"); |
| | | |
| | | return creationStackTrace; |
| | | } |
| | |
| | | */ |
| | | public Thread getParentThread() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getParentThread"); |
| | | |
| | | return parentThread; |
| | | } |
| | |
| | | */ |
| | | public Task getAssociatedTask() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAssociatedTask"); |
| | | |
| | | return task; |
| | | } |
| | |
| | | */ |
| | | public void setAssociatedTask(Task task) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setAssociatedTask"); |
| | | |
| | | this.task = task; |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.ByteString; |
| | | import org.opends.server.types.ConditionResult; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static |
| | | org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static |
| | | org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | |
| | | |
| | |
| | | public abstract class EqualityMatchingRule |
| | | extends MatchingRule |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.EqualityMatchingRule"; |
| | | |
| | | |
| | | |
| | |
| | | public ConditionResult valuesMatch(ByteString attributeValue, |
| | | ByteString assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valuesMatch", |
| | | String.valueOf(attributeValue), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | if (areEqual(attributeValue, assertionValue)) |
| | | { |
| | |
| | | */ |
| | | public int generateHashCode(AttributeValue attributeValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "generateHashCode", |
| | | String.valueOf(attributeValue)); |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "generateHashCode", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e2) |
| | | { |
| | | assert debugException(CLASS_NAME, "generateHashCode", e2); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e2); |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.core.ExtendedOperation; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class ExtendedOperationHandler |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.ExtendedOperationHandler"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeExtendedOperationHandler() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeExtendedOperationHandler"); |
| | | |
| | | // No implementation is required by default. |
| | | } |
| | |
| | | */ |
| | | public Set<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControlOIDs; |
| | | } |
| | |
| | | */ |
| | | public final boolean supportsControl(String controlOID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsControl", |
| | | String.valueOf(controlOID)); |
| | | |
| | | return getSupportedControls().contains(controlOID); |
| | | } |
| | |
| | | */ |
| | | public Set<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return supportedFeatureOIDs; |
| | | } |
| | |
| | | */ |
| | | public final boolean supportsFeature(String featureOID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsFeature", |
| | | String.valueOf(featureOID)); |
| | | |
| | | return getSupportedFeatures().contains(featureOID); |
| | | } |
| | |
| | | import org.opends.server.types.SearchFilter; |
| | | import org.opends.server.types.SearchScope; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class Group |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.Group"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeGroupImplementation() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeGroupImplementation"); |
| | | |
| | | // No implementation is required by default. |
| | | } |
| | |
| | | public MemberList getMembers() |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMembers"); |
| | | |
| | | return getMembers(null, null, null); |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class IdentityMapper |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.IdentityMapper"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeIdentityMapper() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeIdentityMapper"); |
| | | |
| | | // No implementation is required by default. |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.InvokableMethod; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| New file |
| | |
| | | /* |
| | | * CDDL HEADER START |
| | | * |
| | | * The contents of this file are subject to the terms of the |
| | | * Common Development and Distribution License, Version 1.0 only |
| | | * (the "License"). You may not use this file except in compliance |
| | | * with the License. |
| | | * |
| | | * You can obtain a copy of the license at |
| | | * trunk/opends/resource/legal-notices/OpenDS.LICENSE |
| | | * or https://OpenDS.dev.java.net/OpenDS.LICENSE. |
| | | * See the License for the specific language governing permissions |
| | | * and limitations under the License. |
| | | * |
| | | * When distributing Covered Code, include this CDDL HEADER in each |
| | | * file and include the License file at |
| | | * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, |
| | | * add the following below this CDDL HEADER, with the fields enclosed |
| | | * by brackets "[]" replaced with your own identifying * information: |
| | | * Portions Copyright [yyyy] [name of copyright owner] |
| | | * |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | | import org.opends.server.loggers.LogRecord; |
| | | import org.opends.server.loggers.LogErrorHandler; |
| | | |
| | | /** |
| | | * LogPublishers are reponsible for distributing logged messages from |
| | | * the Logger object to a destination. |
| | | */ |
| | | public interface LogPublisher |
| | | { |
| | | /** |
| | | * Sends the log message to the logging destination. Every |
| | | * LogPublisher must implement the publish method for |
| | | * the generic LogRecord. Specialized LogPublishers should |
| | | * also include an implementation to publish specialized |
| | | * LogRecords (ie. DebugLogRecord). |
| | | * |
| | | * @param record the log record to publish. |
| | | * @param handler the error handler to use when an error occurs. |
| | | */ |
| | | public void publish(LogRecord record, LogErrorHandler handler); |
| | | |
| | | /** |
| | | * Releases any resources and prepare for close. |
| | | */ |
| | | public void shutdown(); |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class MatchingRule |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.MatchingRule"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public String getNameOrOID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNameOrOID"); |
| | | |
| | | String name = getName(); |
| | | if ((name == null) || (name.length() == 0)) |
| | |
| | | */ |
| | | public boolean isObsolete() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isObsolete"); |
| | | |
| | | return false; |
| | | } |
| | |
| | | */ |
| | | public int hashCode() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hashCode"); |
| | | |
| | | int hashCode = 0; |
| | | |
| | |
| | | */ |
| | | public boolean equals(Object o) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "equals", String.valueOf(o)); |
| | | |
| | | if (o == null) |
| | | { |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("( "); |
| | | buffer.append(getOID()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.InitializationException; |
| | | import org.opends.server.types.ObjectClass; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static |
| | | org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static |
| | | org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | |
| | | |
| | |
| | | public abstract class MonitorProvider |
| | | extends DirectoryThread |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.MonitorProvider"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(threadName); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | stopRequested = false; |
| | | monitorThread = null; |
| | |
| | | */ |
| | | public void finalizeMonitorProvider() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeMonitorProvider"); |
| | | |
| | | // Signal the monitor thread that it should stop. |
| | | stopRequested = true; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeMonitorProvider", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public ObjectClass getMonitorObjectClass() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMonitorObjectClass"); |
| | | |
| | | return DirectoryConfig.getObjectClass(OC_EXTENSIBLE_OBJECT_LC, |
| | | true); |
| | |
| | | */ |
| | | public final void run() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "run"); |
| | | |
| | | |
| | | monitorThread = Thread.currentThread(); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.ByteString; |
| | | import org.opends.server.types.ConditionResult; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | extends MatchingRule |
| | | implements Comparator<byte[]>, Serializable |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.OrderingMatchingRule"; |
| | | |
| | | |
| | | |
| | |
| | | public ConditionResult valuesMatch(ByteString attributeValue, |
| | | ByteString assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valuesMatch", |
| | | String.valueOf(attributeValue), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | return ConditionResult.UNDEFINED; |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class PasswordGenerator |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.PasswordGenerator"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizePasswordGenerator() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizePasswordGenerator"); |
| | | |
| | | // No action is performed by default. |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class PasswordStorageScheme |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.PasswordStorageScheme"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizePasswordStorageScheme() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizePasswordStorageScheme"); |
| | | |
| | | // No implementation required by default. |
| | | } |
| | |
| | | */ |
| | | public String getAuthPasswordSchemeName() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAuthPasswordSchemeName"); |
| | | |
| | | return getStorageSchemeName(); |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class PasswordValidator |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.PasswordValidator"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizePasswordValidator() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizePasswordValidator"); |
| | | |
| | | |
| | | // No action is required by default. |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.core.BindOperation; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class SASLMechanismHandler |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.SASLMechanismHandler"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeSASLMechanismHandler() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeSASLMechanismHandler"); |
| | | |
| | | // No implementation is required by default. |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.ConditionResult; |
| | | import org.opends.server.types.DirectoryException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | public abstract class SubstringMatchingRule |
| | | extends MatchingRule |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.SubstringMatchingRule"; |
| | | |
| | | |
| | | |
| | |
| | | public ConditionResult valuesMatch(ByteString attributeValue, |
| | | ByteString assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valuesMatch", |
| | | String.valueOf(attributeValue), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | return ConditionResult.UNDEFINED; |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugConstructor; |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | |
| | | import java.util.AbstractSet; |
| | | import java.util.Collection; |
| | | import java.util.HashSet; |
| | |
| | | */ |
| | | public final class SubtreeSpecificationSet extends |
| | | AbstractSet<SubtreeSpecification> { |
| | | // Fully qualified class name for debugging purposes. |
| | | private static final String CLASS_NAME = |
| | | SubtreeSpecificationSet.class.getName(); |
| | | |
| | | // Underlying implementation is simply a set. |
| | | private HashSet<SubtreeSpecification> pimpl; |
| | |
| | | * Constructs a new empty subtree specification set. |
| | | */ |
| | | public SubtreeSpecificationSet() { |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | this.pimpl = new HashSet<SubtreeSpecification>(); |
| | | } |
| | |
| | | */ |
| | | public SubtreeSpecificationSet( |
| | | Collection<? extends SubtreeSpecification> c) { |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | this.pimpl = new HashSet<SubtreeSpecification>(c); |
| | | } |
| | |
| | | * specified entry. |
| | | */ |
| | | public boolean isWithinScope(Entry entry) { |
| | | assert debugEnter(CLASS_NAME, "contains"); |
| | | |
| | | for (SubtreeSpecification subtreeSpecification : pimpl) { |
| | | if (subtreeSpecification.isWithinScope(entry)) { |
| | |
| | | */ |
| | | @Override |
| | | public boolean add(SubtreeSpecification e) { |
| | | assert debugEnter(CLASS_NAME, "add"); |
| | | |
| | | return pimpl.add(e); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public Iterator<SubtreeSpecification> iterator() { |
| | | assert debugEnter(CLASS_NAME, "iterator"); |
| | | |
| | | return pimpl.iterator(); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public boolean contains(Object o) { |
| | | assert debugEnter(CLASS_NAME, "contains"); |
| | | |
| | | return pimpl.contains(o); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public int size() { |
| | | assert debugEnter(CLASS_NAME, "size"); |
| | | |
| | | return pimpl.size(); |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.InitializationException; |
| | | import org.opends.server.types.SynchronizationProviderResult; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class SynchronizationProvider |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.SynchronizationProvider"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public void finalizeSynchronizationProvider() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeSynchronizationProvider"); |
| | | |
| | | // No implementation is required by default. |
| | | } |
| | |
| | | handleConflictResolution(AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "handleConflictResolution", |
| | | String.valueOf(addOperation)); |
| | | |
| | | // No processing is required by default. |
| | | return new SynchronizationProviderResult(true); |
| | |
| | | handleConflictResolution(DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "handleConflictResolution", |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | // No processing is required by default. |
| | | return new SynchronizationProviderResult(true); |
| | |
| | | modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "handleConflictResolution", |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | // No processing is required by default. |
| | | return new SynchronizationProviderResult(true); |
| | |
| | | modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "handleConflictResolution", |
| | | String.valueOf(modifyDNOperation)); |
| | | |
| | | // No processing is required by default. |
| | | return new SynchronizationProviderResult(true); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public abstract class WorkQueue |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.WorkQueue"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public boolean waitUntilIdle(long timeLimit) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "waitUntilIdle", |
| | | String.valueOf(timeLimit)); |
| | | |
| | | long stopWaitingTime; |
| | | if (timeLimit <= 0) |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | |
| | | import org.opends.server.types.SearchResultReference; |
| | | import org.opends.server.types.operation.*; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.PluginMessages.*; |
| | | |
| | |
| | | */ |
| | | public abstract class DirectoryServerPlugin |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.DirectoryServerPlugin"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | protected DirectoryServerPlugin() |
| | | { |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | public final void initializeInternal(DN pluginDN, |
| | | Set<PluginType> pluginTypes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeInternal", |
| | | String.valueOf(pluginDN), |
| | | String.valueOf(pluginTypes)); |
| | | |
| | | this.pluginDN = pluginDN; |
| | | this.pluginTypes = pluginTypes; |
| | |
| | | */ |
| | | public void finalizePlugin() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizePlugin"); |
| | | |
| | | // No implementation is required by default. |
| | | } |
| | |
| | | */ |
| | | public final DN getPluginEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getPluginEntryDN"); |
| | | |
| | | return pluginDN; |
| | | } |
| | |
| | | */ |
| | | public final Set<PluginType> getPluginTypes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getPluginTypes"); |
| | | |
| | | return pluginTypes; |
| | | } |
| | |
| | | */ |
| | | public StartupPluginResult doStartup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doStartup"); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | */ |
| | | public void doShutdown(String reason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doShutdown", |
| | | String.valueOf(reason)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostConnectPluginResult doPostConnect(ClientConnection |
| | | clientConnection) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostConnect", |
| | | String.valueOf(clientConnection)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | DisconnectReason disconnectReason, |
| | | int messageID, String message) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostDisconnect", |
| | | String.valueOf(clientConnection), |
| | | String.valueOf(disconnectReason), |
| | | String.valueOf(messageID), |
| | | String.valueOf(message)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String msg = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public LDIFPluginResult doLDIFImport(LDIFImportConfig importConfig, |
| | | Entry entry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doLDIFImport", |
| | | String.valueOf(importConfig), |
| | | String.valueOf(entry)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public LDIFPluginResult doLDIFExport(LDIFExportConfig exportConfig, |
| | | Entry entry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doLDIFExport", |
| | | String.valueOf(exportConfig), |
| | | String.valueOf(entry)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseAbandonOperation abandonOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(abandonOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationAbandonOperation abandonOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(abandonOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseAddOperation addOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationAddOperation addOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationAddOperation addOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseAddOperation addOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseBindOperation bindOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(bindOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationBindOperation bindOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(bindOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationBindOperation bindOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(bindOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseBindOperation bindOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(bindOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseCompareOperation compareOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(compareOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationCompareOperation compareOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(compareOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationCompareOperation compareOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(compareOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseCompareOperation compareOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(compareOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseDeleteOperation deleteOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationDeleteOperation deleteOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationDeleteOperation deleteOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseDeleteOperation deleteOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseExtendedOperation extendedOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(extendedOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationExtendedOperation extendedOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(extendedOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | doPostOperation(PostOperationExtendedOperation |
| | | extendedOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(extendedOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseExtendedOperation extendedOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(extendedOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseModifyOperation modifyOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationModifyOperation modifyOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationModifyOperation modifyOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseModifyOperation modifyOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseModifyDNOperation modifyDNOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationModifyDNOperation modifyDNOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | doPostOperation(PostOperationModifyDNOperation |
| | | modifyDNOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseModifyDNOperation modifyDNOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseSearchOperation searchOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(searchOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreOperationPluginResult |
| | | doPreOperation(PreOperationSearchOperation searchOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreOperation", |
| | | String.valueOf(searchOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | processSearchEntry(SearchEntrySearchOperation searchOperation, |
| | | SearchResultEntry searchEntry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "processSearchEntry", |
| | | String.valueOf(searchOperation), |
| | | String.valueOf(searchEntry)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | searchOperation, |
| | | SearchResultReference searchReference) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "processSearchReference", |
| | | String.valueOf(searchOperation), |
| | | String.valueOf(searchReference)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationSearchOperation searchOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(searchOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostResponsePluginResult |
| | | doPostResponse(PostResponseSearchOperation searchOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostResponse", |
| | | String.valueOf(searchOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PreParsePluginResult |
| | | doPreParse(PreParseUnbindOperation unbindOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPreParse", |
| | | String.valueOf(unbindOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | public PostOperationPluginResult |
| | | doPostOperation(PostOperationUnbindOperation unbindOperation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "doPostOperation", |
| | | String.valueOf(unbindOperation)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | processIntermediateResponse( |
| | | IntermediateResponse intermediateResponse) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "processIntermediateResponse", |
| | | String.valueOf(intermediateResponse)); |
| | | |
| | | int msgID = MSGID_PLUGIN_TYPE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(pluginDN), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class IntermediateResponsePluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin." + |
| | | "IntermediateResponsePluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | boolean sendIntermediateResponse, |
| | | boolean continueOperation) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing), |
| | | String.valueOf(sendIntermediateResponse), |
| | | String.valueOf(continueOperation)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean sendIntermediateResponse() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "sendIntermediateResponse"); |
| | | |
| | | return sendIntermediateResponse; |
| | | } |
| | |
| | | */ |
| | | public boolean continueOperation() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continueOperation"); |
| | | |
| | | return continueOperation; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("IntermediateResponsePluginResult(" + |
| | | "connectionTerminated="); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class LDIFPluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.LDIFPluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | public LDIFPluginResult(boolean continuePluginProcessing, |
| | | boolean continueEntryProcessing) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(continuePluginProcessing), |
| | | String.valueOf(continueEntryProcessing)); |
| | | |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | | this.continueEntryProcessing = continueEntryProcessing; |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean continueEntryProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continueEntryProcessing"); |
| | | |
| | | return continueEntryProcessing; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("LDIFPluginResult(continuePluginProcessing="); |
| | | buffer.append(continuePluginProcessing); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class PostConnectPluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.PostConnectPluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | public PostConnectPluginResult(boolean connectionTerminated, |
| | | boolean continuePluginProcessing) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("PostConnectPluginResult(connectionTerminated="); |
| | | buffer.append(connectionTerminated); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class PostDisconnectPluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.PostDisconnectPluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public PostDisconnectPluginResult(boolean continuePluginProcessing) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(continuePluginProcessing)); |
| | | |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("PostDisconnectPluginResult(" + |
| | | "continuePluginProcessing="); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class PostOperationPluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.PostOperationPluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | public PostOperationPluginResult(boolean connectionTerminated, |
| | | boolean continuePluginProcessing) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("PostOperationPluginResult(connectionTerminated="); |
| | | buffer.append(connectionTerminated); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class PostResponsePluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.PostResponsePluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | public PostResponsePluginResult(boolean connectionTerminated, |
| | | boolean continuePluginProcessing) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("PostResponsePluginResult(connectionTerminated="); |
| | | buffer.append(connectionTerminated); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class PreOperationPluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.PreOperationPluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | boolean continuePluginProcessing, |
| | | boolean sendResponseImmediately) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing), |
| | | String.valueOf(sendResponseImmediately)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean sendResponseImmediately() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "sendResponseImmediately"); |
| | | |
| | | return sendResponseImmediately; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("PostResponsePluginResult(connectionTerminated="); |
| | | buffer.append(connectionTerminated); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class PreParsePluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.PreParsePluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | boolean continuePluginProcessing, |
| | | boolean sendResponseImmediately) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing), |
| | | String.valueOf(sendResponseImmediately)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean sendResponseImmediately() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "sendResponseImmediately"); |
| | | |
| | | return sendResponseImmediately; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("PostResponsePluginResult(connectionTerminated="); |
| | | buffer.append(connectionTerminated); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class SearchEntryPluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.SearchEntryPluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | boolean sendEntry, |
| | | boolean continueSearch) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing), |
| | | String.valueOf(sendEntry), |
| | | String.valueOf(continueSearch)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean sendEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "sendEntry"); |
| | | |
| | | return sendEntry; |
| | | } |
| | |
| | | */ |
| | | public boolean continueSearch() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continueSearch"); |
| | | |
| | | return continueSearch; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("SearchEntryPluginResult(connectionTerminated="); |
| | | buffer.append(connectionTerminated); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class SearchReferencePluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.SearchReferencePluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | boolean sendReference, |
| | | boolean continueSearch) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(connectionTerminated), |
| | | String.valueOf(continuePluginProcessing), |
| | | String.valueOf(sendReference), |
| | | String.valueOf(continueSearch)); |
| | | |
| | | this.connectionTerminated = connectionTerminated; |
| | | this.continuePluginProcessing = continuePluginProcessing; |
| | |
| | | */ |
| | | public boolean connectionTerminated() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "connectionTerminated"); |
| | | |
| | | return connectionTerminated; |
| | | } |
| | |
| | | */ |
| | | public boolean continuePluginProcessing() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continuePluginProcessing"); |
| | | |
| | | return continuePluginProcessing; |
| | | } |
| | |
| | | */ |
| | | public boolean sendReference() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "sendReference"); |
| | | |
| | | return sendReference; |
| | | } |
| | |
| | | */ |
| | | public boolean continueSearch() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continueSearch"); |
| | | |
| | | return continueSearch; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("SearchReferencePluginResult(" + |
| | | "connectionTerminated="); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api.plugin; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public class StartupPluginResult |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.api.plugin.StartupPluginResult"; |
| | | |
| | | |
| | | |
| | |
| | | boolean continueStartup, int errorID, |
| | | String errorMessage) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(completedSuccessfully), |
| | | String.valueOf(continueStartup), |
| | | String.valueOf(errorID), |
| | | String.valueOf(errorMessage)); |
| | | |
| | | this.completedSuccessfully = completedSuccessfully; |
| | | this.continueStartup = continueStartup; |
| | |
| | | */ |
| | | public boolean completedSuccessfully() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "completedSuccessfully"); |
| | | |
| | | return completedSuccessfully; |
| | | } |
| | |
| | | */ |
| | | public boolean continueStartup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "continueStartup"); |
| | | |
| | | return continueStartup; |
| | | } |
| | |
| | | */ |
| | | public int getErrorID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getErrorID"); |
| | | |
| | | return errorID; |
| | | } |
| | |
| | | */ |
| | | public String getErrorMessage() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getErrorMessage"); |
| | | |
| | | return errorMessage; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", |
| | | "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("StartupPluginResult(completedSuccessfully="); |
| | | buffer.append(completedSuccessfully); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.authorization; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | |
| | | import org.opends.server.api.AccessControlHandler; |
| | | import org.opends.server.core.AddOperation; |
| | |
| | | * requests made by the core directory server. |
| | | */ |
| | | final class BasicAccessControlHandler extends AccessControlHandler { |
| | | // Fully qualified class name for debugging purposes. |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.authorization.BasicAccessControlHandler"; |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(AddOperation addOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(BindOperation bindOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(CompareOperation compareOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(DeleteOperation deleteOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(ExtendedOperation extendedOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(ModifyOperation modifyOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(ModifyDNOperation modifyDNOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(SearchOperation searchOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | @Override |
| | | public boolean maySend(SearchOperation searchOperation, |
| | | SearchResultEntry searchEntry) { |
| | | assert debugEnter(CLASS_NAME, "maySend"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | @Override |
| | | public SearchResultEntry filterEntry(SearchOperation searchOperation, |
| | | SearchResultEntry searchEntry) { |
| | | assert debugEnter(CLASS_NAME, "filterEntry"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | @Override |
| | | public boolean maySend(SearchOperation searchOperation, |
| | | SearchResultReference searchReference) { |
| | | assert debugEnter(CLASS_NAME, "maySend"); |
| | | |
| | | // TODO: not yet implemented. |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.authorization; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugConstructor; |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | |
| | | import org.opends.server.api.AccessControlHandler; |
| | | import org.opends.server.api.AccessControlProvider; |
| | | import org.opends.server.config.ConfigEntry; |
| | |
| | | */ |
| | | public class BasicAccessControlProvider implements |
| | | AccessControlProvider { |
| | | // Fully qualified class name for debugging purposes. |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.authorization.BasicAccessControlProvider"; |
| | | |
| | | /** |
| | | * The single handler instance. |
| | |
| | | public BasicAccessControlProvider() { |
| | | super(); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | // No implementation required. |
| | | } |
| | |
| | | */ |
| | | public void initializeAccessControlHandler(ConfigEntry configEntry) |
| | | throws ConfigException, InitializationException { |
| | | assert debugEnter(CLASS_NAME, "initializeAccessControlHandler"); |
| | | |
| | | // Avoid potential race conditions constructing the handler instance |
| | | // and create it here. |
| | |
| | | * {@inheritDoc} |
| | | */ |
| | | public void finalizeAccessControlHandler() { |
| | | assert debugEnter(CLASS_NAME, "finalizeAccessControlHandler"); |
| | | |
| | | // No implementation required. |
| | | } |
| | |
| | | * {@inheritDoc} |
| | | */ |
| | | public AccessControlHandler getInstance() { |
| | | assert debugEnter(CLASS_NAME, "getInstance"); |
| | | |
| | | if (instance == null) { |
| | | instance = new BasicAccessControlHandler(); |
| | |
| | | */ |
| | | package org.opends.server.authorization.dseecompat; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugConstructor; |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | |
| | | /** |
| | | * The AciException class defines an exception that may be thrown |
| | |
| | | */ |
| | | public class AciException extends Exception { |
| | | |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.authorization.dseecompat.AciException"; |
| | | |
| | | /** |
| | | * The serial version identifier required to satisfy the compiler because this |
| | |
| | | */ |
| | | public AciException(int messageID, String message) { |
| | | super(message); |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(messageID), |
| | | String.valueOf(message)); |
| | | this.messageID = messageID; |
| | | } |
| | | |
| | |
| | | public AciException(int messageID, String message, Throwable cause) { |
| | | super(message, cause); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(message), |
| | | String.valueOf(cause)); |
| | | |
| | | this.messageID = messageID; |
| | | } |
| | |
| | | * @return The message ID for this exception. |
| | | */ |
| | | public int getMessageID() { |
| | | assert debugEnter(CLASS_NAME, "getMessageID"); |
| | | return messageID; |
| | | } |
| | | } |
| | |
| | | import org.opends.server.api.AccessControlHandler; |
| | | import static org.opends.server.authorization.dseecompat.AciMessages.*; |
| | | import org.opends.server.core.*; |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | import static org.opends.server.loggers.Error.logError; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import org.opends.server.types.*; |
| | | import org.opends.server.types.Attribute; |
| | | import org.opends.server.types.AttributeType; |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.Modification; |
| | | import org.opends.server.types.ModificationType; |
| | | import org.opends.server.types.Privilege; |
| | | import org.opends.server.types.SearchResultEntry; |
| | | import org.opends.server.types.SearchResultReference; |
| | | import static org.opends.server.util.StaticUtils.toLowerCase; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | |
| | | public class AciHandler extends AccessControlHandler |
| | | { |
| | | |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.authorization.dseecompat.AciHandler"; |
| | | |
| | | /** |
| | | * ACI_ADD is used to set the container rights for a LDAP add operation. |
| | |
| | | * @return True if access is allowed. |
| | | */ |
| | | public boolean isAllowed(AddOperation operation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | AciLDAPOperationContainer operationContainer = |
| | | new AciLDAPOperationContainer(operation, ACI_ADD); |
| | | boolean ret=isAllowed(operationContainer,operation); |
| | |
| | | * @return True if access is allowed. |
| | | */ |
| | | public boolean isAllowed(CompareOperation operation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | |
| | | AciLDAPOperationContainer operationContainer = |
| | | new AciLDAPOperationContainer(operation, ACI_COMPARE); |
| | |
| | | * @return True if access is allowed. |
| | | */ |
| | | public boolean isAllowed(DeleteOperation operation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | AciLDAPOperationContainer operationContainer= |
| | | new AciLDAPOperationContainer(operation, ACI_DELETE); |
| | | return isAllowed(operationContainer, operation); |
| | |
| | | */ |
| | | |
| | | public boolean isAllowed(ModifyOperation operation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | AciLDAPOperationContainer operationContainer= |
| | | new AciLDAPOperationContainer(operation, ACI_NULL); |
| | | return aciCheckMods(operationContainer, operation, |
| | |
| | | */ |
| | | public boolean |
| | | maySend(SearchOperation operation, SearchResultEntry entry) { |
| | | assert debugEnter(CLASS_NAME, "maySend"); |
| | | AciLDAPOperationContainer operationContainer = |
| | | new AciLDAPOperationContainer(operation, |
| | | (ACI_READ | ACI_SEARCH), entry); |
| | |
| | | public SearchResultEntry filterEntry(SearchOperation operation, |
| | | SearchResultEntry entry) { |
| | | |
| | | assert debugEnter(CLASS_NAME, "filterEntry"); |
| | | AciLDAPOperationContainer operationContainer = |
| | | new AciLDAPOperationContainer(operation, |
| | | (ACI_READ | ACI_SEARCH), entry); |
| | |
| | | @Override |
| | | public boolean maySend(SearchOperation operation, |
| | | SearchResultReference reference) { |
| | | assert debugEnter(CLASS_NAME, "maySend"); |
| | | //TODO: Planned to be implemented. |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(ModifyDNOperation modifyDNOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | // TODO: Planned to be implemented. |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(BindOperation bindOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | //Not planned to be implemented. |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(ExtendedOperation extendedOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | //Not planned to be implemented. |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public boolean isAllowed(SearchOperation searchOperation) { |
| | | assert debugEnter(CLASS_NAME, "isAllowed"); |
| | | //Not planned to be implemented. |
| | | return true; |
| | | } |
| | |
| | | import org.opends.server.api.ChangeNotificationListener; |
| | | import org.opends.server.api.BackendInitializationListener; |
| | | import org.opends.server.api.Backend; |
| | | import org.opends.server.types.*; |
| | | import org.opends.server.types.operation.PostResponseAddOperation; |
| | | import org.opends.server.types.operation.PostResponseDeleteOperation; |
| | | import org.opends.server.types.operation.PostResponseModifyOperation; |
| | | import org.opends.server.types.operation.PostResponseModifyDNOperation; |
| | | import org.opends.server.protocols.internal.InternalClientConnection; |
| | | import org.opends.server.protocols.internal.InternalSearchOperation; |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.loggers.Error.logError; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.DereferencePolicy; |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.SearchFilter; |
| | | import org.opends.server.types.SearchResultEntry; |
| | | import org.opends.server.types.SearchScope; |
| | | import static org.opends.server.authorization.dseecompat.AciMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | |
| | |
| | | public class AciListenerManager |
| | | implements ChangeNotificationListener, BackendInitializationListener { |
| | | |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.core.AciListenerManager"; |
| | | |
| | | private AciList aciList; |
| | | /* |
| | |
| | | continue; |
| | | } |
| | | } catch (Exception e) { |
| | | assert debugException(CLASS_NAME, |
| | | "performBackendInitializationProcessing", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | //TODO log message |
| | | continue; |
| | | } |
| | |
| | | { |
| | | backend.search(internalSearch); |
| | | } catch (Exception e) { |
| | | assert debugException(CLASS_NAME, |
| | | "performBackendInitializationProcessing", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | //TODO log message |
| | | continue; |
| | | } |
| | |
| | | import org.opends.server.config.ConfigEntry; |
| | | import org.opends.server.config.ConfigException; |
| | | import org.opends.server.types.InitializationException; |
| | | import static org.opends.server.loggers.Debug.debugConstructor; |
| | | |
| | | /** |
| | | * This class is the provider class for the dseecompt ACI. |
| | | */ |
| | | public class AciProvider implements AccessControlProvider { |
| | | |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.authorization.dseecompat.AciProvider"; |
| | | |
| | | private static AciHandler instance = null; |
| | | |
| | |
| | | */ |
| | | public AciProvider() { |
| | | super(); |
| | | assert debugConstructor(CLASS_NAME); |
| | | } |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | import org.opends.server.types.SearchScope; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | extends Backend |
| | | implements ConfigurableComponent |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.BackupBackend"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | |
| | | // Perform all initialization in initializeBackend. |
| | |
| | | public void initializeBackend(ConfigEntry configEntry, DN[] baseDNs) |
| | | throws ConfigException, InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeBackend", |
| | | String.valueOf(configEntry)); |
| | | |
| | | |
| | | // Make sure that a configuration entry was provided. If not, then we will |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKUP_CANNOT_DECODE_BACKUP_ROOT_DN; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_BACKUP_CANNOT_DETERMINE_BACKUP_DIR_LIST; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN; |
| | | String message = getMessage(msgID, backupBaseDN.toString(), |
| | |
| | | */ |
| | | public void finalizeBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeBackend"); |
| | | |
| | | DirectoryServer.deregisterConfigurableComponent(this); |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public DN[] getBaseDNs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseDNs"); |
| | | |
| | | return baseDNs; |
| | | } |
| | |
| | | */ |
| | | public long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | int numEntries = 1; |
| | | |
| | |
| | | */ |
| | | public boolean isLocal() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocal"); |
| | | |
| | | // For the purposes of this method, this is a local backend. |
| | | return true; |
| | |
| | | public Entry getEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry", String.valueOf(entryDN)); |
| | | |
| | | |
| | | // If the requested entry was null, then throw an exception. |
| | |
| | | private Entry getBackupDirectoryEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBackupDirectoryEntry", |
| | | String.valueOf(entryDN)); |
| | | |
| | | |
| | | // Make sure that the DN specifies a backup directory. |
| | |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | assert debugException(CLASS_NAME, "getBackupDirectoryEntry", ce); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ce); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKUP_INVALID_BACKUP_DIRECTORY; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getBackupDirectoryEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKUP_ERROR_GETTING_BACKUP_DIRECTORY; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | private Entry getBackupEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBackupEntry", String.valueOf(entryDN)); |
| | | |
| | | |
| | | // First, get the backup ID from the entry DN. |
| | |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | assert debugException(CLASS_NAME, "getBackupEntry", ce); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ce); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKUP_INVALID_BACKUP_DIRECTORY; |
| | | String message = getMessage(msgID, ce.getMessage()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getBackupEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKUP_ERROR_GETTING_BACKUP_DIRECTORY; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | public void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addEntry", String.valueOf(entry), |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_BACKUP_ADD_NOT_SUPPORTED; |
| | | String message = getMessage(msgID); |
| | |
| | | public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteEntry", String.valueOf(entryDN), |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_BACKUP_DELETE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID); |
| | |
| | | public void replaceEntry(Entry entry, ModifyOperation modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "replaceEntry", String.valueOf(entry), |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | int msgID = MSGID_BACKUP_MODIFY_NOT_SUPPORTED; |
| | | String message = getMessage(msgID); |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "renameEntry", String.valueOf(currentDN), |
| | | String.valueOf(entry), String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_BACKUP_MODIFY_DN_NOT_SUPPORTED; |
| | | String message = getMessage(msgID); |
| | |
| | | public void search(SearchOperation searchOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "search", String.valueOf(searchOperation)); |
| | | |
| | | |
| | | // Get the base entry for the search, if possible. If it doesn't exist, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | continue; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | continue; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | continue; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControls; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return supportedFeatures; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFExport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFExport"); |
| | | |
| | | // We do not support LDIF exports. |
| | | return false; |
| | |
| | | LDIFExportConfig exportConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "exportLDIF", String.valueOf(exportConfig)); |
| | | |
| | | int msgID = MSGID_BACKUP_EXPORT_NOT_SUPPORTED; |
| | | String message = getMessage(msgID); |
| | |
| | | */ |
| | | public boolean supportsLDIFImport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFImport"); |
| | | |
| | | // This backend does not support LDIF imports. |
| | | return false; |
| | |
| | | LDIFImportConfig importConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "importLDIF", String.valueOf(importConfig)); |
| | | |
| | | |
| | | // This backend does not support LDIF imports. |
| | |
| | | */ |
| | | public boolean supportsBackup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | | return false; |
| | |
| | | public boolean supportsBackup(BackupConfig backupConfig, |
| | | StringBuilder unsupportedReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup", String.valueOf(backupConfig)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | String backupID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeBackup", |
| | | String.valueOf(backupDirectory), |
| | | String.valueOf(backupID)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | */ |
| | | public boolean supportsRestore() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsRestore"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreBackup", |
| | | String.valueOf(restoreConfig)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | */ |
| | | public DN getConfigurableComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurableComponentEntryDN"); |
| | | |
| | | return configEntryDN; |
| | | } |
| | |
| | | */ |
| | | public List<ConfigAttribute> getConfigurationAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurationAttributes"); |
| | | |
| | | |
| | | LinkedList<ConfigAttribute> attrs = new LinkedList<ConfigAttribute>(); |
| | |
| | | public boolean hasAcceptableConfiguration(ConfigEntry configEntry, |
| | | List<String> unacceptableReasons) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasAcceptableConfiguration", |
| | | String.valueOf(configEntry), "java.util.List<String>"); |
| | | |
| | | |
| | | // We'll accept anything here. The only configurable attribute is the |
| | |
| | | public ConfigChangeResult applyNewConfiguration(ConfigEntry configEntry, |
| | | boolean detailedResults) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyNewConfiguration", |
| | | String.valueOf(configEntry), |
| | | String.valueOf(detailedResults)); |
| | | |
| | | |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_BACKUP_CANNOT_DETERMINE_BACKUP_DIR_LIST; |
| | | messages.add(getMessage(msgID, stackTraceToSingleLineString(e))); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends; |
| | | |
| | |
| | | import org.opends.server.util.LDIFReader; |
| | | import org.opends.server.util.LDIFWriter; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class MemoryBackend |
| | | extends Backend |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.MemoryBackend"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | |
| | | // Perform all initialization in initializeBackend. |
| | |
| | | DN[] baseDNs) |
| | | throws ConfigException, InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeBackend", |
| | | String.valueOf(configEntry), String.valueOf(baseDNs)); |
| | | |
| | | |
| | | // We won't support anything other than exactly one base DN in this |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN; |
| | | String message = getMessage(msgID, dn.toString(), |
| | |
| | | */ |
| | | public synchronized void finalizeBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeBackend"); |
| | | |
| | | clearMemoryBackend(); |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public DN[] getBaseDNs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseDNs"); |
| | | |
| | | return baseDNs; |
| | | } |
| | |
| | | */ |
| | | public synchronized long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | if (entryMap != null) |
| | | { |
| | |
| | | */ |
| | | public boolean isLocal() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocal"); |
| | | |
| | | // For the purposes of this method, this is a local backend. |
| | | return true; |
| | |
| | | */ |
| | | public synchronized Entry getEntry(DN entryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry", String.valueOf(entryDN)); |
| | | |
| | | return entryMap.get(entryDN); |
| | | } |
| | |
| | | */ |
| | | public synchronized boolean entryExists(DN entryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryExists", String.valueOf(entryDN)); |
| | | |
| | | return entryMap.containsKey(entryDN); |
| | | } |
| | |
| | | public synchronized void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addEntry", String.valueOf(entry), |
| | | String.valueOf(addOperation)); |
| | | |
| | | |
| | | // See if the target entry already exists. If so, then fail. |
| | |
| | | DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteEntry", String.valueOf(entryDN), |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | |
| | | // Make sure the entry exists. If not, then throw an exception. |
| | |
| | | { |
| | | // This shouldn't happen, but we want the delete to continue anyway |
| | | // so just ignore it if it does for some reason. |
| | | assert debugException(CLASS_NAME, "deleteEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | ModifyOperation modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "replaceEntry", String.valueOf(entry), |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | |
| | | // Make sure the entry exists. If not, then throw an exception. |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "renameEntry", String.valueOf(currentDN), |
| | | String.valueOf(entry), String.valueOf(modifyDNOperation)); |
| | | |
| | | |
| | | // Make sure that the target entry exists. |
| | |
| | | public synchronized void search(SearchOperation searchOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "search", String.valueOf(searchOperation)); |
| | | |
| | | |
| | | // Get the base DN, scope, and filter for the search. |
| | |
| | | */ |
| | | public HashSet<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControls; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return supportedFeatures; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFExport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFExport"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | LDIFExportConfig exportConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "exportLDIF", String.valueOf(exportConfig)); |
| | | |
| | | |
| | | // Create the LDIF writer. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MEMORYBACKEND_CANNOT_CREATE_LDIF_WRITER; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFImport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFImport"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | LDIFImportConfig importConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "importLDIF", String.valueOf(importConfig)); |
| | | |
| | | |
| | | clearMemoryBackend(); |
| | |
| | | */ |
| | | public boolean supportsBackup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | | return false; |
| | |
| | | public boolean supportsBackup(BackupConfig backupConfig, |
| | | StringBuilder unsupportedReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup", String.valueOf(backupConfig)); |
| | | |
| | | |
| | | int msgID = MSGID_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED; |
| | |
| | | String backupID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeBackup", |
| | | String.valueOf(backupDirectory), |
| | | String.valueOf(backupID)); |
| | | |
| | | |
| | | int msgID = MSGID_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED; |
| | |
| | | */ |
| | | public boolean supportsRestore() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsRestore"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreBackup", |
| | | String.valueOf(restoreConfig)); |
| | | |
| | | |
| | | int msgID = MSGID_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends; |
| | | |
| | |
| | | import org.opends.server.util.TimeThread; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | extends Backend |
| | | implements ConfigurableComponent |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.MonitorBackend"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | |
| | | // Perform all initialization in initializeBackend. |
| | |
| | | public void initializeBackend(ConfigEntry configEntry, DN[] baseDNs) |
| | | throws ConfigException, InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeBackend", |
| | | String.valueOf(configEntry)); |
| | | |
| | | |
| | | // Make sure that a configuration entry was provided. If not, then we will |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MONITOR_CANNOT_DECODE_MONITOR_ROOT_DN; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN; |
| | | String message = getMessage(msgID, baseMonitorDN.toString(), |
| | |
| | | */ |
| | | public void finalizeBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeBackend"); |
| | | |
| | | DirectoryServer.deregisterConfigurableComponent(this); |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | private boolean isMonitorConfigAttribute(Attribute attribute) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isMonitorConfigAttribute", |
| | | String.valueOf(attribute)); |
| | | |
| | | AttributeType attrType = attribute.getAttributeType(); |
| | | if (attrType.hasName(ATTR_COMMON_NAME) || |
| | |
| | | */ |
| | | public DN[] getBaseDNs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseDNs"); |
| | | |
| | | return baseDNs; |
| | | } |
| | |
| | | */ |
| | | public long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | return DirectoryServer.getMonitorProviders().size() + 1; |
| | | } |
| | |
| | | */ |
| | | public boolean isLocal() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocal"); |
| | | |
| | | // For the purposes of this method, this is a local backend. |
| | | return true; |
| | |
| | | public Entry getEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry", String.valueOf(entryDN)); |
| | | |
| | | |
| | | // If the requested entry was null, then throw an exception. |
| | |
| | | public boolean entryExists(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryExists", String.valueOf(entryDN)); |
| | | |
| | | if (entryDN.equals(baseMonitorDN)) |
| | | { |
| | |
| | | */ |
| | | public Entry getBaseMonitorEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseMonitorEntry"); |
| | | |
| | | |
| | | HashMap<ObjectClass,String> monitorClasses = |
| | |
| | | */ |
| | | private Entry getMonitorEntry(DN entryDN, MonitorProvider monitorProvider) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMonitorEntry", |
| | | String.valueOf(monitorProvider)); |
| | | |
| | | HashMap<ObjectClass,String> monitorClasses = |
| | | new LinkedHashMap<ObjectClass,String>(3); |
| | |
| | | private Attribute createAttribute(String name, String lowerName, |
| | | String value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createAttribute", String.valueOf(name), |
| | | String.valueOf(lowerName), String.valueOf(value)); |
| | | |
| | | AttributeType type = DirectoryServer.getAttributeType(lowerName); |
| | | if (type == null) |
| | |
| | | public void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addEntry", String.valueOf(entry), |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_MONITOR_ADD_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entry.getDN())); |
| | |
| | | public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteEntry", String.valueOf(entryDN), |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_MONITOR_DELETE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entryDN)); |
| | |
| | | public void replaceEntry(Entry entry, ModifyOperation modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "replaceEntry", String.valueOf(entry), |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | int msgID = MSGID_MONITOR_MODIFY_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entry.getDN()), |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "renameEntry", String.valueOf(currentDN), |
| | | String.valueOf(entry), String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_MONITOR_MODIFY_DN_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(currentDN)); |
| | |
| | | public void search(SearchOperation searchOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "search", String.valueOf(searchOperation)); |
| | | |
| | | |
| | | // Get the base entry for the search, if possible. If it doesn't exist, |
| | |
| | | */ |
| | | public HashSet<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControls; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return supportedFeatures; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFExport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFExport"); |
| | | |
| | | // We can export all the monitor entries as a point-in-time snapshot. |
| | | return true; |
| | |
| | | LDIFExportConfig exportConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "exportLDIF", String.valueOf(exportConfig)); |
| | | |
| | | |
| | | // Create the LDIF writer. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_UNABLE_TO_CREATE_LDIF_WRITER; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e2) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e2); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e2); |
| | | } |
| | | } |
| | | |
| | | int msgID = MSGID_MONITOR_UNABLE_TO_EXPORT_BASE; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e2) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e2); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e2); |
| | | } |
| | | } |
| | | |
| | | int msgID = MSGID_MONITOR_UNABLE_TO_EXPORT_PROVIDER_ENTRY; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public boolean supportsLDIFImport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFImport"); |
| | | |
| | | // This backend does not support LDIF imports. |
| | | return false; |
| | |
| | | LDIFImportConfig importConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "importLDIF", String.valueOf(importConfig)); |
| | | |
| | | |
| | | // This backend does not support LDIF imports. |
| | |
| | | */ |
| | | public boolean supportsBackup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | | return false; |
| | |
| | | public boolean supportsBackup(BackupConfig backupConfig, |
| | | StringBuilder unsupportedReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup", String.valueOf(backupConfig)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | String backupID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeBackup", |
| | | String.valueOf(backupDirectory), |
| | | String.valueOf(backupID)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | */ |
| | | public boolean supportsRestore() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsRestore"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreBackup", |
| | | String.valueOf(restoreConfig)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | */ |
| | | public DN getConfigurableComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurableComponentEntryDN"); |
| | | |
| | | return configEntryDN; |
| | | } |
| | |
| | | */ |
| | | public List<ConfigAttribute> getConfigurationAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurationAttributes"); |
| | | |
| | | // There are no configurable attributes that will be explicitly advertised. |
| | | return new LinkedList<ConfigAttribute>(); |
| | |
| | | public boolean hasAcceptableConfiguration(ConfigEntry configEntry, |
| | | List<String> unacceptableReasons) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasAcceptableConfiguration", |
| | | String.valueOf(configEntry), "java.util.List<String>"); |
| | | |
| | | |
| | | // We'll pretty much accept anything here as long as it isn't one of our |
| | |
| | | public ConfigChangeResult applyNewConfiguration(ConfigEntry configEntry, |
| | | boolean detailedResults) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyNewConfiguration", |
| | | String.valueOf(configEntry), |
| | | String.valueOf(detailedResults)); |
| | | |
| | | |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends; |
| | | |
| | |
| | | import org.opends.server.util.LDIFWriter; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | |
| | | extends Backend |
| | | implements ConfigurableComponent |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.RootDSEBackend"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | |
| | | // Perform all initialization in initializeBackend. |
| | |
| | | public void initializeBackend(ConfigEntry configEntry, DN[] baseDNs) |
| | | throws ConfigException, InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeBackend", |
| | | String.valueOf(configEntry)); |
| | | |
| | | |
| | | // Make sure that a configuration entry was provided. If not, then we will |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_SUBORDINATE_BASE_EXCEPTION; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_ROOTDSE_CANNOT_DETERMINE_ALL_USER_ATTRIBUTES; |
| | | String message = getMessage(msgID, ATTR_ROOTDSE_SHOW_ALL_ATTRIBUTES, |
| | |
| | | */ |
| | | public void finalizeBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeBackend"); |
| | | |
| | | DirectoryServer.deregisterConfigurableComponent(this); |
| | | } |
| | |
| | | */ |
| | | private boolean isDSEConfigAttribute(Attribute attribute) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isConfigAttribute", |
| | | String.valueOf(attribute)); |
| | | |
| | | AttributeType attrType = attribute.getAttributeType(); |
| | | if (attrType.hasName(ATTR_ROOT_DSE_SUBORDINATE_BASE_DN.toLowerCase()) || |
| | |
| | | */ |
| | | public DN[] getBaseDNs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseDNs"); |
| | | |
| | | return baseDNs; |
| | | } |
| | |
| | | */ |
| | | public synchronized long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | // There is always just a single entry in this backend. |
| | | return 1; |
| | |
| | | */ |
| | | public boolean isLocal() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocal"); |
| | | |
| | | // For the purposes of this method, this is a local backend. |
| | | return true; |
| | |
| | | public Entry getEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry", String.valueOf(entryDN)); |
| | | |
| | | |
| | | // If the requested entry was the root DSE, then create and return it. |
| | |
| | | */ |
| | | public Entry getRootDSE() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRootDSE"); |
| | | |
| | | HashMap<AttributeType,List<Attribute>> dseUserAttrs = |
| | | new HashMap<AttributeType,List<Attribute>>(); |
| | |
| | | private Attribute createAttribute(String name, String lowerName, |
| | | String value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createAttribute", String.valueOf(name), |
| | | String.valueOf(lowerName), String.valueOf(value)); |
| | | |
| | | AttributeType type = DirectoryServer.getAttributeType(lowerName); |
| | | if (type == null) |
| | |
| | | private Attribute createDNAttribute(String name, String lowerName, |
| | | Collection<DN> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createDNAttribute", String.valueOf(name), |
| | | String.valueOf(lowerName), String.valueOf(values)); |
| | | |
| | | AttributeType type = DirectoryServer.getAttributeType(lowerName); |
| | | if (type == null) |
| | |
| | | private Attribute createAttribute(String name, String lowerName, |
| | | Collection<String> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createAttribute", String.valueOf(name), |
| | | String.valueOf(lowerName), String.valueOf(values)); |
| | | |
| | | AttributeType type = DirectoryServer.getAttributeType(lowerName); |
| | | if (type == null) |
| | |
| | | public boolean entryExists(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryExists", String.valueOf(entryDN)); |
| | | |
| | | |
| | | // If the specified DN was the null DN, then it exists. |
| | |
| | | public void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addEntry", String.valueOf(entry), |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_ROOTDSE_ADD_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entry.getDN())); |
| | |
| | | public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteEntry", String.valueOf(entryDN), |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_ROOTDSE_DELETE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entryDN)); |
| | |
| | | public void replaceEntry(Entry entry, ModifyOperation modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "replaceEntry", String.valueOf(entry), |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | int msgID = MSGID_ROOTDSE_MODIFY_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entry.getDN()), |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "renameEntry", String.valueOf(currentDN), |
| | | String.valueOf(entry), String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_ROOTDSE_MODIFY_DN_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(currentDN)); |
| | |
| | | public void search(SearchOperation searchOperation) |
| | | throws DirectoryException, CancelledOperationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "search", String.valueOf(searchOperation)); |
| | | |
| | | DN baseDN = searchOperation.getBaseDN(); |
| | | if (! baseDN.isNullDN()) |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | throw de; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_UNEXPECTED_SEARCH_FAILURE; |
| | | String message = getMessage(msgID, searchOperation.getConnectionID(), |
| | |
| | | */ |
| | | public HashSet<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControls; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return supportedFeatures; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFExport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFExport"); |
| | | |
| | | // We will only export the DSE entry itself. |
| | | return true; |
| | |
| | | LDIFExportConfig exportConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "exportLDIF", String.valueOf(exportConfig)); |
| | | |
| | | |
| | | // Create the LDIF writer. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_UNABLE_TO_CREATE_LDIF_WRITER; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_UNABLE_TO_EXPORT_DSE; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFImport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFImport"); |
| | | |
| | | // This backend does not support LDIF imports. |
| | | return false; |
| | |
| | | LDIFImportConfig importConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "importLDIF", String.valueOf(importConfig)); |
| | | |
| | | |
| | | // This backend does not support LDIF imports. |
| | |
| | | */ |
| | | public boolean supportsBackup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | | return false; |
| | |
| | | public boolean supportsBackup(BackupConfig backupConfig, |
| | | StringBuilder unsupportedReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup", String.valueOf(backupConfig)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | String backupID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeBackup", |
| | | String.valueOf(backupDirectory), |
| | | String.valueOf(backupID)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | */ |
| | | public boolean supportsRestore() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsRestore"); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreBackup", |
| | | String.valueOf(restoreConfig)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | */ |
| | | public DN getConfigurableComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurableComponentEntryDN"); |
| | | |
| | | return configEntryDN; |
| | | } |
| | |
| | | */ |
| | | public List<ConfigAttribute> getConfigurationAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurationAttributes"); |
| | | |
| | | LinkedList<ConfigAttribute> attrList = new LinkedList<ConfigAttribute>(); |
| | | |
| | |
| | | public boolean hasAcceptableConfiguration(ConfigEntry configEntry, |
| | | List<String> unacceptableReasons) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasAcceptableConfiguration", |
| | | String.valueOf(configEntry), "java.util.List<String>"); |
| | | |
| | | |
| | | boolean configIsAcceptable = true; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "hasAcceptableConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_SUBORDINATE_BASE_EXCEPTION; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "hasAcceptableConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_CANNOT_DETERMINE_ALL_USER_ATTRIBUTES; |
| | | String message = getMessage(msgID, ATTR_ROOTDSE_SHOW_ALL_ATTRIBUTES, |
| | |
| | | public ConfigChangeResult applyNewConfiguration(ConfigEntry configEntry, |
| | | boolean detailedResults) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyNewConfiguration", |
| | | String.valueOf(configEntry), |
| | | String.valueOf(detailedResults)); |
| | | |
| | | |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_SUBORDINATE_BASE_EXCEPTION; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ROOTDSE_CANNOT_DETERMINE_ALL_USER_ATTRIBUTES; |
| | | String message = getMessage(msgID, ATTR_ROOTDSE_SHOW_ALL_ATTRIBUTES, |
| | |
| | | import org.opends.server.util.DynamicConstants; |
| | | import org.opends.server.util.LDIFException; |
| | | import org.opends.server.util.LDIFWriter; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | implements ConfigurableComponent, AlertGenerator |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | * The fully-qualified name of this class. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.SchemaBackend"; |
| | |
| | | { |
| | | super(); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | |
| | | // Perform all initialization in initializeBackend. |
| | |
| | | public void initializeBackend(ConfigEntry configEntry, DN[] baseDNs) |
| | | throws ConfigException, InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeBackend", |
| | | String.valueOf(configEntry)); |
| | | |
| | | |
| | | // Make sure that a configuration entry was provided. If not, then we will |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_CANNOT_DETERMINE_SHOW_ALL; |
| | | String message = getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN; |
| | | String message = getMessage(msgID, baseDNs[i].toString(), |
| | |
| | | */ |
| | | public void finalizeBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeBackend"); |
| | | |
| | | DirectoryServer.deregisterConfigurableComponent(this); |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | private boolean isSchemaConfigAttribute(Attribute attribute) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isConfigAttribute", |
| | | String.valueOf(attribute)); |
| | | |
| | | AttributeType attrType = attribute.getAttributeType(); |
| | | if (attrType.hasName(ATTR_SCHEMA_ENTRY_DN.toLowerCase()) || |
| | |
| | | */ |
| | | public DN[] getBaseDNs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseDNs"); |
| | | |
| | | return baseDNs; |
| | | } |
| | |
| | | */ |
| | | public long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | // There is always only a single entry in this backend. |
| | | return 1; |
| | |
| | | */ |
| | | public boolean isLocal() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocal"); |
| | | |
| | | // For the purposes of this method, this is a local backend. |
| | | return true; |
| | |
| | | public Entry getEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry", String.valueOf(entryDN)); |
| | | |
| | | |
| | | // If the requested entry was one of the schema entries, then create and |
| | |
| | | */ |
| | | public Entry getSchemaEntry(DN entryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSchemaEntry", String.valueOf(entryDN)); |
| | | |
| | | LinkedHashMap<AttributeType,List<Attribute>> userAttrs = |
| | | new LinkedHashMap<AttributeType,List<Attribute>>(); |
| | |
| | | public boolean entryExists(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryExists", String.valueOf(entryDN)); |
| | | |
| | | |
| | | // The specified DN must be one of the specified schema DNs. |
| | |
| | | public void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addEntry", String.valueOf(entry), |
| | | String.valueOf(addOperation)); |
| | | |
| | | int msgID = MSGID_SCHEMA_ADD_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entry.getDN())); |
| | |
| | | public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteEntry", String.valueOf(entryDN), |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | int msgID = MSGID_SCHEMA_DELETE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entryDN)); |
| | |
| | | public void replaceEntry(Entry entry, ModifyOperation modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "replaceEntry", String.valueOf(entry), |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | |
| | | // Make sure that the authenticated user has the necessary UPDATE_SCHEMA |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DCR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DSR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DCR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DSR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | throw de; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_SCHEMA; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addAttributeType", |
| | | String.valueOf(attributeType), String.valueOf(schema), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // First, see if the specified attribute type already exists. We'll check |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeAttributeType", |
| | | String.valueOf(attributeType), String.valueOf(schema), |
| | | String.valueOf(modifications), |
| | | String.valueOf(currentPosition), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // See if the specified attribute type is actually defined in the server |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeAttributeType", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addObjectClass", String.valueOf(objectClass), |
| | | String.valueOf(schema), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // First, see if the specified objectclass already exists. We'll check the |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeObjectClass", |
| | | String.valueOf(objectClass), String.valueOf(schema), |
| | | String.valueOf(modifications), |
| | | String.valueOf(currentPosition), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // See if the specified objectclass is actually defined in the server |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeObjectClass", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addNameForm", String.valueOf(nameForm), |
| | | String.valueOf(schema), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // First, see if the specified name form already exists. We'll check the |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeNameForm", |
| | | String.valueOf(nameForm), String.valueOf(schema), |
| | | String.valueOf(modifications), |
| | | String.valueOf(currentPosition), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // See if the specified name form is actually defined in the server schema. |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeNameForm", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addDITContentRule", |
| | | String.valueOf(ditContentRule), String.valueOf(schema), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // First, see if the specified DIT content rule already exists. We'll check |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeDITContentRule", |
| | | String.valueOf(ditContentRule), String.valueOf(schema), |
| | | String.valueOf(modifications), |
| | | String.valueOf(currentPosition), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // See if the specified DIT content rule is actually defined in the server |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addDITStructureRule", |
| | | String.valueOf(ditStructureRule), String.valueOf(schema), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // First, see if the specified DIT structure rule already exists. We'll |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeDITStructureRule", |
| | | String.valueOf(ditStructureRule), String.valueOf(schema), |
| | | String.valueOf(modifications), |
| | | String.valueOf(currentPosition), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // See if the specified DIT structure rule is actually defined in the server |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeDITStructureRule", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DSR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addMatchingRuleUse", |
| | | String.valueOf(matchingRuleUse), String.valueOf(schema), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // First, see if the specified matching rule use already exists. We'll |
| | |
| | | Set<String> modifiedSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeMatchingRuleUse", |
| | | String.valueOf(matchingRuleUse), String.valueOf(schema), |
| | | String.valueOf(modifications), |
| | | String.valueOf(currentPosition), |
| | | String.valueOf(modifiedSchemaFiles)); |
| | | |
| | | |
| | | // See if the specified DIT content rule is actually defined in the server |
| | |
| | | */ |
| | | private Entry createEmptySchemaEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createEmptySchemaEntry"); |
| | | |
| | | LinkedHashMap<ObjectClass,String> objectClasses = |
| | | new LinkedHashMap<ObjectClass,String>(); |
| | |
| | | private File writeTempSchemaFile(Schema schema, String schemaFile) |
| | | throws DirectoryException, IOException, LDIFException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "writeTempSchemaFile", String.valueOf(schema), |
| | | String.valueOf(schemaFile)); |
| | | |
| | | |
| | | // Start with an empty schema entry. |
| | |
| | | int depth) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addAttrTypeToSchemaFile", |
| | | String.valueOf(schema), String.valueOf(schemaFile), |
| | | String.valueOf(attributeType), String.valueOf(values), |
| | | String.valueOf(addedTypes), String.valueOf(depth)); |
| | | |
| | | if (depth > 20) |
| | | { |
| | |
| | | int depth) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addObjectClassToSchemaFile", |
| | | String.valueOf(schema), String.valueOf(schemaFile), |
| | | String.valueOf(objectClass), String.valueOf(values), |
| | | String.valueOf(addedClasses), String.valueOf(depth)); |
| | | |
| | | if (depth > 20) |
| | | { |
| | |
| | | HashSet<DITStructureRule> addedDSRs, int depth) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addDITStructureRuleToSchemaFile", |
| | | String.valueOf(schema), String.valueOf(schemaFile), |
| | | String.valueOf(ditStructureRule), String.valueOf(values), |
| | | String.valueOf(addedDSRs), String.valueOf(depth)); |
| | | |
| | | if (depth > 20) |
| | | { |
| | |
| | | private void installSchemaFiles(HashMap<String,File> tempSchemaFiles) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "installSchemaFiles", |
| | | String.valueOf(tempSchemaFiles)); |
| | | |
| | | |
| | | // Create lists that will hold the three types of files we'll be dealing |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "installSchemaFiles", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | boolean allCleaned = true; |
| | | for (File f : origFileList) |
| | |
| | | } |
| | | catch (Exception e2) |
| | | { |
| | | assert debugException(CLASS_NAME, "installSchemaFiles", e2); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e2); |
| | | } |
| | | |
| | | allCleaned = false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "installSchemaFiles", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | for (File f : installedFileList) |
| | | { |
| | |
| | | } |
| | | catch (Exception e2) |
| | | { |
| | | assert debugException(CLASS_NAME, "installSchemaFiles", e2); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e2); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (Exception e2) |
| | | { |
| | | assert debugException(CLASS_NAME, "installSchemaFiles", e2); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e2); |
| | | } |
| | | |
| | | allRestored = false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "installSchemaFiles", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "installSchemaFiles", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | private void copyFile(File from, File to) |
| | | throws IOException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "copyFile", String.valueOf(from), |
| | | String.valueOf(to)); |
| | | |
| | | byte[] buffer = new byte[4096]; |
| | | FileInputStream inputStream = null; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "copyFile", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | private void cleanUpTempSchemaFiles(HashMap<String,File> tempSchemaFiles) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "cleanUpTempSchemaFiles", |
| | | String.valueOf(tempSchemaFiles)); |
| | | |
| | | if ((tempSchemaFiles == null) || tempSchemaFiles.isEmpty()) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "cleanUpTempSchemaFiles", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "renameEntry", String.valueOf(currentDN), |
| | | String.valueOf(entry), String.valueOf(modifyDNOperation)); |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_DN_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(currentDN)); |
| | |
| | | public void search(SearchOperation searchOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "search", String.valueOf(searchOperation)); |
| | | |
| | | DN baseDN = searchOperation.getBaseDN(); |
| | | |
| | |
| | | */ |
| | | public HashSet<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControls; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return supportedFeatures; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFExport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFExport"); |
| | | |
| | | // We will only export the DSE entry itself. |
| | | return true; |
| | |
| | | LDIFExportConfig exportConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "exportLDIF", String.valueOf(exportConfig)); |
| | | |
| | | |
| | | // Create the LDIF writer. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_UNABLE_TO_CREATE_LDIF_WRITER; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_UNABLE_TO_EXPORT_BASE; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFImport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFImport"); |
| | | |
| | | // This backend does not support LDIF imports. |
| | | // FIXME -- Should we support them? |
| | |
| | | LDIFImportConfig importConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "importLDIF", String.valueOf(importConfig)); |
| | | |
| | | |
| | | // This backend does not support LDIF imports. |
| | |
| | | */ |
| | | public boolean supportsBackup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | // We do support an online backup mechanism for the schema. |
| | | return true; |
| | |
| | | public boolean supportsBackup(BackupConfig backupConfig, |
| | | StringBuilder unsupportedReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | |
| | | // We should support online backup for the schema in any form. This |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup", |
| | | String.valueOf(configEntry), |
| | | String.valueOf(backupConfig)); |
| | | |
| | | |
| | | // Get the properties to use for the backup. We don't care whether or not |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_GET_MAC; |
| | | String message = getMessage(msgID, macAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_GET_DIGEST; |
| | | String message = getMessage(msgID, digestAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_CREATE_ARCHIVE_FILE; |
| | | String message = getMessage(msgID, String.valueOf(filename), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_GET_CIPHER; |
| | | String message = getMessage(msgID, cipherAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_BACKUP_CANNOT_LIST_SCHEMA_FILES; |
| | | message = getMessage(msgID, schemaDirPath, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_BACKUP_CANNOT_CLOSE_ZIP_STREAM; |
| | | message = getMessage(msgID, filename, backupDirectory.getPath(), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR; |
| | | message = getMessage(msgID, backupDirectory.getDescriptorPath(), |
| | |
| | | String backupID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeBackup", |
| | | String.valueOf(backupDirectory), |
| | | String.valueOf(backupID)); |
| | | |
| | | |
| | | // This backend does not provide a backup/restore mechanism. |
| | |
| | | */ |
| | | public boolean supportsRestore() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsRestore"); |
| | | |
| | | |
| | | // We will provide a restore, but only for offline operations. |
| | |
| | | RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreBackup", String.valueOf(configEntry), |
| | | String.valueOf(restoreConfig)); |
| | | |
| | | |
| | | // First, make sure that the requested backup exists. |
| | |
| | | */ |
| | | public DN getConfigurableComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurableComponentEntryDN"); |
| | | |
| | | return configEntryDN; |
| | | } |
| | |
| | | */ |
| | | public List<ConfigAttribute> getConfigurationAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurationAttributes"); |
| | | |
| | | LinkedList<ConfigAttribute> attrList = new LinkedList<ConfigAttribute>(); |
| | | |
| | |
| | | public boolean hasAcceptableConfiguration(ConfigEntry configEntry, |
| | | List<String> unacceptableReasons) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasAcceptableConfiguration", |
| | | String.valueOf(configEntry), "java.util.List<String>"); |
| | | |
| | | |
| | | boolean configIsAcceptable = true; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_CANNOT_DETERMINE_BASE_DN; |
| | | String message = getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_CANNOT_DETERMINE_SHOW_ALL; |
| | | String message = getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | public ConfigChangeResult applyNewConfiguration(ConfigEntry configEntry, |
| | | boolean detailedResults) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyNewConfiguration", |
| | | String.valueOf(configEntry), |
| | | String.valueOf(detailedResults)); |
| | | |
| | | |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_CANNOT_DETERMINE_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_CANNOT_DETERMINE_SHOW_ALL; |
| | | messages.add(getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_CANNOT_DEREGISTER_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(dn), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_CANNOT_REGISTER_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(dn), |
| | |
| | | */ |
| | | boolean showAllAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "showAllAttributes"); |
| | | |
| | | return showAllAttributes; |
| | | } |
| | |
| | | */ |
| | | void setShowAllAttributes(boolean showAllAttributes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setShowAllAttributes", |
| | | String.valueOf(showAllAttributes)); |
| | | |
| | | this.showAllAttributes = showAllAttributes; |
| | | } |
| | |
| | | */ |
| | | public DN getComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getComponentEntryDN"); |
| | | |
| | | return configEntryDN; |
| | | } |
| | |
| | | */ |
| | | public String getClassName() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getClassName"); |
| | | |
| | | return CLASS_NAME; |
| | | } |
| | |
| | | */ |
| | | public LinkedHashMap<String,String> getAlerts() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAlerts"); |
| | | |
| | | LinkedHashMap<String,String> alerts = new LinkedHashMap<String,String>(); |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import org.opends.server.types.Modification; |
| | | import org.opends.server.types.SearchFilter; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | /** |
| | | * Class representing an attribute index. |
| | |
| | | */ |
| | | public class AttributeIndex |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.AttributeIndex"; |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "evaluateEqualityFilter", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "evaluateGreaterOrEqualFilter", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "evaluateLessOrEqualFilter", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "evaluateSubstringFilter", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "evaluateBoundedRange", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | | } |
| | |
| | | import static org.opends.server.loggers.Error.logError; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.config.ConfigConstants.ATTR_BACKEND_BASE_DN; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.util.ServerConstants.OID_SUBTREE_DELETE_CONTROL; |
| | | import static org.opends.server.util.ServerConstants.OID_PAGED_RESULTS_CONTROL; |
| | | import static org.opends.server.util.ServerConstants.OID_MANAGE_DSAIT_CONTROL; |
| | |
| | | */ |
| | | public class BackendImpl extends Backend implements ConfigurableComponent |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.BackendImpl"; |
| | | |
| | | /** |
| | | * The DN of the configuration entry for this backend. |
| | |
| | | */ |
| | | private void readerBegin() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "readerBegin"); |
| | | |
| | | threadTotalCount.getAndIncrement(); |
| | | } |
| | |
| | | */ |
| | | private void readerEnd() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "readerEnd"); |
| | | |
| | | threadTotalCount.getAndDecrement(); |
| | | } |
| | |
| | | */ |
| | | private void writerBegin() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "writerBegin"); |
| | | |
| | | threadTotalCount.getAndIncrement(); |
| | | threadWriteCount.getAndIncrement(); |
| | |
| | | */ |
| | | private void writerEnd() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "writerEnd"); |
| | | |
| | | threadWriteCount.getAndDecrement(); |
| | | threadTotalCount.getAndDecrement(); |
| | |
| | | */ |
| | | private void waitUntilQuiescent() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "waitUntilQuiescent"); |
| | | |
| | | while (threadTotalCount.get() > 0) |
| | | { |
| | |
| | | } |
| | | catch (InterruptedException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "waitUntilQuiescent", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public static String getContainerName(DN dn) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getContainerName"); |
| | | |
| | | String normStr = dn.toNormalizedString(); |
| | | StringBuilder builder = new StringBuilder(normStr.length()); |
| | |
| | | public void initializeBackend(ConfigEntry configEntry, DN[] baseDNs) |
| | | throws ConfigException, InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeBackend"); |
| | | |
| | | configDN = configEntry.getDN(); |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN; |
| | | String message = getMessage(msgID, String.valueOf(dn), |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_OPEN_ENV_FAIL, |
| | | e.getMessage()); |
| | | throw new InitializationException(MSGID_JEB_OPEN_ENV_FAIL, message, e); |
| | |
| | | } |
| | | catch (DatabaseException databaseException) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", |
| | | databaseException); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, databaseException); |
| | | } |
| | | String message = getMessage(MSGID_JEB_OPEN_DATABASE_FAIL, |
| | | databaseException.getMessage()); |
| | | throw new InitializationException(MSGID_JEB_OPEN_DATABASE_FAIL, message, |
| | |
| | | } |
| | | catch(DatabaseException databaseException) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", |
| | | databaseException); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, databaseException); |
| | | } |
| | | String message = getMessage(MSGID_JEB_GET_ENTRY_COUNT_FAILED, |
| | | databaseException.getMessage()); |
| | | throw new InitializationException(MSGID_JEB_GET_ENTRY_COUNT_FAILED, |
| | |
| | | */ |
| | | public void finalizeBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeBackend"); |
| | | |
| | | // Deregister our configurable components. |
| | | // TODO: configurableEnv is always null and will not be deregistered. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | int msgID = MSGID_JEB_DATABASE_EXCEPTION; |
| | | String message = getMessage(msgID, e.getMessage()); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_ERROR, |
| | |
| | | */ |
| | | public boolean isLocal() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocal"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFExport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFExport"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFImport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFImport"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsBackup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | public boolean supportsBackup(BackupConfig backupConfig, |
| | | StringBuilder unsupportedReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsRestore() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsRestore"); |
| | | |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return new HashSet<String>(); //NYI |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControls; |
| | | } |
| | |
| | | */ |
| | | public DN[] getBaseDNs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseDNs"); |
| | | |
| | | return config.getBaseDNs(); |
| | | } |
| | |
| | | */ |
| | | public long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | if (rootContainer != null) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getEntryCount", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public Entry getEntry(DN entryDN) throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry"); |
| | | |
| | | readerBegin(); |
| | | try |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, |
| | | e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (JebException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | public void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addEntry"); |
| | | |
| | | writerBegin(); |
| | | try |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "addEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, |
| | | e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (JebException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "addEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteEntry"); |
| | | |
| | | writerBegin(); |
| | | try |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "deleteEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, |
| | | e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (JebException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "deleteEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | public void replaceEntry(Entry entry, ModifyOperation modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "replaceEntry"); |
| | | |
| | | writerBegin(); |
| | | try |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, |
| | | e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (JebException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "replaceEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException, CancelledOperationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "renameEntry"); |
| | | |
| | | writerBegin(); |
| | | try |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "renameEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, MSGID_JEB_DATABASE_EXCEPTION); |
| | | } |
| | | catch (JebException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "renameEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | public void search(SearchOperation searchOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "search"); |
| | | |
| | | readerBegin(); |
| | | try |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, MSGID_JEB_DATABASE_EXCEPTION); |
| | |
| | | LDIFExportConfig exportConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "exportLDIF"); |
| | | |
| | | // Initialize a config object. |
| | | config = new Config(); |
| | |
| | | } |
| | | catch (ConfigException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", ioe); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | int msgID = MSGID_JEB_IO_ERROR; |
| | | String message = getMessage(msgID, ioe.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (JebException je) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", je); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, je); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | je.getMessage(), |
| | | je.getMessageID()); |
| | | } |
| | | catch (DatabaseException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, |
| | | de.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (LDIFException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | LDIFImportConfig importConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "importLDIF"); |
| | | |
| | | // Initialize a config object. |
| | | config = new Config(); |
| | |
| | | } |
| | | catch (ConfigException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "importLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | assert debugException(CLASS_NAME, "importLDIF", ioe); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | int msgID = MSGID_JEB_IO_ERROR; |
| | | String message = getMessage(msgID, ioe.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (JebException je) |
| | | { |
| | | assert debugException(CLASS_NAME, "importLDIF", je); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, je); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | je.getMessage(), |
| | | je.getMessageID()); |
| | | } |
| | | catch (DatabaseException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "importLDIF", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, |
| | | de.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | DN[] baseDNs, Entry statEntry) |
| | | throws InitializationException, ConfigException, DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "verifyBackend"); |
| | | |
| | | // Initialize a config object. |
| | | config = new Config(); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_DATABASE_EXCEPTION, |
| | | e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (JebException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup"); |
| | | |
| | | BackupManager backupManager = |
| | | new BackupManager(getBackendID()); |
| | |
| | | public void removeBackup(BackupDirectory backupDirectory, String backupID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeBackup"); |
| | | |
| | | BackupManager backupManager = |
| | | new BackupManager(getBackendID()); |
| | |
| | | RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreBackup"); |
| | | |
| | | BackupManager backupManager = |
| | | new BackupManager(getBackendID()); |
| | |
| | | */ |
| | | public DN getConfigurableComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurableComponentEntryDN"); |
| | | |
| | | return configDN; |
| | | } |
| | |
| | | */ |
| | | public List<ConfigAttribute> getConfigurationAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurationAttributes"); |
| | | |
| | | return configAttrs; |
| | | } |
| | |
| | | public boolean hasAcceptableConfiguration(ConfigEntry configEntry, |
| | | List<String> unacceptableReasons) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasAcceptableConfiguration"); |
| | | |
| | | DN[] baseDNs = null; |
| | | boolean acceptable = true; |
| | |
| | | public ConfigChangeResult applyNewConfiguration(ConfigEntry configEntry, |
| | | boolean detailedResults) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyNewConfiguration"); |
| | | |
| | | ConfigChangeResult ccr; |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | |
| | |
| | | */ |
| | | public RootContainer getRootContainer() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRootContainer"); |
| | | return rootContainer; |
| | | } |
| | | |
| | |
| | | import java.util.zip.ZipInputStream; |
| | | import java.util.zip.ZipOutputStream; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.loggers.Error.logError; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.server.messages.JebMessages.*; |
| | |
| | | */ |
| | | public static final String ZIPENTRY_EMPTY_PLACEHOLDER = "empty.placeholder"; |
| | | |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.BackupManager"; |
| | | |
| | | /** |
| | | * The backend ID. |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup", String.valueOf(backupConfig)); |
| | | |
| | | |
| | | // Parse our backend configuration. |
| | |
| | | } |
| | | catch (ConfigException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_GET_MAC; |
| | | String message = getMessage(msgID, macAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_GET_DIGEST; |
| | | String message = getMessage(msgID, digestAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_CREATE_ARCHIVE_FILE; |
| | | String message = getMessage(msgID, String.valueOf(archiveFilename), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_GET_CIPHER; |
| | | String message = getMessage(msgID, cipherAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_JEB_BACKUP_CANNOT_LIST_LOG_FILES; |
| | | message = getMessage(msgID, backendDir.getAbsolutePath(), |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | msgID = MSGID_JEB_BACKUP_CANNOT_WRITE_ARCHIVE_FILE; |
| | | message = getMessage(msgID, ZIPENTRY_EMPTY_PLACEHOLDER, |
| | | stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | msgID = MSGID_JEB_BACKUP_CANNOT_WRITE_ARCHIVE_FILE; |
| | | message = getMessage(msgID, zipEntryName, |
| | | stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (FileNotFoundException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | // A log file has been deleted by the cleaner since we started. |
| | | deletedFiles = true; |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | msgID = MSGID_JEB_BACKUP_CANNOT_WRITE_ARCHIVE_FILE; |
| | | message = getMessage(msgID, logFile.getName(), |
| | | stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_JEB_BACKUP_CANNOT_LIST_LOG_FILES; |
| | | message = getMessage(msgID, backendDir.getAbsolutePath(), |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_JEB_BACKUP_CANNOT_CLOSE_ZIP_STREAM; |
| | | message = getMessage(msgID, archiveFilename, backupDir.getPath(), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_JEB_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR; |
| | | message = getMessage(msgID, backupDir.getDescriptorPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); } |
| | | message, msgID, e); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | catch (ConfigException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "restoreBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_RESTORE; |
| | | String message = getMessage(msgID, backupInfo.getBackupID(), |
| | | stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "restoreBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_RESTORE; |
| | | String message = getMessage(msgID, dependent.getBackupID(), |
| | | stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "restoreBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_RESTORE; |
| | | String message = getMessage(msgID, backupInfo.getBackupID(), |
| | | stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (ConfigException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | e.getMessage(), |
| | | e.getMessageID()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackup", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR; |
| | | String message = getMessage(msgID, backupDir.getDescriptorPath(), |
| | |
| | | Set<String> includeFiles) |
| | | throws DirectoryException,IOException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreArchive", |
| | | String.valueOf(restoreConfig)); |
| | | |
| | | |
| | | BackupDirectory backupDir = restoreConfig.getBackupDirectory(); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "restoreArchive", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_GET_MAC; |
| | | String message = getMessage(msgID, macAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "restoreArchive", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_GET_DIGEST; |
| | | String message = getMessage(msgID, digestAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "restoreArchive", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_GET_CIPHER; |
| | | String message = getMessage(msgID, cipherAlgorithm, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "restoreArchive", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_JEB_BACKUP_CANNOT_GET_CIPHER; |
| | | String message = getMessage(msgID, cipherAlgorithm, |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import java.io.File; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | /** |
| | | * This class represents the configuration of a JE backend. |
| | | */ |
| | | public class Config |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.Config"; |
| | | |
| | | /** |
| | | * The name of the object class which configures |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeConfig", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | ConcurrentHashMap<DN, ConfigEntry> children = configEntry.getChildren(); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import java.util.Set; |
| | | |
| | | import static org.opends.server.util.ServerConstants.ATTR_REFERRAL_URL; |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.JebMessages. |
| | | MSGID_JEB_REFERRAL_RESULT_MESSAGE; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | |
| | | */ |
| | | public class DN2URI |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.EntryContainer"; |
| | | |
| | | /** |
| | | * The standard attribute type that is used to specify the set of referral |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "throwReferralException", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | // Return the non-LDAP URI as is. |
| | | } |
| | | |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "targetEntryReferrals", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | catch (UnsupportedEncodingException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "targetEntryReferrals", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "returnSearchReferences", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | // Return the non-LDAP URI as is. |
| | | } |
| | | |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "returnSearchReferences", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | catch (UnsupportedEncodingException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "returnSearchReferences", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | return true; |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import com.sleepycat.je.Database; |
| | | import com.sleepycat.je.DatabaseException; |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import java.util.Comparator; |
| | | |
| | |
| | | */ |
| | | public class DbPreloadComparator implements Comparator<Database> |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.EntryContainer"; |
| | | |
| | | /** |
| | | * Calculate the relative priority of a database for preloading. |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "TODO", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return 3; |
| | | } |
| | | } |
| | |
| | | import org.opends.server.core.ModifyDNOperation; |
| | | import org.opends.server.core.Operation; |
| | | import org.opends.server.core.SearchOperation; |
| | | import org.opends.server.loggers.Debug; |
| | | import org.opends.server.protocols.asn1.ASN1OctetString; |
| | | import org.opends.server.protocols.ldap.LDAPException; |
| | | import org.opends.server.controls.PagedResultsControl; |
| | |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.CancelledOperationException; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.DebugLogCategory; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.Entry; |
| | |
| | | |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.server.messages.JebMessages.*; |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.types.DebugLogSeverity.VERBOSE; |
| | | import static org.opends.server.types.DebugLogCategory.DATABASE_ACCESS; |
| | | import static org.opends.server.types.DebugLogCategory.DATABASE_WRITE; |
| | | import static org.opends.server.types.DebugLogCategory.DATABASE_READ; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugJEAccess; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugVerbose; |
| | | import static org.opends.server.util.ServerConstants.OID_SUBTREE_DELETE_CONTROL; |
| | | import static org.opends.server.util.ServerConstants.OID_PAGED_RESULTS_CONTROL; |
| | | |
| | |
| | | */ |
| | | public class EntryContainer |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.EntryContainer"; |
| | | |
| | | /** |
| | | * The name of the entry database. |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "open", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | close(); |
| | | throw e; |
| | | } |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "open", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | close(); |
| | | throw e; |
| | | } |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "openReadOnly", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | close(); |
| | | throw e; |
| | | } |
| | |
| | | } |
| | | catch (LDAPException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | throw new DirectoryException(ResultCode.PROTOCOL_ERROR, |
| | | e.getMessage(), e.getMessageID(), e); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | // The base entry must exist for a successful result. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "search", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | // The base entry must exist for a successful result. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "searchNotIndexed", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | int msgID = MSGID_JEB_INVALID_PAGED_RESULTS_COOKIE; |
| | | String str = StaticUtils.bytesToHex(pageRequest.getCookie().value()); |
| | | String msg = getMessage(msgID, str); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "searchNotIndexed", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | catch (JebException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "searchNotIndexed", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | if (pageRequest != null) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "searchIndexed", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | int msgID = MSGID_JEB_INVALID_PAGED_RESULTS_COOKIE; |
| | | String str = StaticUtils.bytesToHex(pageRequest.getCookie().value()); |
| | | String msg = getMessage(msgID, str); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "searchIndexed", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | continue; |
| | | } |
| | | } |
| | |
| | | { |
| | | throw deadlockException; |
| | | } |
| | | assert debugException(CLASS_NAME, "invokeTransactedOperation", |
| | | deadlockException); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, deadlockException); |
| | | } |
| | | } |
| | | catch (DatabaseException databaseException) |
| | | { |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "entryExists", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | return id != null; |
| | |
| | | } |
| | | catch (DatabaseNotFoundException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeContainer", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (DatabaseNotFoundException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeContainer", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (DatabaseNotFoundException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeContainer", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (DatabaseNotFoundException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeContainer", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | for (AttributeIndex index : attrIndexMap.values()) |
| | | { |
| | |
| | | } |
| | | catch (DatabaseNotFoundException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeContainer", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "listDatabases", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | try |
| | | { |
| | | database = env.openDatabase(txn, fullName, dbConfig); |
| | | assert Debug.debugMessage(DATABASE_ACCESS, VERBOSE, CLASS_NAME, |
| | | "openDatabase", |
| | | "open db=" + database.getDatabaseName() + |
| | | " txnid=" + txn.getId()); |
| | | if (debugEnabled()) |
| | | { |
| | | debugVerbose("open db=%s txnid=%d", database.getDatabaseName(), |
| | | txn.getId()); |
| | | } |
| | | transactionCommit(txn); |
| | | } |
| | | catch (DatabaseException e) |
| | |
| | | else |
| | | { |
| | | database = env.openDatabase(null, fullName, dbConfig); |
| | | assert Debug.debugMessage(DATABASE_ACCESS, VERBOSE, CLASS_NAME, |
| | | "openDatabase", |
| | | "open db=" + database.getDatabaseName() + |
| | | " txnid=none"); |
| | | if (debugEnabled()) |
| | | { |
| | | debugVerbose("open db=%s txnid=none", database.getDatabaseName()); |
| | | } |
| | | } |
| | | |
| | | // Insert into the list of database handles. |
| | |
| | | Transaction parentTxn = null; |
| | | TransactionConfig txnConfig = null; |
| | | Transaction txn = env.beginTransaction(parentTxn, txnConfig); |
| | | assert Debug.debugMessage(DATABASE_ACCESS, VERBOSE, CLASS_NAME, |
| | | "beginTransaction", "begin txnid=" + txn.getId()); |
| | | if (debugEnabled()) |
| | | { |
| | | debugVerbose("beginTransaction", "begin txnid=" + txn.getId()); |
| | | } |
| | | return txn; |
| | | } |
| | | |
| | |
| | | if (txn != null) |
| | | { |
| | | txn.commit(); |
| | | assert Debug.debugMessage(DATABASE_ACCESS, VERBOSE, CLASS_NAME, |
| | | "transactionCommit", "commit txnid=" + |
| | | txn.getId()); |
| | | if (debugEnabled()) |
| | | { |
| | | debugVerbose("commit txnid=%d", txn.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | if (txn != null) |
| | | { |
| | | txn.abort(); |
| | | assert Debug.debugMessage(DATABASE_ACCESS, VERBOSE, CLASS_NAME, |
| | | "transactionAbort", "abort txnid=" + |
| | | txn.getId()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Debug log a read or write access to the database. |
| | | * @param operation The operation label: "read", "put", "insert". |
| | | * @param category The log category for raw data value logging |
| | | * @param status The JE return status code of the operation. |
| | | * @param database The JE database handle operated on. |
| | | * @param txn The JE transaction handle used in the operation. |
| | | * @param key The database key operated on. |
| | | * @param data The database value read or written. |
| | | * @return true so that the method can be used in an assertion |
| | | * @throws DatabaseException If an error occurs while retrieving information |
| | | * about the JE objects provided to the method. |
| | | */ |
| | | private static boolean debugAccess(String operation, |
| | | DebugLogCategory category, |
| | | OperationStatus status, |
| | | Database database, |
| | | Transaction txn, |
| | | DatabaseEntry key, DatabaseEntry data) |
| | | throws DatabaseException |
| | | if (debugEnabled()) |
| | | { |
| | | // Build the string that is common to category DATABASE_ACCESS and |
| | | // DATABASE_READ/DATABASE_WRITE |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.append(operation); |
| | | if(status != null) |
| | | { |
| | | if (status == OperationStatus.SUCCESS) |
| | | { |
| | | builder.append(" (ok)"); |
| | | } |
| | | else |
| | | { |
| | | builder.append(" ("); |
| | | builder.append(status.toString()); |
| | | builder.append(")"); |
| | | debugVerbose("abort txnid=%d", txn.getId()); |
| | | } |
| | | } |
| | | builder.append(" db="); |
| | | builder.append(database.getDatabaseName()); |
| | | if (txn != null) |
| | | { |
| | | builder.append(" txnid="); |
| | | builder.append(txn.getId()); |
| | | } |
| | | else |
| | | { |
| | | builder.append(" txnid=none"); |
| | | } |
| | | Debug.debugMessage(DATABASE_ACCESS, VERBOSE, CLASS_NAME, |
| | | "debugAccess", builder.toString()); |
| | | |
| | | // If the operation was successful we log the same common information |
| | | // plus the key and data under category DATABASE_READ or DATABASE_WRITE |
| | | if (status == OperationStatus.SUCCESS) |
| | | { |
| | | builder.append(" key:"); |
| | | builder.append(ServerConstants.EOL); |
| | | StaticUtils.byteArrayToHexPlusAscii(builder, key.getData(), 0); |
| | | if (data != null) |
| | | { |
| | | builder.append("data(len="); |
| | | builder.append(data.getSize()); |
| | | builder.append("):"); |
| | | builder.append(ServerConstants.EOL); |
| | | StaticUtils.byteArrayToHexPlusAscii(builder, data.getData(), 0); |
| | | } |
| | | Debug.debugMessage(category, VERBOSE, CLASS_NAME, |
| | | "debugAccess", builder.toString()); |
| | | /* |
| | | if (category == DATABASE_WRITE) |
| | | { |
| | | System.out.println(builder.toString()); |
| | | } |
| | | */ |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | |
| | | throws DatabaseException |
| | | { |
| | | OperationStatus status = database.putNoOverwrite(txn, key, data); |
| | | assert debugAccess("insert", DATABASE_WRITE, |
| | | status, database, txn, key, data); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, status, database, txn, key, data); |
| | | } |
| | | return status; |
| | | } |
| | | |
| | |
| | | throws DatabaseException |
| | | { |
| | | OperationStatus status = cursor.putNoOverwrite(key, data); |
| | | assert debugAccess("cursorInsert", DATABASE_WRITE, |
| | | status, cursor.getDatabase(), null, key, data); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, status, |
| | | cursor.getDatabase(), null, key, data); |
| | | } |
| | | return status; |
| | | } |
| | | |
| | |
| | | throws DatabaseException |
| | | { |
| | | OperationStatus status = database.put(txn, key, data); |
| | | assert debugAccess("put", DATABASE_WRITE, |
| | | status, database, txn, key, data); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, status, database, txn, key, data); |
| | | } |
| | | return status; |
| | | } |
| | | |
| | |
| | | throws DatabaseException |
| | | { |
| | | OperationStatus status = cursor.put(key, data); |
| | | assert debugAccess("cursorPut", DATABASE_WRITE, |
| | | status, cursor.getDatabase(), null, key, data); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, status, |
| | | cursor.getDatabase(), null, key, data); |
| | | } |
| | | return status; |
| | | } |
| | | |
| | |
| | | throws DatabaseException |
| | | { |
| | | OperationStatus status = database.get(txn, key, data, lockMode); |
| | | assert debugAccess("read", DATABASE_READ, |
| | | status, database, txn, key, data); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, status, database, txn, key, data); |
| | | } |
| | | return status; |
| | | } |
| | | |
| | |
| | | throws DatabaseException |
| | | { |
| | | OperationStatus status = cursor.getSearchKey(key, data, lockMode); |
| | | assert debugAccess("cursorRead", DATABASE_READ, |
| | | status, cursor.getDatabase(), null, key, data); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, status, |
| | | cursor.getDatabase(), null, key, data); |
| | | } |
| | | return status; |
| | | } |
| | | |
| | |
| | | throws DatabaseException |
| | | { |
| | | OperationStatus status = database.delete(txn, key); |
| | | assert debugAccess("delete", DATABASE_WRITE, |
| | | status, database, txn, key, null); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, status, database, txn, key, null); |
| | | } |
| | | return status; |
| | | } |
| | | |
| | |
| | | public static long count(Database database) throws DatabaseException |
| | | { |
| | | long count = database.count(); |
| | | assert debugAccess("count", DATABASE_READ, null, database, |
| | | null, null, null); |
| | | if (debugEnabled()) |
| | | { |
| | | debugJEAccess(DebugLogLevel.VERBOSE, OperationStatus.SUCCESS, |
| | | database, null, null, null); |
| | | } |
| | | return count; |
| | | } |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | */ |
| | | public class EntryIDSet implements Iterable<EntryID> |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.EntryIDSet"; |
| | | |
| | | |
| | | /** |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.server.messages.JebMessages.MSGID_JEB_CREATE_FAIL; |
| | | import static org.opends.server.messages.JebMessages. |
| | |
| | | */ |
| | | public class EnvManager |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.EnvManager"; |
| | | |
| | | /** |
| | | * A filename filter to match all kinds of JE files. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createBackendDirectory", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_CREATE_FAIL, e.getMessage()); |
| | | throw new JebException(MSGID_JEB_CREATE_FAIL, message, e); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeFiles", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | String message = getMessage(MSGID_JEB_REMOVE_FAIL, e.getMessage()); |
| | | throw new JebException(MSGID_JEB_REMOVE_FAIL, message, e); |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import com.sleepycat.je.Transaction; |
| | | import com.sleepycat.je.DatabaseException; |
| | |
| | | */ |
| | | public class EqualityIndexer extends Indexer |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.EqualityIndexer"; |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "indexAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.server.loggers.Error.logError; |
| | | import static org.opends.server.messages.JebMessages.*; |
| | |
| | | */ |
| | | public class ExportJob |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.ExportJob"; |
| | | |
| | | /** |
| | | * The requested LDIF export configuration. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportContainer", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | skippedCount++; |
| | | System.err.printf("Malformed id2entry ID %s.%n", |
| | | StaticUtils.bytesToHex(key.getData())); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "exportContainer", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | skippedCount++; |
| | | System.err.printf("Malformed id2entry record for ID %d:%n%s%n", |
| | | entryID.longValue(), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import com.sleepycat.je.Transaction; |
| | | |
| | | import org.opends.server.api.Backend; |
| | | import org.opends.server.loggers.Debug; |
| | | import org.opends.server.loggers.debug.DebugLogger; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import org.opends.server.messages.JebMessages; |
| | | import org.opends.server.types.AttributeType; |
| | | import org.opends.server.types.DebugLogCategory; |
| | | import org.opends.server.types.DebugLogSeverity; |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.Entry; |
| | |
| | | import java.util.TimerTask; |
| | | import java.util.concurrent.LinkedBlockingQueue; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.JebMessages. |
| | | MSGID_JEB_IMPORT_ENTRY_EXISTS; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | |
| | | */ |
| | | public class ImportJob implements Thread.UncaughtExceptionHandler |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.ImportJob"; |
| | | |
| | | /** |
| | | * The backend instance we are importing into. |
| | |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, |
| | | message, msgID); |
| | | |
| | | Debug.debugMessage(DebugLogCategory.BACKEND, DebugLogSeverity.INFO, |
| | | CLASS_NAME, "importLDIF", |
| | | DebugLogger.debugInfo( |
| | | rootContainer.getEnvironmentConfig().toString()); |
| | | |
| | | |
| | |
| | | } |
| | | catch (InterruptedException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "merge", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (LDIFException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "processLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | // Update stats. |
| | | rejectedCount++; |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "processLDIF", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | // Update stats. |
| | | rejectedCount++; |
| | | } |
| | |
| | | } |
| | | catch (InterruptedException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "processEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | else |
| | |
| | | } |
| | | catch (InterruptedException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "processEntry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import org.opends.server.api.DirectoryThread; |
| | | import org.opends.server.types.AttributeType; |
| | | import org.opends.server.types.Entry; |
| | |
| | | */ |
| | | public class ImportThread extends DirectoryThread |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.ImportThread"; |
| | | |
| | | /** |
| | | * The import context of this thread. |
| | |
| | | } |
| | | catch (InterruptedException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | continue; |
| | | } |
| | | |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.JebMessages. |
| | | MSGID_JEB_DATABASE_EXCEPTION; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | |
| | | */ |
| | | public class Index |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.Index"; |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "readKey", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "readRange", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "openCursor", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | int msgID = MSGID_JEB_DATABASE_EXCEPTION; |
| | | String message = getMessage(msgID, e.getMessage()); |
| | | throw new JebException(msgID, message, e); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | */ |
| | | public class IndexConfig |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.IndexConfig"; |
| | | |
| | | /** |
| | | * The attribute type of the indexed attribute. |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import java.util.TreeMap; |
| | | import java.util.WeakHashMap; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.server.loggers.Error.logError; |
| | | import static org.opends.server.messages.JebMessages.*; |
| | |
| | | */ |
| | | public class IndexMergeThread extends DirectoryThread |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.IndexMergeThread"; |
| | | |
| | | /** |
| | | * The buffer size to use when reading data from disk. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | e.printStackTrace(); |
| | | throw e; |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugConstructor; |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | |
| | | /** |
| | | * This class defines an exception that may be thrown if a problem occurs in the |
| | | * JE backend database. |
| | |
| | | public class JebException |
| | | extends Exception |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backend.je.JebException"; |
| | | |
| | | |
| | | /** |
| | |
| | | { |
| | | super(message); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(message)); |
| | | |
| | | this.messageID = messageID; |
| | | } |
| | |
| | | { |
| | | super(message, cause); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(message), |
| | | String.valueOf(cause)); |
| | | |
| | | this.messageID = messageID; |
| | | } |
| | |
| | | */ |
| | | public int getMessageID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMessageID"); |
| | | |
| | | return messageID; |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | |
| | | import org.opends.server.core.DirectoryServer; |
| | | import org.opends.server.protocols.asn1.ASN1Element; |
| | | import org.opends.server.protocols.asn1.ASN1Exception; |
| | |
| | | */ |
| | | public class JebFormat |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.je.JebFormat"; |
| | | |
| | | /** |
| | | * The format version used by this class to encode and decode a DatabaseEntry. |
| | |
| | | static public byte[] decodeDatabaseEntry(byte[] bytes) |
| | | throws ASN1Exception,DataFormatException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeDatabaseEntry", String.valueOf(bytes)); |
| | | |
| | | // FIXME: This array copy could be very costly on performance. We need to |
| | | // FIXME: find a faster way to implement this versioning feature. |
| | |
| | | static public Entry entryFromDatabase(byte[] bytes) |
| | | throws DirectoryException,ASN1Exception,LDAPException,DataFormatException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryFromDatabase", String.valueOf(bytes)); |
| | | |
| | | byte[] uncompressedBytes = decodeDatabaseEntry(bytes); |
| | | return decodeDirectoryServerEntry(uncompressedBytes); |
| | |
| | | static private Entry decodeDirectoryServerEntry(byte[] bytes) |
| | | throws DirectoryException,ASN1Exception,LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeDirectoryServerEntry", |
| | | String.valueOf(bytes)); |
| | | |
| | | HashMap<ObjectClass, String> objectClasses; |
| | | HashMap<AttributeType, List<Attribute>> userAttributes = |
| | |
| | | */ |
| | | static public byte[] encodeDatabaseEntry(byte[] bytes, DataConfig dataConfig) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeDatabaseEntry", |
| | | String.valueOf(dataConfig)); |
| | | |
| | | int uncompressedSize = 0; |
| | | |
| | |
| | | */ |
| | | static public byte[] entryToDatabase(Entry entry, DataConfig dataConfig) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryToDatabase", |
| | | String.valueOf(dataConfig)); |
| | | |
| | | byte[] uncompressedBytes = encodeDirectoryServerEntry(entry); |
| | | return encodeDatabaseEntry(uncompressedBytes, dataConfig); |
| | |
| | | */ |
| | | static public byte[] entryToDatabase(Entry entry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryToDatabase"); |
| | | |
| | | return entryToDatabase(entry, new DataConfig()); |
| | | } |
| | |
| | | */ |
| | | static private byte[] encodeDirectoryServerEntry(Entry entry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeDirectoryServerEntry"); |
| | | |
| | | // Encode the DN (LDAPDN). |
| | | ArrayList<ASN1Element> elements = new ArrayList<ASN1Element>(4); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import org.opends.server.api.OrderingMatchingRule; |
| | | import org.opends.server.protocols.asn1.ASN1OctetString; |
| | |
| | | */ |
| | | public class OrderingIndexer extends Indexer |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.OrderingIndexer"; |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "indexAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | */ |
| | | public class PresenceIndexer extends Indexer |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.PresenceIndexer"; |
| | | |
| | | |
| | | /** |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import java.io.FilenameFilter; |
| | | |
| | | import org.opends.server.monitors.DatabaseEnvironmentMonitor; |
| | | import org.opends.server.types.*; |
| | | import org.opends.server.loggers.Debug; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.FilePermission; |
| | | import static org.opends.server.loggers.Error.logError; |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.Debug.debugEnter; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugInfo; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.server.messages.JebMessages. |
| | | MSGID_JEB_CACHE_SIZE_AFTER_PRELOAD; |
| | |
| | | */ |
| | | public class RootContainer |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.RootContainer"; |
| | | |
| | | /** |
| | | * The JE database environment. |
| | |
| | | env = new Environment(backendDirectory, |
| | | envConfig); |
| | | |
| | | Debug.debugMessage(DebugLogCategory.BACKEND, DebugLogSeverity.INFO, |
| | | CLASS_NAME, "initializeBackend", |
| | | env.getConfig().toString()); |
| | | if (debugEnabled()) |
| | | { |
| | | debugInfo(env.getConfig().toString()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public void preload() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "preload"); |
| | | |
| | | long timeLimit = config.getPreloadTimeLimit(); |
| | | |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "preload", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | private void cleanDatabase() |
| | | throws DatabaseException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "cleanDatabase"); |
| | | |
| | | int msgID; |
| | | String message; |
| | |
| | | |
| | | config = newConfig; |
| | | |
| | | Debug.debugMessage(DebugLogCategory.BACKEND, DebugLogSeverity.INFO, |
| | | CLASS_NAME, "applyNewConfiguration", |
| | | env.getConfig().toString()); |
| | | if (debugEnabled()) |
| | | { |
| | | debugInfo(env.getConfig().toString()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import com.sleepycat.je.Transaction; |
| | | import org.opends.server.protocols.asn1.ASN1OctetString; |
| | | import org.opends.server.types.Attribute; |
| | |
| | | */ |
| | | public class SubstringIndexer extends Indexer |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.SubstringIndexer"; |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "indexAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import org.opends.server.util.StaticUtils; |
| | | import org.opends.server.util.ServerConstants; |
| | | |
| | | import static org.opends.server.loggers.Debug.debugException; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.server.messages.JebMessages.*; |
| | | |
| | |
| | | */ |
| | | public class VerifyJob |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.VerifyJob"; |
| | | |
| | | /** |
| | | * The verify configuration. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Entry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("Malformed id2entry ID %s.%n", |
| | | StaticUtils.bytesToHex(key.getData())); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Entry", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("Malformed id2entry record for ID %d:%n%s%n", |
| | | entryID.longValue(), |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateDN2ID", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("File dn2id has malformed key %s.%n", |
| | | StaticUtils.bytesToHex(key.getData())); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateDN2ID", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("File dn2id has malformed ID for DN <%s>:%n%s%n", |
| | | dn.toNormalizedString(), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateDN2ID", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.println(e.getMessage()); |
| | | continue; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Children", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("File id2children has malformed ID %s%n", |
| | | StaticUtils.bytesToHex(key.getData())); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Children", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("File id2children has malformed ID list " + |
| | | "for ID %s:%n%s%n", |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Children", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.println(e.getMessage()); |
| | | continue; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Children", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.println(e.getMessage()); |
| | | continue; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Subtree", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("File id2subtree has malformed ID %s%n", |
| | | StaticUtils.bytesToHex(key.getData())); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Subtree", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("File id2subtree has malformed ID list " + |
| | | "for ID %s:%n%s%n", |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Subtree", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.println(e.getMessage()); |
| | | continue; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateID2Subtree", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.println(e.getMessage()); |
| | | continue; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateAttrIndex", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.printf("Malformed ID list: %s%n%s", |
| | | StaticUtils.bytesToHex(data.getData()), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateAttrIndex", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | errorCount++; |
| | | System.err.println(e.getMessage()); |
| | | continue; |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "iterateAttrIndex", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyDN2ID", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("File dn2id has error reading key %s: %s.%n", |
| | | dn.toNormalizedString(), |
| | | e.getMessage()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyDN2ID", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("File dn2id has error reading key %s: %s.%n", |
| | | parentDN.toNormalizedString(), |
| | | e.getMessage()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyID2Children", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("File dn2id has error reading key %s: %s.", |
| | | parentDN.toNormalizedString(), |
| | | e.getMessage()); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyID2Children", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("File id2children has error reading key %d: %s.", |
| | | parentID.longValue(), e.getMessage()); |
| | | errorCount++; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyID2Children", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("File dn2id has error reading key %s: %s.%n", |
| | | dn.toNormalizedString(), |
| | | e.getMessage()); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyID2Subtree", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("File id2subtree has error reading key %d: %s.%n", |
| | | id.longValue(), e.getMessage()); |
| | | errorCount++; |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyAttrIndex", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("Error normalizing values of attribute %s in " + |
| | | "entry <%s>: %s.%n", |
| | | attrIndex.getAttributeType().toString(), |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("Error reading database: %s%n%s", |
| | | e.getMessage(), |
| | | keyDump(presenceIndex, presenceKey.getData())); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("Error reading database: %s%n%s", |
| | | e.getMessage(), |
| | | keyDump(equalityIndex, normalizedBytes)); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("Error reading database: %s%n%s", |
| | | e.getMessage(), |
| | | keyDump(substringIndex, key.getData())); |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "verifyAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | System.err.printf("Error reading database: %s%n%s", |
| | | e.getMessage(), |
| | | keyDump(orderingIndex, normalizedBytes)); |
| | |
| | | */ |
| | | class ProgressTask extends TimerTask |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.jeb.VerifyJob.ProgressTask"; |
| | | |
| | | /** |
| | | * The number of records that had been processed at the time of the |
| | |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.task; |
| | | |
| | |
| | | import org.opends.server.types.ResultCode; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | |
| | | */ |
| | | public class RecurringTask |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.task.RecurringTask"; |
| | | |
| | | |
| | | |
| | |
| | | public RecurringTask(TaskScheduler taskScheduler, Entry recurringTaskEntry) |
| | | throws DirectoryException |
| | | { |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(taskScheduler), |
| | | String.valueOf(recurringTaskEntry)); |
| | | |
| | | this.taskScheduler = taskScheduler; |
| | | this.recurringTaskEntry = recurringTaskEntry; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "<init>", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_RECURRINGTASK_CANNOT_LOAD_CLASS; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "<init>", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_RECURRINGTASK_CANNOT_INSTANTIATE_CLASS_AS_TASK; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | |
| | | } |
| | | catch (InitializationException ie) |
| | | { |
| | | assert debugException(CLASS_NAME, "<init>", ie); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ie); |
| | | } |
| | | |
| | | int msgID = MSGID_RECURRINGTASK_CANNOT_INITIALIZE_INTERNAL; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | |
| | | */ |
| | | public String getRecurringTaskID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTaskID"); |
| | | |
| | | return recurringTaskID; |
| | | } |
| | |
| | | */ |
| | | public DN getRecurringTaskEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTaskEntryDN"); |
| | | |
| | | return recurringTaskEntryDN; |
| | | } |
| | |
| | | */ |
| | | public Entry getRecurringTaskEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTaskEntry"); |
| | | |
| | | return recurringTaskEntry; |
| | | } |
| | |
| | | */ |
| | | public String getTaskClassName() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskClassName"); |
| | | |
| | | return taskClassName; |
| | | } |
| | |
| | | */ |
| | | public Task scheduleNextIteration() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "scheduleNextIteration"); |
| | | |
| | | // NYI |
| | | return null; |
| | |
| | | import org.opends.server.util.TimeThread; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import org.opends.server.messages.MessageHandler; |
| | |
| | | public abstract class Task |
| | | implements Comparable<Task> |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.task.Task"; |
| | | |
| | | |
| | | |
| | |
| | | Entry taskEntry) |
| | | throws InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeTaskInternal", |
| | | String.valueOf(taskEntry)); |
| | | |
| | | this.taskScheduler = taskScheduler; |
| | | this.taskEntry = taskEntry; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeTaskInternal", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASK_CANNOT_PARSE_SCHEDULED_START_TIME; |
| | | String message = getMessage(msgID, timeString, taskDN); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeTaskInternal", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASK_CANNOT_PARSE_ACTUAL_START_TIME; |
| | | String message = getMessage(msgID, timeString, taskDN); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeTaskInternal", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASK_CANNOT_PARSE_COMPLETION_TIME; |
| | | String message = getMessage(msgID, timeString, taskDN); |
| | |
| | | private String getAttributeValue(String attributeName, boolean isRequired) |
| | | throws InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAttributeValue", |
| | | String.valueOf(attributeName), |
| | | String.valueOf(isRequired)); |
| | | |
| | | List<Attribute> attrList = |
| | | taskEntry.getAttribute(attributeName.toLowerCase()); |
| | |
| | | private LinkedList<String> getAttributeValues(String attributeName) |
| | | throws InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAttributeValues", |
| | | String.valueOf(attributeName)); |
| | | |
| | | LinkedList<String> valueStrings = new LinkedList<String>(); |
| | | |
| | |
| | | */ |
| | | public final DN getTaskEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskEntryDN"); |
| | | |
| | | return taskEntryDN; |
| | | } |
| | |
| | | */ |
| | | public final Entry getTaskEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskEntry"); |
| | | |
| | | return taskEntry; |
| | | } |
| | |
| | | */ |
| | | public final Operation getOperation() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getOperation"); |
| | | |
| | | return operation; |
| | | } |
| | |
| | | */ |
| | | public final void setOperation(Operation operation) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setOperation", String.valueOf(operation)); |
| | | |
| | | this.operation = operation; |
| | | } |
| | |
| | | */ |
| | | public final String getTaskID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskID"); |
| | | |
| | | return taskID; |
| | | } |
| | |
| | | */ |
| | | public final String getRecurringTaskID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTaskID"); |
| | | |
| | | return recurringTaskID; |
| | | } |
| | |
| | | */ |
| | | public final TaskState getTaskState() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskState"); |
| | | |
| | | return taskState; |
| | | } |
| | |
| | | */ |
| | | void setTaskState(TaskState taskState) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setTaskState", String.valueOf(taskState)); |
| | | |
| | | Lock lock = taskScheduler.writeLockEntry(taskEntryDN); |
| | | |
| | |
| | | */ |
| | | public final long getScheduledStartTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getStartTime"); |
| | | |
| | | return scheduledStartTime; |
| | | } |
| | |
| | | */ |
| | | public final long getActualStartTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getActualStartTime"); |
| | | |
| | | return actualStartTime; |
| | | } |
| | |
| | | */ |
| | | private void setActualStartTime(long actualStartTime) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setActualStartTime", |
| | | String.valueOf(actualStartTime)); |
| | | |
| | | Lock lock = taskScheduler.writeLockEntry(taskEntryDN); |
| | | |
| | |
| | | */ |
| | | public final long getCompletionTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getCompletionTime"); |
| | | |
| | | return completionTime; |
| | | } |
| | |
| | | */ |
| | | private void setCompletionTime(long completionTime) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setCompletionTime", |
| | | String.valueOf(completionTime)); |
| | | |
| | | Lock lock = taskScheduler.writeLockEntry(taskEntryDN); |
| | | |
| | |
| | | */ |
| | | public final LinkedList<String> getDependencyIDs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDependencyIDs"); |
| | | |
| | | return dependencyIDs; |
| | | } |
| | |
| | | */ |
| | | public final FailedDependencyAction getFailedDependencyAction() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getFailedDependencyAction"); |
| | | |
| | | return failedDependencyAction; |
| | | } |
| | |
| | | */ |
| | | public final LinkedList<String> getNotifyOnCompletionAddresses() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNotifyOnCompletionAddresses"); |
| | | |
| | | return notifyOnCompletion; |
| | | } |
| | |
| | | */ |
| | | public final LinkedList<String> getNotifyOnErrorAddresses() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNotifyOnErrorAddresses"); |
| | | |
| | | return notifyOnError; |
| | | } |
| | |
| | | */ |
| | | public final LinkedList<String> getLogMessages() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getLogMessages"); |
| | | |
| | | return logMessages; |
| | | } |
| | |
| | | void addLogMessage(ErrorLogSeverity severity, int messageID, |
| | | String messageString) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addLogMessage", |
| | | String.valueOf(severity), String.valueOf(messageID), |
| | | String.valueOf(messageString)); |
| | | |
| | | Lock lock = taskScheduler.writeLockEntry(taskEntryDN); |
| | | |
| | |
| | | */ |
| | | public final int compareTo(Task task) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "compareTo", String.valueOf(task)); |
| | | |
| | | if (completionTime > 0) |
| | | { |
| | |
| | | */ |
| | | public final TaskState execute() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "execute"); |
| | | |
| | | setActualStartTime(TimeThread.getTime()); |
| | | setTaskState(TaskState.RUNNING); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "execute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | setTaskState(TaskState.STOPPED_BY_ERROR); |
| | | |
| | |
| | | public void initializeTask() |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeTask"); |
| | | |
| | | // No action is performed by default. |
| | | } |
| | |
| | | */ |
| | | public void interruptTask(TaskState interruptState, String interruptReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "interruptTask"); |
| | | |
| | | // No action is performed by default. |
| | | } |
| | |
| | | import org.opends.server.types.SearchScope; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | extends Backend |
| | | implements ConfigurableComponent |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.task.TaskBackend"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | |
| | | // Perform all initialization in initializeBackend. |
| | |
| | | public void initializeBackend(ConfigEntry configEntry, DN[] baseDNs) |
| | | throws ConfigException, InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeBackend", |
| | | String.valueOf(configEntry)); |
| | | |
| | | |
| | | // Make sure that a configuration entry was provided. If not, then we will |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | // This should never happen. |
| | | int msgID = MSGID_TASKBE_CANNOT_DECODE_RECURRING_TASK_BASE_DN; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | // This should never happen. |
| | | int msgID = MSGID_TASKBE_CANNOT_DECODE_SCHEDULED_TASK_BASE_DN; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_TASKBE_CANNOT_INITIALIZE_RETENTION_TIME; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_TASKBE_CANNOT_INITIALIZE_BACKING_FILE; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN; |
| | | String message = getMessage(msgID, taskRootDN.toString(), |
| | |
| | | */ |
| | | public void finalizeBackend() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "finalizeBackend"); |
| | | |
| | | |
| | | DirectoryServer.deregisterConfigurableComponent(this); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "finalizeBackend", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public DN[] getBaseDNs() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getBaseDNs"); |
| | | |
| | | return baseDNs; |
| | | } |
| | |
| | | */ |
| | | public long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | if (taskScheduler != null) |
| | | { |
| | |
| | | */ |
| | | public boolean isLocal() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocal"); |
| | | |
| | | // For the purposes of this method, this is a local backend. |
| | | return true; |
| | |
| | | public Entry getEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry", String.valueOf(entryDN)); |
| | | |
| | | |
| | | if (entryDN == null) |
| | |
| | | public boolean entryExists(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryExists", String.valueOf(entryDN)); |
| | | |
| | | |
| | | if (entryDN == null) |
| | |
| | | public void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addEntry", String.valueOf(entry), |
| | | String.valueOf(addOperation)); |
| | | |
| | | |
| | | // Get the DN for the entry and then get its parent. |
| | |
| | | msgID); |
| | | } |
| | | |
| | | |
| | | // If the parent DN is equal to the parent for scheduled tasks, then try to |
| | | // treat the provided entry like a scheduled task. |
| | | if (parentDN.equals(scheduledTaskParentDN)) |
| | |
| | | return; |
| | | } |
| | | |
| | | |
| | | // If the parent DN is equal to the parent for recurring tasks, then try to |
| | | // treat the provided entry like a recurring task. |
| | | if (parentDN.equals(recurringTaskParentDN)) |
| | |
| | | return; |
| | | } |
| | | |
| | | |
| | | // We won't allow the entry to be added. |
| | | int msgID = MSGID_TASKBE_ADD_DISALLOWED_DN; |
| | | String message = getMessage(msgID, String.valueOf(scheduledTaskParentDN), |
| | |
| | | public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteEntry", String.valueOf(entryDN), |
| | | String.valueOf(deleteOperation)); |
| | | |
| | | |
| | | // Get the parent for the provided entry DN. It must be either the |
| | |
| | | public void replaceEntry(Entry entry, ModifyOperation modifyOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "replaceEntry", String.valueOf(entry), |
| | | String.valueOf(modifyOperation)); |
| | | |
| | | // FIXME -- We need to support this. |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "renameEntry", String.valueOf(currentDN), |
| | | String.valueOf(entry), String.valueOf(modifyDNOperation)); |
| | | |
| | | |
| | | int msgID = MSGID_TASKBE_MODIFY_DN_NOT_SUPPORTED; |
| | |
| | | public void search(SearchOperation searchOperation) |
| | | throws DirectoryException, CancelledOperationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "search", String.valueOf(searchOperation)); |
| | | |
| | | |
| | | // Look at the base DN and scope for the search operation to decide which |
| | |
| | | */ |
| | | public HashSet<String> getSupportedControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedControls"); |
| | | |
| | | return supportedControls; |
| | | } |
| | |
| | | */ |
| | | public HashSet<String> getSupportedFeatures() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSupportedFeatures"); |
| | | |
| | | return supportedFeatures; |
| | | } |
| | |
| | | */ |
| | | public boolean supportsLDIFExport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFExport"); |
| | | |
| | | // LDIF exports are supported. |
| | | return true; |
| | |
| | | LDIFExportConfig exportConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "exportLDIF", String.valueOf(exportConfig)); |
| | | |
| | | |
| | | // FIXME -- Implement support for exporting to LDIF. |
| | |
| | | */ |
| | | public boolean supportsLDIFImport() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsLDIFImport"); |
| | | |
| | | // This backend does not support LDIF imports. |
| | | return false; |
| | |
| | | LDIFImportConfig importConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "importLDIF", String.valueOf(importConfig)); |
| | | |
| | | |
| | | // This backend does not support LDIF imports. |
| | |
| | | */ |
| | | public boolean supportsBackup() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | // This backend does provide a backup/restore mechanism. |
| | | return true; |
| | |
| | | public boolean supportsBackup(BackupConfig backupConfig, |
| | | StringBuilder unsupportedReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsBackup"); |
| | | |
| | | |
| | | // This backend does provide a backup/restore mechanism. |
| | |
| | | public void createBackup(ConfigEntry configEntry, BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createBackup", String.valueOf(backupConfig)); |
| | | |
| | | |
| | | // NYI -- Create the backup. |
| | |
| | | String backupID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeBackup", |
| | | String.valueOf(backupDirectory), |
| | | String.valueOf(backupID)); |
| | | |
| | | |
| | | // NYI -- Remove the backup. |
| | |
| | | */ |
| | | public boolean supportsRestore() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "supportsRestore"); |
| | | |
| | | |
| | | // This backend does provide a backup/restore mechanism. |
| | |
| | | RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "restoreBackup", |
| | | String.valueOf(restoreConfig)); |
| | | |
| | | |
| | | // NYI -- Restore the backup. |
| | |
| | | */ |
| | | public DN getConfigurableComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurableComponentEntryDN"); |
| | | |
| | | return configEntryDN; |
| | | } |
| | |
| | | */ |
| | | public List<ConfigAttribute> getConfigurationAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurationAttributes"); |
| | | |
| | | LinkedList<ConfigAttribute> attrList = new LinkedList<ConfigAttribute>(); |
| | | |
| | |
| | | public boolean hasAcceptableConfiguration(ConfigEntry configEntry, |
| | | List<String> unacceptableReasons) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasAcceptableConfiguration", |
| | | String.valueOf(configEntry), "java.util.List<String>"); |
| | | |
| | | |
| | | boolean configIsAcceptable = true; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "hasAcceptableConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKBE_ERROR_GETTING_BACKING_FILE; |
| | | unacceptableReasons.add(getMessage(msgID, ATTR_TASK_BACKING_FILE, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "hasAcceptableConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKBE_ERROR_GETTING_RETENTION_TIME; |
| | | unacceptableReasons.add(getMessage(msgID, ATTR_TASK_RETENTION_TIME, |
| | |
| | | public ConfigChangeResult applyNewConfiguration(ConfigEntry configEntry, |
| | | boolean detailedResults) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyNewConfiguration", |
| | | String.valueOf(configEntry), |
| | | String.valueOf(detailedResults)); |
| | | |
| | | |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKBE_ERROR_GETTING_BACKING_FILE; |
| | | messages.add(getMessage(msgID, ATTR_TASK_BACKING_FILE, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "applyNewConfiguration", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKBE_ERROR_GETTING_RETENTION_TIME; |
| | | messages.add(getMessage(msgID, ATTR_TASK_RETENTION_TIME, |
| | |
| | | */ |
| | | public DN getConfigEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigEntryDN"); |
| | | |
| | | return configEntryDN; |
| | | } |
| | |
| | | */ |
| | | public String getTaskBackingFile() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskBackingFile"); |
| | | |
| | | File f = getFileForPath(taskBackingFile); |
| | | return f.getPath(); |
| | |
| | | */ |
| | | public long getRetentionTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRetentionTime"); |
| | | |
| | | return retentionTime; |
| | | } |
| | |
| | | */ |
| | | public DN getTaskRootDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskRootDN"); |
| | | |
| | | return taskRootDN; |
| | | } |
| | |
| | | */ |
| | | public DN getRecurringTasksParentDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTasksParentDN"); |
| | | |
| | | return recurringTaskParentDN; |
| | | } |
| | |
| | | */ |
| | | public DN getScheduledTasksParentDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getScheduledTasksParentDN"); |
| | | |
| | | return scheduledTaskParentDN; |
| | | } |
| | |
| | | */ |
| | | public Task getScheduledTask(DN taskEntryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getScheduledTask", |
| | | String.valueOf(taskEntryDN)); |
| | | |
| | | return taskScheduler.getScheduledTask(taskEntryDN); |
| | | } |
| | |
| | | */ |
| | | public RecurringTask getRecurringTask(DN taskEntryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getScheduledTask", |
| | | String.valueOf(taskEntryDN)); |
| | | |
| | | return taskScheduler.getRecurringTask(taskEntryDN); |
| | | } |
| | |
| | | import org.opends.server.util.TimeThread; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | implements AlertGenerator |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | * The fully-qualified name of this class. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.task.TaskScheduler"; |
| | |
| | | { |
| | | super("Task Scheduler Thread"); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(taskBackend)); |
| | | |
| | | this.taskBackend = taskBackend; |
| | | |
| | |
| | | boolean scheduleIteration) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addRecurringTask", |
| | | String.valueOf(recurringTask), |
| | | String.valueOf(scheduleIteration)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | public RecurringTask removeRecurringTask(String recurringTaskID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeRecurringTask", |
| | | String.valueOf(recurringTaskID)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | public void scheduleTask(Task task, boolean writeState) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "scheduleTask", String.valueOf(task)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | */ |
| | | public Task cancelTask(String taskID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "cancelTask", String.valueOf(taskID)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | public Task removePendingTask(String taskID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removePendingTask", String.valueOf(taskID)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | public Task removeCompletedTask(String taskID) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeCompletedTask", |
| | | String.valueOf(taskID)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | */ |
| | | public boolean threadDone(TaskThread taskThread, Task completedTask) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "threadDone", String.valueOf(taskThread)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "threadDone", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_ERROR_SCHEDULING_RECURRING_ITERATION; |
| | | String message = getMessage(msgID, recurringTaskID, |
| | |
| | | */ |
| | | public void addCompletedTask(Task completedTask) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addCompletedTask", |
| | | String.valueOf(completedTask)); |
| | | |
| | | // The scheduler lock is reentrant, so even if we already hold it, we can |
| | | // acquire it again. |
| | |
| | | */ |
| | | public void stopScheduler() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stopScheduler"); |
| | | |
| | | stopRequested = true; |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "stopScheduler", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "stopScheduler", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | pendingTasks.clear(); |
| | |
| | | public void interruptRunningTasks(TaskState interruptState, |
| | | String interruptReason, boolean waitForStop) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "interruptRunningTasks", |
| | | String.valueOf(waitForStop)); |
| | | |
| | | |
| | | // Grab a copy of the running threads so that we can operate on them without |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "interruptRunningTasks", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "interruptRunningTasks", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public void run() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "run"); |
| | | |
| | | isRunning = true; |
| | | schedulerThread = currentThread(); |
| | |
| | | */ |
| | | private TaskState shouldStart(Task task) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "shouldStart", String.valueOf(task)); |
| | | |
| | | if (! isRunning) |
| | | { |
| | |
| | | private void initializeTasksFromBackingFile() |
| | | throws InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "initializeTasksFromBackingFile"); |
| | | |
| | | String backingFilePath = taskBackend.getTaskBackingFile(); |
| | | |
| | |
| | | } |
| | | catch (LDIFException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeTasksFromBackingFile", |
| | | le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | if (le.canContinueReading()) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, |
| | | "initializeTasksFromBackingFile", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_PARSE_ENTRY_FATAL; |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, |
| | | "initializeTasksFromBackingFile", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = |
| | | MSGID_TASKSCHED_CANNOT_SCHEDULE_RECURRING_TASK_FROM_ENTRY; |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, |
| | | "initializeTasksFromBackingFile", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_SCHEDULE_TASK_FROM_ENTRY; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | assert debugException(CLASS_NAME, "initializeTasksFromBackingFile", ioe); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_ERROR_READING_TASK_BACKING_FILE; |
| | | String message = getMessage(msgID, String.valueOf(backingFilePath), |
| | |
| | | private void createNewTaskBackingFile() |
| | | throws InitializationException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createNewTaskBackingFile"); |
| | | |
| | | String backingFile = taskBackend.getTaskBackingFile(); |
| | | LDIFExportConfig exportConfig = |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | assert debugException(CLASS_NAME, "createNewTaskBackingFile", ioe); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_CREATE_BACKING_FILE; |
| | | String message = getMessage(msgID, backingFile, |
| | |
| | | } |
| | | catch (LDIFException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "createNewTaskBackingFile", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_CREATE_BACKING_FILE; |
| | |
| | | */ |
| | | public void writeState() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "writeState"); |
| | | |
| | | |
| | | String backingFilePath = taskBackend.getTaskBackingFile(); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "writeState", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "writeState", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_RENAME_CURRENT_BACKING_FILE; |
| | | String message = getMessage(msgID, String.valueOf(backingFilePath), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "writeState", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_RENAME_NEW_BACKING_FILE; |
| | | String message = getMessage(msgID, String.valueOf(tmpFilePath), |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | assert debugException(CLASS_NAME, "createNewTaskBackingFile", ioe); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_WRITE_BACKING_FILE; |
| | | String message = getMessage(msgID, tmpFilePath, |
| | |
| | | } |
| | | catch (LDIFException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "createNewTaskBackingFile", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_WRITE_BACKING_FILE; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "createNewTaskBackingFile", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_WRITE_BACKING_FILE; |
| | | String message = getMessage(msgID, tmpFilePath, |
| | |
| | | */ |
| | | public long getEntryCount() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryCount"); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | */ |
| | | public Entry getTaskRootEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTaskRootEntry"); |
| | | |
| | | return taskRootEntry; |
| | | } |
| | |
| | | */ |
| | | public Entry getScheduledTaskParentEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getScheduledTaskParentEntry"); |
| | | |
| | | return scheduledTaskParentEntry; |
| | | } |
| | |
| | | */ |
| | | public Entry getRecurringTaskParentEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTaskParentEntry"); |
| | | |
| | | return recurringTaskParentEntry; |
| | | } |
| | |
| | | */ |
| | | public Task getScheduledTask(String taskID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getScheduledTask", String.valueOf(taskID)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | */ |
| | | public Task getScheduledTask(DN taskEntryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getScheduledTask", |
| | | String.valueOf(taskEntryDN)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | */ |
| | | Lock writeLockEntry(DN entryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "lockEntry", String.valueOf(entryDN)); |
| | | |
| | | Lock lock = LockManager.lockWrite(entryDN); |
| | | while (lock == null) |
| | |
| | | Lock readLockEntry(DN entryDN) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "lockEntry", String.valueOf(entryDN)); |
| | | |
| | | Lock lock = LockManager.lockRead(entryDN); |
| | | for (int i=0; ((lock == null) && (i < 4)); i++) |
| | |
| | | */ |
| | | void unlockEntry(DN entryDN, Lock lock) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "unlockEntry", String.valueOf(entryDN), |
| | | String.valueOf(lock)); |
| | | |
| | | LockManager.unlock(entryDN, lock); |
| | | } |
| | |
| | | */ |
| | | public Entry getScheduledTaskEntry(DN scheduledTaskEntryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getScheduledTaskEntry", |
| | | String.valueOf(scheduledTaskEntryDN)); |
| | | |
| | | |
| | | schedulerLock.lock(); |
| | |
| | | public boolean searchScheduledTasks(SearchOperation searchOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "searchScheduledTasks", |
| | | String.valueOf(searchOperation)); |
| | | |
| | | SearchFilter filter = searchOperation.getFilter(); |
| | | |
| | |
| | | */ |
| | | public RecurringTask getRecurringTask(String recurringTaskID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTask", |
| | | String.valueOf(recurringTaskID)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | */ |
| | | public RecurringTask getRecurringTask(DN recurringTaskEntryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTask", |
| | | String.valueOf(recurringTaskEntryDN)); |
| | | |
| | | schedulerLock.lock(); |
| | | |
| | |
| | | */ |
| | | public Entry getRecurringTaskEntry(DN recurringTaskEntryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRecurringTaskEntry", |
| | | String.valueOf(recurringTaskEntryDN)); |
| | | |
| | | |
| | | schedulerLock.lock(); |
| | |
| | | public boolean searchRecurringTasks(SearchOperation searchOperation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "searchRecurringTasks", |
| | | String.valueOf(searchOperation)); |
| | | |
| | | SearchFilter filter = searchOperation.getFilter(); |
| | | |
| | |
| | | public Task entryToScheduledTask(Entry entry, Operation operation) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryToScheduledTask", |
| | | String.valueOf(entry)); |
| | | |
| | | |
| | | // Get the name of the class that implements the task logic. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "entryToScheduledTask", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_LOAD_CLASS; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "entryToScheduledTask", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_INSTANTIATE_CLASS_AS_TASK; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName)); |
| | |
| | | } |
| | | catch (InitializationException ie) |
| | | { |
| | | assert debugException(CLASS_NAME, "entryToScheduledTask", ie); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ie); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_INITIALIZE_INTERNAL; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | |
| | | public RecurringTask entryToRecurringTask(Entry entry) |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "entryToRecurringTask", |
| | | String.valueOf(entry)); |
| | | |
| | | return new RecurringTask(this, entry); |
| | | } |
| | |
| | | */ |
| | | public DN getComponentEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getComponentEntryDN"); |
| | | |
| | | return taskBackend.getConfigEntryDN(); |
| | | } |
| | |
| | | */ |
| | | public String getClassName() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getClassName"); |
| | | |
| | | return CLASS_NAME; |
| | | } |
| | |
| | | */ |
| | | public LinkedHashMap<String,String> getAlerts() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAlerts"); |
| | | |
| | | LinkedHashMap<String,String> alerts = new LinkedHashMap<String,String>(); |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.task; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | | /** |
| | | * This enumeration defines the various states that a task can have during its |
| | | * lifetime. |
| | |
| | | |
| | | |
| | | |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.task.TaskState"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public static boolean isPending(TaskState taskState) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isPending", String.valueOf(taskState)); |
| | | |
| | | |
| | | switch (taskState) |
| | | { |
| | |
| | | */ |
| | | public static boolean isRunning(TaskState taskState) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isRunning", String.valueOf(taskState)); |
| | | |
| | | |
| | | switch (taskState) |
| | | { |
| | |
| | | */ |
| | | public static boolean isDone(TaskState taskState) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isDone", String.valueOf(taskState)); |
| | | |
| | | |
| | | switch (taskState) |
| | | { |
| | |
| | | */ |
| | | public static boolean isSuccessful(TaskState taskState) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isDone", String.valueOf(taskState)); |
| | | |
| | | |
| | | switch (taskState) |
| | | { |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.task; |
| | | |
| | |
| | | import org.opends.server.api.DirectoryThread; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | |
| | | public class TaskThread |
| | | extends DirectoryThread |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.backends.task.TaskThread"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super("Task Thread " + threadID); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(taskScheduler), |
| | | String.valueOf(threadID)); |
| | | |
| | | this.taskScheduler = taskScheduler; |
| | | this.threadID = threadID; |
| | |
| | | */ |
| | | public Task getTask() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getTask"); |
| | | |
| | | return task; |
| | | } |
| | |
| | | */ |
| | | public void setTask(Task task) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setTask", String.valueOf(task)); |
| | | |
| | | this.task = task; |
| | | |
| | |
| | | public void interruptTask(TaskState interruptState, String interruptReason, |
| | | boolean exitThread) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "interruptTask", String.valueOf(exitThread)); |
| | | |
| | | if (task != null) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "interruptTask", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public void run() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "run"); |
| | | |
| | | while (! exitRequested) |
| | | { |
| | |
| | | } |
| | | catch (InterruptedException ie) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", ie); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ie); |
| | | } |
| | | } |
| | | |
| | | continue; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASK_EXECUTE_FAILED; |
| | | String message = getMessage(msgID, |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.AttributeValue; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class BooleanConfigAttribute |
| | | extends ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.BooleanConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(name, description, true, false, requiresAdminAction); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction)); |
| | | } |
| | | |
| | | |
| | |
| | | super(name, description, true, false, requiresAdminAction, |
| | | getValueSet(value)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(value)); |
| | | |
| | | activeValue = value; |
| | | pendingValue = value; |
| | | } |
| | |
| | | super(name, description, true, false, requiresAdminAction, |
| | | getValueSet(activeValue), true, getValueSet(pendingValue)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(activeValue), |
| | | String.valueOf(pendingValue)); |
| | | |
| | | this.activeValue = activeValue; |
| | | this.pendingValue = pendingValue; |
| | |
| | | */ |
| | | public String getDataType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDataType"); |
| | | |
| | | return "Boolean"; |
| | | } |
| | |
| | | */ |
| | | public AttributeSyntax getSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME,"getSyntax"); |
| | | |
| | | return DirectoryServer.getDefaultBooleanSyntax(); |
| | | } |
| | |
| | | */ |
| | | public boolean activeValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "booleanValue"); |
| | | |
| | | return activeValue; |
| | | } |
| | |
| | | */ |
| | | public boolean pendingValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "booleanValue"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public void setValue(boolean booleanValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", |
| | | String.valueOf(booleanValue)); |
| | | |
| | | if (requiresAdminAction()) |
| | | { |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(boolean booleanValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(booleanValue)); |
| | | |
| | | LinkedHashSet<AttributeValue> valueSet = |
| | | new LinkedHashSet<AttributeValue>(1); |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public boolean valueIsAcceptable(AttributeValue value, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", String.valueOf(value), |
| | | "java.lang.StringBuilder"); |
| | | |
| | | String stringValue = value.getStringValue(); |
| | | if (stringValue.equalsIgnoreCase(CONFIG_VALUE_TRUE) || |
| | |
| | | boolean allowFailures) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stringsToValues", |
| | | String.valueOf(valueStrings), |
| | | String.valueOf(allowFailures)); |
| | | |
| | | if ((valueStrings == null) || valueStrings.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValuesToStrings"); |
| | | |
| | | ArrayList<String> valueStrings = new ArrayList<String>(1); |
| | | valueStrings.add(String.valueOf(activeValue)); |
| | |
| | | */ |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValuesToStrings"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | |
| | | boolean activeValue = false; |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttribute() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute"); |
| | | |
| | | return new javax.management.Attribute(getName(), activeValue); |
| | | } |
| | |
| | | */ |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | attributeList.add(new javax.management.Attribute(getName(), activeValue)); |
| | | |
| | |
| | | */ |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributeInfo", |
| | | String.valueOf(attributeInfoList)); |
| | | |
| | | attributeInfoList.add(new MBeanAttributeInfo(getName(), |
| | | Boolean.class.getName(), |
| | |
| | | */ |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXParameterInfo"); |
| | | |
| | | return new MBeanParameterInfo(getName(), Boolean.TYPE.getName(), |
| | | getDescription()); |
| | |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(jmxAttribute)); |
| | | |
| | | Object value = jmxAttribute.getValue(); |
| | | if (value instanceof Boolean) |
| | |
| | | */ |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new BooleanConfigAttribute(getName(), getDescription(), |
| | | requiresAdminAction(), activeValue, |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.Attribute; |
| | | import org.opends.server.types.AttributeValue; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | |
| | |
| | | */ |
| | | public abstract class ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.ConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | protected ConfigAttribute(String name, String description, boolean isRequired, |
| | | boolean isMultiValued, boolean requiresAdminAction) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(requiresAdminAction)); |
| | | |
| | | |
| | | this.name = name; |
| | |
| | | boolean isMultiValued, boolean requiresAdminAction, |
| | | LinkedHashSet<AttributeValue> activeValues) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(activeValues) |
| | | }); |
| | | |
| | | |
| | | this.name = name; |
| | |
| | | boolean hasPendingValues, |
| | | LinkedHashSet<AttributeValue> pendingValues) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(activeValues), |
| | | String.valueOf(hasPendingValues), |
| | | String.valueOf(pendingValues) |
| | | }); |
| | | |
| | | |
| | | this.name = name; |
| | |
| | | */ |
| | | public String getName() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getName"); |
| | | |
| | | return name; |
| | | } |
| | |
| | | */ |
| | | public String getDescription() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDescription"); |
| | | |
| | | return description; |
| | | } |
| | |
| | | */ |
| | | public boolean isRequired() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isRequired"); |
| | | |
| | | return isRequired; |
| | | } |
| | |
| | | */ |
| | | public boolean isMultiValued() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isMultiValued"); |
| | | |
| | | return isMultiValued; |
| | | } |
| | |
| | | */ |
| | | public boolean requiresAdminAction() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "requiresAdminAction"); |
| | | |
| | | return requiresAdminAction; |
| | | } |
| | |
| | | */ |
| | | public LinkedHashSet<AttributeValue> getActiveValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getActiveValues"); |
| | | |
| | | return activeValues; |
| | | } |
| | |
| | | */ |
| | | public boolean hasPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasPendingValues"); |
| | | |
| | | return hasPendingValues; |
| | | } |
| | |
| | | */ |
| | | public LinkedHashSet<AttributeValue> getPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getPendingValues"); |
| | | |
| | | if (requiresAdminAction) |
| | | { |
| | |
| | | protected void setValues(LinkedHashSet<AttributeValue> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValues", String.valueOf(values)); |
| | | |
| | | |
| | | // If no values are provided, then check to see if this is a required |
| | |
| | | */ |
| | | protected void setActiveValues(LinkedHashSet<AttributeValue> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setActiveValues", |
| | | String.valueOf(values)); |
| | | |
| | | activeValues = values; |
| | | } |
| | |
| | | */ |
| | | protected void setPendingValues(LinkedHashSet<AttributeValue> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setPendingValues", |
| | | String.valueOf(values)); |
| | | |
| | | pendingValues = values; |
| | | hasPendingValues = true; |
| | |
| | | protected void addValues(List<AttributeValue> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addValues", String.valueOf(values)); |
| | | |
| | | |
| | | // If there are no values provided, then do nothing. |
| | |
| | | protected void removeValues(List<AttributeValue> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeValues", String.valueOf(values)); |
| | | |
| | | |
| | | // Create a temporary set of values that we will use for this change. It |
| | |
| | | protected void removeAllValues() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeAllValues"); |
| | | |
| | | if (isRequired) |
| | | { |
| | |
| | | */ |
| | | public void setInitialValues(LinkedHashSet<AttributeValue> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setInitialValues"); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | |
| | | if (hasPendingValues) |
| | | { |
| | |
| | | */ |
| | | public static final String ATTR_TASK_ADDSCHEMAFILE_FILENAME = |
| | | NAME_PREFIX_TASK + "schema-file-name"; |
| | | |
| | | |
| | | /** |
| | | * The name of the attribute in a debug target configuration for a debug |
| | | * logger that specifies the scope of the debug target. |
| | | */ |
| | | public static final String ATTR_LOGGER_DEBUG_SCOPE = |
| | | NAME_PREFIX_TASK + "debug-scope"; |
| | | |
| | | /** |
| | | * The name of the attribute in a logger configuration that spcifies the |
| | | * log level. |
| | | */ |
| | | public static final String ATTR_LOGGER_LEVEL = |
| | | NAME_PREFIX_TASK + "log-level"; |
| | | |
| | | /** |
| | | * The name of the attribute in a logger configuration that specifies |
| | | * whether to asyncornously writes log records to disk. |
| | | */ |
| | | public static final String ATTR_LOGGER_ASYNC_WRITE = |
| | | NAME_PREFIX_TASK + "async-write"; |
| | | } |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.ObjectClass; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | |
| | | */ |
| | | public class ConfigEntry |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.ConfigEntry"; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public ConfigEntry(Entry entry, ConfigEntry parent) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(entry), |
| | | String.valueOf(parent)); |
| | | |
| | | this.entry = entry; |
| | | this.parent = parent; |
| | |
| | | */ |
| | | public Entry getEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntry"); |
| | | |
| | | return entry; |
| | | } |
| | |
| | | */ |
| | | public void setEntry(Entry entry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setEntry", String.valueOf(entry)); |
| | | |
| | | entryLock.lock(); |
| | | |
| | |
| | | */ |
| | | public DN getDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDN"); |
| | | |
| | | return entry.getDN(); |
| | | } |
| | |
| | | */ |
| | | public boolean hasObjectClass(String name) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasObjectClass", String.valueOf(name)); |
| | | |
| | | ObjectClass oc = DirectoryServer.getObjectClass(name.toLowerCase()); |
| | | if (oc == null) |
| | |
| | | public ConfigAttribute getConfigAttribute(ConfigAttribute stub) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", String.valueOf(stub)); |
| | | |
| | | String attrName = stub.getName(); |
| | | AttributeType attrType = |
| | |
| | | */ |
| | | public void putConfigAttribute(ConfigAttribute attribute) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "putConfigAttribute", |
| | | String.valueOf(attribute)); |
| | | |
| | | String name = attribute.getName(); |
| | | AttributeType attrType = |
| | |
| | | */ |
| | | public boolean removeConfigAttribute(String lowerName) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeConfigAttribute", |
| | | String.valueOf(lowerName)); |
| | | |
| | | for (AttributeType t : entry.getUserAttributes().keySet()) |
| | | { |
| | |
| | | */ |
| | | public ConfigEntry getParent() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getParent"); |
| | | |
| | | return parent; |
| | | } |
| | |
| | | */ |
| | | public ConcurrentHashMap<DN,ConfigEntry> getChildren() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getChildren"); |
| | | |
| | | return children; |
| | | } |
| | |
| | | */ |
| | | public boolean hasChildren() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasChildren"); |
| | | |
| | | return (! children.isEmpty()); |
| | | } |
| | |
| | | public void addChild(ConfigEntry childEntry) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addChild", String.valueOf(childEntry)); |
| | | |
| | | |
| | | ConfigEntry conflictingChild; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "addChild", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | conflictingChild = null; |
| | | } |
| | |
| | | public ConfigEntry removeChild(DN childDN) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeChild", String.valueOf(childDN)); |
| | | |
| | | entryLock.lock(); |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "removeChild", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ENTRY_CANNOT_REMOVE_CHILD; |
| | | String message = getMessage(msgID, String.valueOf(childDN), |
| | |
| | | */ |
| | | public ConfigEntry duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new ConfigEntry(entry.duplicate(), parent); |
| | | } |
| | |
| | | */ |
| | | public CopyOnWriteArrayList<ConfigChangeListener> getChangeListeners() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getChangeListeners"); |
| | | |
| | | return changeListeners; |
| | | } |
| | |
| | | */ |
| | | public void registerChangeListener(ConfigChangeListener listener) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "registerChangeListener", |
| | | String.valueOf(listener)); |
| | | |
| | | changeListeners.add(listener); |
| | | } |
| | |
| | | */ |
| | | public boolean deregisterChangeListener(ConfigChangeListener listener) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deregisterChangeListener", |
| | | String.valueOf(listener)); |
| | | |
| | | return changeListeners.remove(listener); |
| | | } |
| | |
| | | */ |
| | | public CopyOnWriteArrayList<ConfigAddListener> getAddListeners() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAddListeners"); |
| | | |
| | | return addListeners; |
| | | } |
| | |
| | | */ |
| | | public void registerAddListener(ConfigAddListener listener) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "registerAddListener", |
| | | String.valueOf(listener)); |
| | | |
| | | addListeners.addIfAbsent(listener); |
| | | } |
| | |
| | | */ |
| | | public void deregisterAddListener(ConfigAddListener listener) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deregisterAddListener", |
| | | String.valueOf(listener)); |
| | | |
| | | addListeners.remove(listener); |
| | | } |
| | |
| | | */ |
| | | public CopyOnWriteArrayList<ConfigDeleteListener> getDeleteListeners() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDeleteListeners"); |
| | | |
| | | return deleteListeners; |
| | | } |
| | |
| | | */ |
| | | public void registerDeleteListener(ConfigDeleteListener listener) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "registerDeleteListener", |
| | | String.valueOf(listener)); |
| | | |
| | | deleteListeners.addIfAbsent(listener); |
| | | } |
| | |
| | | */ |
| | | public void deregisterDeleteListener(ConfigDeleteListener listener) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deregisterDeleteListener", |
| | | String.valueOf(listener)); |
| | | |
| | | deleteListeners.remove(listener); |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | | |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | |
| | | |
| | | |
| | |
| | | public class ConfigException |
| | | extends Exception |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.ConfigException"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(message); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(messageID), |
| | | String.valueOf(message)); |
| | | |
| | | this.messageID = messageID; |
| | | } |
| | |
| | | { |
| | | super(message, cause); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(messageID), |
| | | String.valueOf(message), String.valueOf(cause)); |
| | | |
| | | this.messageID = messageID; |
| | | } |
| | |
| | | */ |
| | | public int getMessageID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMessageID"); |
| | | |
| | | return messageID; |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class DNConfigAttribute |
| | | extends ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.DNConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction)); |
| | | |
| | | activeValues = new ArrayList<DN>(); |
| | | pendingValues = activeValues; |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(value)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(value) |
| | | }); |
| | | |
| | | if (value == null) |
| | | { |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(values)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(values) |
| | | }); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | getValueSet(activeValues), (pendingValues != null), |
| | | getValueSet(pendingValues)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(activeValues), |
| | | String.valueOf(pendingValues) |
| | | }); |
| | | |
| | | if (activeValues == null) |
| | | { |
| | |
| | | */ |
| | | public String getDataType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDataType"); |
| | | |
| | | return "DN"; |
| | | } |
| | |
| | | */ |
| | | public AttributeSyntax getSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME,"getSyntax"); |
| | | |
| | | return DirectoryServer.getDefaultStringSyntax(); |
| | | } |
| | |
| | | public DN activeValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValue"); |
| | | |
| | | if ((activeValues == null) || activeValues.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<DN> activeValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValues"); |
| | | |
| | | return activeValues; |
| | | } |
| | |
| | | public DN pendingValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValue"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public List<DN> pendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public void setValue(DN value) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(value)); |
| | | |
| | | if (value == null) |
| | | { |
| | |
| | | public void setValues(List<DN> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValues", String.valueOf(values)); |
| | | |
| | | |
| | | // First check if the set is empty and if that is allowed. |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(DN value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(value)); |
| | | |
| | | LinkedHashSet<AttributeValue> valueSet; |
| | | if (value == null) |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(List<DN> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(values)); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public boolean valueIsAcceptable(AttributeValue value, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", String.valueOf(value), |
| | | "java.lang.StringBuilder"); |
| | | |
| | | |
| | | // Make sure that the value is not null. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueIsAcceptable", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | rejectReason.append(getMessage(MSGID_CONFIG_ATTR_DN_CANNOT_PARSE, |
| | | value.getStringValue(), getName(), |
| | |
| | | boolean allowFailures) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stringsToValues", |
| | | String.valueOf(valueStrings), |
| | | String.valueOf(allowFailures)); |
| | | |
| | | if ((valueStrings == null) || valueStrings.isEmpty()) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "stringsToValues", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_DN_CANNOT_PARSE; |
| | | String message = getMessage(msgID, valueString, getName(), |
| | |
| | | */ |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValuesToStrings"); |
| | | |
| | | ArrayList<String> valueStrings = new ArrayList<String>(activeValues.size()); |
| | | for (DN dn : activeValues) |
| | |
| | | */ |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValuesToStrings"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | |
| | | ArrayList<DN> activeValues = null; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getConfigAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_DN_CANNOT_PARSE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getConfigAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_DN_CANNOT_PARSE; |
| | | String message = getMessage(msgID, v.getStringValue(), getName(), |
| | |
| | | */ |
| | | private javax.management.Attribute _toJMXAttribute(boolean pending) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "_toJMXAttribute"); |
| | | |
| | | List<DN> requestedValues ; |
| | | String name ; |
| | |
| | | */ |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | if (activeValues.size() > 0) |
| | | { |
| | |
| | | */ |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributeInfo", |
| | | String.valueOf(attributeInfoList)); |
| | | |
| | | |
| | | if (isMultiValued()) |
| | |
| | | */ |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXParameterInfo"); |
| | | |
| | | if (isMultiValued()) |
| | | { |
| | |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(jmxAttribute)); |
| | | |
| | | Object value = jmxAttribute.getValue(); |
| | | if (value == null) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_DN_CANNOT_PARSE; |
| | | String message = getMessage(msgID, (String) value, getName(), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_DN_CANNOT_PARSE; |
| | | String message = getMessage(msgID, valueStr, getName(), |
| | |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", ce); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ce); |
| | | } |
| | | |
| | | throw ce; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_INVALID_DN_VALUE; |
| | | String message = getMessage(msgID, getName(), String.valueOf(value), |
| | |
| | | */ |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new DNConfigAttribute(getName(), getDescription(), isRequired(), |
| | | isMultiValued(), requiresAdminAction(), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class IntegerConfigAttribute |
| | | extends ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.IntegerConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(hasLowerBound), |
| | | String.valueOf(lowerBound), |
| | | String.valueOf(hasUpperBound), |
| | | String.valueOf(upperBound) |
| | | }); |
| | | |
| | | this.hasLowerBound = hasLowerBound; |
| | | this.lowerBound = lowerBound; |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(value)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(hasLowerBound), |
| | | String.valueOf(lowerBound), |
| | | String.valueOf(hasUpperBound), |
| | | String.valueOf(upperBound), |
| | | String.valueOf(value) |
| | | }); |
| | | |
| | | this.hasLowerBound = hasLowerBound; |
| | | this.lowerBound = lowerBound; |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(values)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(hasLowerBound), |
| | | String.valueOf(lowerBound), |
| | | String.valueOf(hasUpperBound), |
| | | String.valueOf(upperBound), |
| | | String.valueOf(values) |
| | | }); |
| | | |
| | | this.hasLowerBound = hasLowerBound; |
| | | this.lowerBound = lowerBound; |
| | |
| | | getValueSet(activeValues), (pendingValues != null), |
| | | getValueSet(pendingValues)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(hasLowerBound), |
| | | String.valueOf(lowerBound), |
| | | String.valueOf(hasUpperBound), |
| | | String.valueOf(upperBound), |
| | | String.valueOf(activeValues), |
| | | String.valueOf(pendingValues) |
| | | }); |
| | | |
| | | this.hasLowerBound = hasLowerBound; |
| | | this.lowerBound = lowerBound; |
| | |
| | | */ |
| | | public String getDataType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDataType"); |
| | | |
| | | return "Integer"; |
| | | } |
| | |
| | | */ |
| | | public AttributeSyntax getSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSyntax"); |
| | | |
| | | return DirectoryServer.getDefaultIntegerSyntax(); |
| | | } |
| | |
| | | public long activeValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValue"); |
| | | |
| | | if ((activeValues == null) || activeValues.isEmpty()) |
| | | { |
| | |
| | | public int activeIntValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeIntValue"); |
| | | |
| | | if ((activeValues == null) || activeValues.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<Long> activeValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValues"); |
| | | |
| | | return activeValues; |
| | | } |
| | |
| | | public long pendingValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValue"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public int pendingIntValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingIntValue"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public List<Long> pendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public boolean hasLowerBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasLowerBound"); |
| | | |
| | | return hasLowerBound; |
| | | } |
| | |
| | | */ |
| | | public long getLowerBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getLowerBound"); |
| | | |
| | | return lowerBound; |
| | | } |
| | |
| | | */ |
| | | public boolean hasUpperBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasUpperBound"); |
| | | |
| | | return hasUpperBound; |
| | | } |
| | |
| | | */ |
| | | public long getUpperBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getUpperBound"); |
| | | |
| | | return upperBound; |
| | | } |
| | |
| | | public void setValue(long value) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(value)); |
| | | |
| | | if (hasLowerBound && (value < lowerBound)) |
| | | { |
| | |
| | | public void setValues(List<Long> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValues", String.valueOf(values)); |
| | | |
| | | |
| | | // First check if the set is empty and if that is allowed. |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(long value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(value)); |
| | | |
| | | LinkedHashSet<AttributeValue> valueSet = |
| | | new LinkedHashSet<AttributeValue>(1); |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(List<Long> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(values)); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public boolean valueIsAcceptable(AttributeValue value, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", String.valueOf(value), |
| | | "java.lang.StringBuilder"); |
| | | |
| | | |
| | | // First, make sure we can represent it as a long. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueIsAcceptable", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | rejectReason.append(getMessage(MSGID_CONFIG_ATTR_INVALID_INT_VALUE, |
| | | stringValue, String.valueOf(e))); |
| | |
| | | boolean allowFailures) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stringsToValues", |
| | | String.valueOf(valueStrings), |
| | | String.valueOf(allowFailures)); |
| | | |
| | | if ((valueStrings == null) || valueStrings.isEmpty()) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "stringsToValues", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_INT_COULD_NOT_PARSE; |
| | | String message = getMessage(msgID, valueString, getName(), |
| | |
| | | */ |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValuesToStrings"); |
| | | |
| | | ArrayList<String> valueStrings = |
| | | new ArrayList<String>(activeValues.size()); |
| | |
| | | */ |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValuesToStrings"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | |
| | | ArrayList<Long> activeValues = null; |
| | |
| | | */ |
| | | private javax.management.Attribute _toJMXAttribute(boolean pending) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "_toJMXAttribute"); |
| | | List<Long> requestedValues ; |
| | | String name ; |
| | | if (pending) |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttribute() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute"); |
| | | |
| | | return _toJMXAttribute(false); |
| | | } |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttributePending() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributePending"); |
| | | |
| | | return _toJMXAttribute(true); |
| | | } |
| | |
| | | */ |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | if (activeValues.size() > 0) |
| | | { |
| | |
| | | */ |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributeInfo", |
| | | String.valueOf(attributeInfoList)); |
| | | |
| | | |
| | | if (isMultiValued()) |
| | |
| | | */ |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXParameterInfo"); |
| | | |
| | | if (isMultiValued()) |
| | | { |
| | |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(jmxAttribute)); |
| | | |
| | | Object value = jmxAttribute.getValue(); |
| | | if (value instanceof Long) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_INT_COULD_NOT_PARSE; |
| | | String message = getMessage(msgID, String.valueOf(value), getName(), |
| | |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", ce); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ce); |
| | | } |
| | | |
| | | throw ce; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_INT_COULD_NOT_PARSE; |
| | | String message = getMessage(msgID, componentType + "[" + length + "]", |
| | |
| | | */ |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new IntegerConfigAttribute(getName(), getDescription(), isRequired(), |
| | | isMultiValued(), requiresAdminAction(), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | |
| | | public class IntegerWithUnitConfigAttribute |
| | | extends ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.IntegerWithUnitConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(name, description, true, false, requiresAdminAction); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(units), |
| | | String.valueOf(hasLowerBound), |
| | | String.valueOf(lowerBound), |
| | | String.valueOf(hasUpperBound), |
| | | String.valueOf(upperBound) |
| | | }); |
| | | |
| | | this.units = units; |
| | | this.hasLowerBound = hasLowerBound; |
| | |
| | | super(name, description, true, false, requiresAdminAction, |
| | | getValueSet(intValue, selectedUnit)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(units), |
| | | String.valueOf(hasLowerBound), |
| | | String.valueOf(lowerBound), |
| | | String.valueOf(hasUpperBound), |
| | | String.valueOf(upperBound), |
| | | String.valueOf(intValue), |
| | | String.valueOf(selectedUnit), |
| | | }); |
| | | |
| | | |
| | | this.units = units; |
| | |
| | | (pendingSelectedUnit != null), |
| | | getValueSet(pendingIntValue,pendingSelectedUnit)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(units), |
| | | String.valueOf(hasLowerBound), |
| | | String.valueOf(lowerBound), |
| | | String.valueOf(hasUpperBound), |
| | | String.valueOf(upperBound), |
| | | String.valueOf(activeIntValue), |
| | | String.valueOf(activeSelectedUnit), |
| | | String.valueOf(pendingIntValue), |
| | | String.valueOf(pendingSelectedUnit) |
| | | }); |
| | | |
| | | |
| | | this.units = units; |
| | |
| | | */ |
| | | public String getDataType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDataType"); |
| | | |
| | | return "IntegerWithUnit"; |
| | | } |
| | |
| | | */ |
| | | public AttributeSyntax getSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSyntax"); |
| | | |
| | | return DirectoryServer.getDefaultStringSyntax(); |
| | | } |
| | |
| | | */ |
| | | public long activeIntValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeIntValue"); |
| | | |
| | | return activeIntValue; |
| | | } |
| | |
| | | */ |
| | | public String activeUnit() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeUnit"); |
| | | |
| | | return activeUnit; |
| | | } |
| | |
| | | */ |
| | | public long activeCalculatedValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeCalculatedValue"); |
| | | |
| | | return activeCalculatedValue; |
| | | } |
| | |
| | | */ |
| | | public long pendingIntValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingIntValue"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public String pendingUnit() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingUnit"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public long pendingCalculatedValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingCalculatedValue"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public HashMap<String,Double> getUnits() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getUnits"); |
| | | |
| | | return units; |
| | | } |
| | |
| | | */ |
| | | public boolean hasLowerBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasLowerBound"); |
| | | |
| | | return hasLowerBound; |
| | | } |
| | |
| | | */ |
| | | public long getLowerBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getLowerBound"); |
| | | |
| | | return lowerBound; |
| | | } |
| | |
| | | */ |
| | | public boolean hasUpperBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "hasUpperBound"); |
| | | |
| | | return hasUpperBound; |
| | | } |
| | |
| | | */ |
| | | public long getUpperBound() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getUpperBound"); |
| | | |
| | | return upperBound; |
| | | } |
| | |
| | | public void setValue(long intValue, String unit) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(intValue), |
| | | String.valueOf(unit)); |
| | | |
| | | if ((unit == null) || (! units.containsKey(unit))) |
| | | { |
| | |
| | | public void setValue(String value) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(value)); |
| | | |
| | | int spacePos = value.indexOf(' '); |
| | | if (spacePos <= 0) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_COULD_NOT_PARSE_INT_COMPONENT; |
| | | String message = getMessage(msgID, String.valueOf(value), getName(), |
| | |
| | | private static LinkedHashSet<AttributeValue> getValueSet(long intValue, |
| | | String unit) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(intValue), |
| | | String.valueOf(unit)); |
| | | |
| | | if (unit == null) |
| | | { |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public boolean valueIsAcceptable(AttributeValue value, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", String.valueOf(value), |
| | | "java.lang.StringBuilder"); |
| | | |
| | | |
| | | // Get a string representation of the value and convert it to lowercase. |
| | |
| | | public boolean valueIsAcceptable(String lowerValue, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", |
| | | String.valueOf(lowerValue), "java.lang.StringBuilder"); |
| | | |
| | | |
| | | // Find the first space in the value, since it should separate the integer |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueIsAcceptable", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | rejectReason.append(getMessage(MSGID_CONFIG_ATTR_INT_COULD_NOT_PARSE, |
| | | lowerValue, getName(), String.valueOf(e))); |
| | |
| | | stringsToValues(List<String> valueStrings, boolean allowFailures) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stringsToValues", |
| | | String.valueOf(valueStrings), |
| | | String.valueOf(allowFailures)); |
| | | |
| | | if ((valueStrings == null) || valueStrings.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValuesToStrings"); |
| | | |
| | | ArrayList<String> valueStrings = new ArrayList<String>(1); |
| | | valueStrings.add(activeIntValue + " " + activeUnit); |
| | |
| | | */ |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValuesToStrings"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | |
| | | long activeIntValue = 0; |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttribute() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute"); |
| | | |
| | | return new javax.management.Attribute(getName(), |
| | | activeIntValue + " " + activeUnit); |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttributePending() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributePending"); |
| | | |
| | | return new javax.management.Attribute(getName() + ";" |
| | | + OPTION_PENDING_VALUES, pendingIntValue + " " + pendingUnit); |
| | |
| | | */ |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | String activeValue = activeIntValue + " " + activeUnit; |
| | | attributeList.add(new javax.management.Attribute(getName(), activeValue)); |
| | |
| | | */ |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributeInfo", |
| | | String.valueOf(attributeInfoList)); |
| | | |
| | | attributeInfoList.add(new MBeanAttributeInfo(getName(), |
| | | String.class.getName(), |
| | |
| | | */ |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXParameterInfo"); |
| | | |
| | | return new MBeanParameterInfo(getName(), String.class.getName(), |
| | | getDescription()); |
| | |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(jmxAttribute)); |
| | | |
| | | Object value = jmxAttribute.getValue(); |
| | | if (value instanceof String) |
| | |
| | | */ |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new IntegerWithUnitConfigAttribute(getName(), getDescription(), |
| | | requiresAdminAction(), units, |
| | |
| | | import org.opends.server.types.InvokableMethod; |
| | | import org.opends.server.types.ResultCode; |
| | | import org.opends.server.types.SearchScope; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | |
| | | implements DynamicMBean, DirectoryServerMBean |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | * The fully-qualified name of this class. |
| | | */ |
| | | private static final String CLASS_NAME = "org.opends.server.config.JMXMBean"; |
| | | |
| | |
| | | nameStr = MBEAN_BASE_DOMAIN + ":" + "Name=rootDSE" + typeStr; |
| | | } catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "<init>", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_JMX_CANNOT_REGISTER_MBEAN; |
| | | String message = getMessage(msgID, configEntryDN.toString(), |
| | |
| | | */ |
| | | public JMXMBean(DN configEntryDN) |
| | | { |
| | | assert debugConstructor(CLASS_NAME); |
| | | |
| | | this.configEntryDN = configEntryDN; |
| | | |
| | |
| | | } |
| | | } catch(Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "<init>", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | mBeanServer.registerMBean(this, objectName); |
| | | |
| | | } catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "<init>", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | e.printStackTrace(); |
| | | |
| | | int msgID = MSGID_CONFIG_JMX_CANNOT_REGISTER_MBEAN; |
| | |
| | | */ |
| | | public ObjectName getObjectName() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getObjectName"); |
| | | |
| | | return objectName; |
| | | } |
| | |
| | | */ |
| | | public CopyOnWriteArrayList<AlertGenerator> getAlertGenerators() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAlertGenerators"); |
| | | |
| | | return alertGenerators; |
| | | } |
| | |
| | | */ |
| | | public void addAlertGenerator(AlertGenerator generator) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addAlertGenerator", |
| | | String.valueOf(generator)); |
| | | |
| | | synchronized (alertGenerators) |
| | | { |
| | |
| | | */ |
| | | public boolean removeAlertGenerator(AlertGenerator generator) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeAlertGenerator", |
| | | String.valueOf(generator)); |
| | | |
| | | synchronized (alertGenerators) |
| | | { |
| | |
| | | */ |
| | | public CopyOnWriteArrayList<ConfigurableComponent> getConfigurableComponents() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigurableComponents"); |
| | | |
| | | return configurableComponents; |
| | | } |
| | |
| | | */ |
| | | public void addConfigurableComponent(ConfigurableComponent component) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addConfigurableComponent", |
| | | String.valueOf(component)); |
| | | |
| | | synchronized (configurableComponents) |
| | | { |
| | |
| | | */ |
| | | public boolean removeConfigurableComponent(ConfigurableComponent component) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeConfigurableComponent", |
| | | String.valueOf(component)); |
| | | |
| | | synchronized (configurableComponents) |
| | | { |
| | |
| | | */ |
| | | public CopyOnWriteArrayList<InvokableComponent> getInvokableComponents() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getInvokableComponents"); |
| | | |
| | | return invokableComponents; |
| | | } |
| | |
| | | */ |
| | | public void addInvokableComponent(InvokableComponent component) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addInvokableComponent", |
| | | String.valueOf(component)); |
| | | |
| | | synchronized (invokableComponents) |
| | | { |
| | |
| | | */ |
| | | public boolean removeInvokableComponent(InvokableComponent component) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeInvokableComponent", |
| | | String.valueOf(component)); |
| | | |
| | | synchronized (invokableComponents) |
| | | { |
| | |
| | | */ |
| | | public CopyOnWriteArrayList<MonitorProvider> getMonitorProviders() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMonitorProviders"); |
| | | |
| | | return monitorProviders; |
| | | } |
| | |
| | | */ |
| | | public void addMonitorProvider(MonitorProvider component) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addMonitorProvider", |
| | | String.valueOf(component)); |
| | | |
| | | synchronized (monitorProviders) |
| | | { |
| | |
| | | */ |
| | | public boolean removeMonitorProvider(MonitorProvider component) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "removeMonitorProvider", |
| | | String.valueOf(component)); |
| | | |
| | | synchronized (monitorProviders) |
| | | { |
| | |
| | | */ |
| | | private ConfigAttribute getConfigAttribute(String name) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(name)); |
| | | |
| | | for (ConfigurableComponent component : configurableComponents) |
| | | { |
| | |
| | | */ |
| | | private Attribute getJmxAttribute(String name) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getJmxAttribute", String.valueOf(name)); |
| | | |
| | | String attributeName ; |
| | | String pendingString = ";" + OPTION_PENDING_VALUES ; |
| | |
| | | public Attribute getAttribute(String attributeName) |
| | | throws AttributeNotFoundException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAttribute"); |
| | | |
| | | // |
| | | // Get the jmx Client connection |
| | |
| | | } |
| | | catch (LDAPException e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_JMX_CANNOT_GET_ATTRIBUTE; |
| | | String message = getMessage(msgID, String.valueOf(attributeName), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_JMX_ATTR_NO_ATTR; |
| | | String message = getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | javax.management.Attribute attribute, ConfigEntry configEntry) |
| | | throws AttributeNotFoundException, InvalidAttributeValueException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getLdapAttributeFromJmx", String |
| | | .valueOf(attribute)); |
| | | |
| | | String name = attribute.getName() ; |
| | | // |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_JMX_ATTR_NO_ATTR; |
| | | String message = getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | logError( |
| | | ErrorLogCategory.CONFIGURATION, |
| | | ErrorLogSeverity.MILD_ERROR, |
| | |
| | | public void setAttribute(javax.management.Attribute attribute) |
| | | throws AttributeNotFoundException, InvalidAttributeValueException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setAttribute", String.valueOf(attribute)); |
| | | |
| | | ConfigEntry configEntry; |
| | | ConfigEntry newConfigEntry ; |
| | |
| | | newConfigEntry = configEntry.duplicate(); |
| | | } catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_JMX_CANNOT_GET_CONFIG_ENTRY; |
| | | String message = getMessage(msgID, String.valueOf(configEntryDN), |
| | |
| | | */ |
| | | public AttributeList getAttributes(String[] attributes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAttributes", String.valueOf(attributes)); |
| | | |
| | | // |
| | | // Get the jmx Client connection |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getAttributes", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | // It's possible that this is a monitor attribute rather than a |
| | |
| | | */ |
| | | public AttributeList setAttributes(AttributeList attributes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setAttributes", String.valueOf(attributes)); |
| | | |
| | | AttributeList setAttrs = new AttributeList(); |
| | | |
| | |
| | | newConfigEntry = configEntry.duplicate(); |
| | | } catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | logError( |
| | | ErrorLogCategory.CONFIGURATION, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException( |
| | | CLASS_NAME, "setAttribute", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.MILD_ERROR, |
| | | MSGID_CONFIG_JMX_ATTR_NO_ATTR, configEntryDN.toString(), |
| | |
| | | public Object invoke(String actionName, Object[] params, String[] signature) |
| | | throws MBeanException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "invoke", String.valueOf(actionName), |
| | | String.valueOf(params), String.valueOf(signature)); |
| | | |
| | | for (InvokableComponent component : invokableComponents) |
| | | { |
| | |
| | | } |
| | | catch (MBeanException me) |
| | | { |
| | | assert debugException(CLASS_NAME, "invoke", me); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, me); |
| | | } |
| | | |
| | | throw me; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "invoke", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | throw new MBeanException(e); |
| | | } |
| | |
| | | */ |
| | | public MBeanInfo getMBeanInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMBeanInfo"); |
| | | JmxClientConnection jmxClientConnection = getClientConnection(); |
| | | if (jmxClientConnection == null) |
| | | { |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | |
| | | public class MultiChoiceConfigAttribute |
| | | extends ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.MultiChoiceConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(allowedValues) |
| | | }); |
| | | |
| | | this.allowedValues = allowedValues; |
| | | |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(value)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(allowedValues), |
| | | String.valueOf(value) |
| | | }); |
| | | |
| | | this.allowedValues = allowedValues; |
| | | |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(values)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(allowedValues), |
| | | String.valueOf(values) |
| | | }); |
| | | |
| | | this.allowedValues = allowedValues; |
| | | |
| | |
| | | getValueSet(activeValues), (pendingValues != null), |
| | | getValueSet(pendingValues)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(allowedValues), |
| | | String.valueOf(activeValues), |
| | | String.valueOf(pendingValues) |
| | | }); |
| | | |
| | | this.allowedValues = allowedValues; |
| | | |
| | |
| | | */ |
| | | public String getDataType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDataType"); |
| | | |
| | | return "MultiChoice"; |
| | | } |
| | |
| | | */ |
| | | public AttributeSyntax getSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSyntax"); |
| | | |
| | | return DirectoryServer.getDefaultStringSyntax(); |
| | | } |
| | |
| | | public String activeValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValue"); |
| | | |
| | | if ((activeValues == null) || activeValues.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValues"); |
| | | |
| | | return activeValues; |
| | | } |
| | |
| | | public String pendingValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValue"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public List<String> pendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public Set<String> allowedValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAllowedValues"); |
| | | |
| | | return allowedValues; |
| | | } |
| | |
| | | public void setValue(String value) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(value)); |
| | | |
| | | if ((value == null) || (value.length() == 0)) |
| | | { |
| | |
| | | public void setValues(List<String> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValues", String.valueOf(values)); |
| | | |
| | | |
| | | // First check if the set is empty and if that is allowed. |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(String value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(value)); |
| | | |
| | | LinkedHashSet<AttributeValue> valueSet = |
| | | new LinkedHashSet<AttributeValue>(1); |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(List<String> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(values)); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public boolean valueIsAcceptable(AttributeValue value, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", String.valueOf(value), |
| | | "java.lang.StringBuilder"); |
| | | |
| | | |
| | | // Make sure that the value is non-empty. |
| | |
| | | boolean allowFailures) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stringsToValues", |
| | | String.valueOf(valueStrings), |
| | | String.valueOf(allowFailures)); |
| | | |
| | | if ((valueStrings == null) || valueStrings.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValuesToStrings"); |
| | | |
| | | return activeValues; |
| | | } |
| | |
| | | */ |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValuesToStrings"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | |
| | | ArrayList<String> activeValues = null; |
| | |
| | | */ |
| | | private javax.management.Attribute _toJMXAttribute(boolean pending) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "_toJMXAttribute"); |
| | | |
| | | List<String> requestedValues ; |
| | | String name ; |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttribute() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute"); |
| | | return _toJMXAttribute(false) ; |
| | | } |
| | | |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttributePending() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributePending"); |
| | | |
| | | return _toJMXAttribute(true) ; |
| | | } |
| | |
| | | */ |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | if (activeValues.size() > 0) |
| | | { |
| | |
| | | */ |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributeInfo", |
| | | String.valueOf(attributeInfoList)); |
| | | |
| | | |
| | | if (isMultiValued()) |
| | |
| | | */ |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXParameterInfo"); |
| | | |
| | | if (isMultiValued()) |
| | | { |
| | |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(jmxAttribute)); |
| | | |
| | | Object value = jmxAttribute.getValue(); |
| | | if (value instanceof String) |
| | |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", ce); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ce); |
| | | } |
| | | |
| | | throw ce; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_INVALID_STRING_VALUE; |
| | | String message = getMessage(msgID, getName(), String.valueOf(value), |
| | |
| | | */ |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new MultiChoiceConfigAttribute(getName(), getDescription(), |
| | | isRequired(), isMultiValued(), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.AttributeValue; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | |
| | | public class ReadOnlyConfigAttribute |
| | | extends ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.ReadOnlyConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(name, description, false, isMultiValued, false); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(isMultiValued)); |
| | | |
| | | values = new ArrayList<String>(); |
| | | } |
| | |
| | | { |
| | | super(name, description, false, false, false, getValueSet(value)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(description), String.valueOf(value)); |
| | | |
| | | if (value == null) |
| | | { |
| | |
| | | { |
| | | super(name, description, false, true, false, getValueSet(values)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(description), |
| | | String.valueOf(values)); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | */ |
| | | public String getDataType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDataType"); |
| | | |
| | | return "ReadOnly"; |
| | | } |
| | |
| | | */ |
| | | public AttributeSyntax getSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME,"getSyntax"); |
| | | |
| | | return DirectoryServer.getDefaultStringSyntax(); |
| | | } |
| | |
| | | public String activeValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValue"); |
| | | |
| | | if ((values == null) || values.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValues"); |
| | | |
| | | return values; |
| | | } |
| | |
| | | public String pendingValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValue"); |
| | | |
| | | return activeValue(); |
| | | } |
| | |
| | | */ |
| | | public List<String> pendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValues"); |
| | | |
| | | return activeValues(); |
| | | } |
| | |
| | | public void setValue(String value) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(value)); |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_READ_ONLY; |
| | | String message = getMessage(msgID, getName()); |
| | |
| | | public void setValues(List<String> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValues", String.valueOf(values)); |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_READ_ONLY; |
| | | String message = getMessage(msgID, getName()); |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(String value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(value)); |
| | | |
| | | LinkedHashSet<AttributeValue> valueSet = |
| | | new LinkedHashSet<AttributeValue>(1); |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(List<String> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(values)); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | } |
| | | |
| | | |
| | |
| | | public boolean valueIsAcceptable(AttributeValue value, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", String.valueOf(value), |
| | | "java.lang.StringBuilder"); |
| | | |
| | | rejectReason.append(getMessage(MSGID_CONFIG_ATTR_READ_ONLY, getName())); |
| | | return false; |
| | |
| | | boolean allowFailures) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stringsToValues", |
| | | String.valueOf(valueStrings), |
| | | String.valueOf(allowFailures)); |
| | | |
| | | if ((valueStrings == null) || valueStrings.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValuesToStrings"); |
| | | |
| | | return values; |
| | | } |
| | |
| | | */ |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValuesToStrings"); |
| | | |
| | | return activeValuesToStrings(); |
| | | } |
| | |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | // The attribute won't be present in the entry, so we'll just return a |
| | | // reference to this attribute. |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttribute() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute"); |
| | | |
| | | if (isMultiValued()) |
| | | { |
| | |
| | | public javax.management.Attribute toJMXAttributePending() |
| | | { |
| | | // Should never occurs !!! |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributePending"); |
| | | return toJMXAttribute(); |
| | | } |
| | | |
| | |
| | | */ |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | javax.management.Attribute jmxAttr = toJMXAttribute(); |
| | | attributeList.add(jmxAttr); |
| | |
| | | */ |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributeInfo", |
| | | String.valueOf(attributeInfoList)); |
| | | |
| | | |
| | | if (isMultiValued()) |
| | |
| | | */ |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXParameterInfo"); |
| | | |
| | | if (isMultiValued()) |
| | | { |
| | |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(jmxAttribute)); |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_READ_ONLY; |
| | | String message = getMessage(msgID, getName()); |
| | |
| | | */ |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new ReadOnlyConfigAttribute(getName(), getDescription(), |
| | | activeValues()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.config; |
| | | |
| | |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.loggers.Error.*; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | |
| | | |
| | | |
| | |
| | | public class StringConfigAttribute |
| | | extends ConfigAttribute |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.config.StringConfigAttribute"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction)); |
| | | |
| | | activeValues = new ArrayList<String>(); |
| | | pendingValues = activeValues; |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(value)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(value) |
| | | }); |
| | | |
| | | if (value == null) |
| | | { |
| | |
| | | super(name, description, isRequired, isMultiValued, requiresAdminAction, |
| | | getValueSet(values)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(values) |
| | | }); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | getValueSet(activeValues), (pendingValues != null), |
| | | getValueSet(pendingValues)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(name), |
| | | String.valueOf(isRequired), |
| | | String.valueOf(isMultiValued), |
| | | String.valueOf(description), |
| | | String.valueOf(requiresAdminAction), |
| | | String.valueOf(activeValues), |
| | | String.valueOf(pendingValues) |
| | | }); |
| | | |
| | | if (activeValues == null) |
| | | { |
| | |
| | | */ |
| | | public String getDataType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getDataType"); |
| | | |
| | | return "String"; |
| | | } |
| | |
| | | */ |
| | | public AttributeSyntax getSyntax() |
| | | { |
| | | assert debugEnter(CLASS_NAME,"getSyntax"); |
| | | |
| | | return DirectoryServer.getDefaultStringSyntax(); |
| | | } |
| | |
| | | public String activeValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValue"); |
| | | |
| | | if ((activeValues == null) || activeValues.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValues"); |
| | | |
| | | return activeValues; |
| | | } |
| | |
| | | public String pendingValue() |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValue"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | */ |
| | | public List<String> pendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public void setValue(String value) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(value)); |
| | | |
| | | if ((value == null) || (value.length() == 0)) |
| | | { |
| | |
| | | public void setValues(List<String> values) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValues", String.valueOf(values)); |
| | | |
| | | |
| | | // First check if the set is empty and if that is allowed. |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(String value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(value)); |
| | | |
| | | LinkedHashSet<AttributeValue> valueSet = |
| | | new LinkedHashSet<AttributeValue>(1); |
| | |
| | | */ |
| | | private static LinkedHashSet<AttributeValue> getValueSet(List<String> values) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getValueSet", String.valueOf(values)); |
| | | |
| | | if (values == null) |
| | | { |
| | |
| | | */ |
| | | public void applyPendingValues() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "applyPendingValues"); |
| | | |
| | | if (! hasPendingValues()) |
| | | { |
| | |
| | | public boolean valueIsAcceptable(AttributeValue value, |
| | | StringBuilder rejectReason) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueIsAcceptable", String.valueOf(value), |
| | | "java.lang.StringBuilder"); |
| | | |
| | | |
| | | // The only requirement is that the value is not null or empty. |
| | |
| | | boolean allowFailures) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "stringsToValues", |
| | | String.valueOf(valueStrings), |
| | | String.valueOf(allowFailures)); |
| | | |
| | | if ((valueStrings == null) || valueStrings.isEmpty()) |
| | | { |
| | |
| | | */ |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "activeValuesToStrings"); |
| | | |
| | | return activeValues; |
| | | } |
| | |
| | | */ |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "pendingValuesToStrings"); |
| | | |
| | | if (hasPendingValues()) |
| | | { |
| | |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getConfigAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | |
| | | ArrayList<String> activeValues = null; |
| | |
| | | */ |
| | | private javax.management.Attribute _toJMXAttribute(boolean pending) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "_toJMXAttribute"); |
| | | List<String> requestedValues ; |
| | | String name ; |
| | | if (pending) |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttribute() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute"); |
| | | return _toJMXAttribute(false) ; |
| | | } |
| | | |
| | |
| | | */ |
| | | public javax.management.Attribute toJMXAttributePending() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributePending"); |
| | | return _toJMXAttribute(true) ; |
| | | } |
| | | |
| | |
| | | */ |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttribute", |
| | | String.valueOf(attributeList)); |
| | | |
| | | if (activeValues.size() > 0) |
| | | { |
| | |
| | | */ |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXAttributeInfo", |
| | | String.valueOf(attributeInfoList)); |
| | | |
| | | |
| | | if (isMultiValued()) |
| | |
| | | */ |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toJMXParameterInfo"); |
| | | |
| | | if (isMultiValued()) |
| | | { |
| | |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setValue", String.valueOf(jmxAttribute)); |
| | | |
| | | Object value = jmxAttribute.getValue(); |
| | | if (value instanceof String) |
| | |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", ce); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ce); |
| | | } |
| | | |
| | | throw ce; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "setValue", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_ATTR_INVALID_STRING_VALUE; |
| | | String message = getMessage(msgID, getName(), String.valueOf(value), |
| | |
| | | */ |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "duplicate"); |
| | | |
| | | return new StringConfigAttribute(getName(), getDescription(), isRequired(), |
| | | isMultiValued(), requiresAdminAction(), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.protocols.ldap.LDAPResultCode; |
| | | import org.opends.server.types.Control; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class AccountUsableRequestControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.AccountUsableRequestControl"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(OID_ACCOUNT_USABLE_CONTROL, false); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | super(oid, isCritical); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical)); |
| | | } |
| | | |
| | | |
| | |
| | | public static AccountUsableRequestControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | if (control.hasValue()) |
| | | { |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("AccountUsableRequestControl()"); |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.protocols.ldap.LDAPException; |
| | | import org.opends.server.protocols.ldap.LDAPResultCode; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class AccountUsableResponseControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.AccountUsableResponseControl"; |
| | | |
| | | |
| | | |
| | |
| | | super(OID_ACCOUNT_USABLE_CONTROL, false, |
| | | encodeValue(secondsBeforeExpiration)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | String.valueOf(secondsBeforeExpiration)); |
| | | |
| | | this.secondsBeforeExpiration = secondsBeforeExpiration; |
| | | |
| | |
| | | { |
| | | super(oid, isCritical, encodeValue(secondsBeforeExpiration)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(secondsBeforeExpiration)); |
| | | |
| | | this.secondsBeforeExpiration = secondsBeforeExpiration; |
| | | |
| | |
| | | encodeValue(isInactive, isReset, isExpired, remainingGraceLogins, |
| | | isLocked, secondsBeforeUnlock)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(isInactive), |
| | | String.valueOf(isReset), String.valueOf(isExpired), |
| | | String.valueOf(remainingGraceLogins), |
| | | String.valueOf(isLocked), |
| | | String.valueOf(secondsBeforeUnlock)); |
| | | |
| | | this.isInactive = isInactive; |
| | | this.isReset = isReset; |
| | |
| | | encodeValue(isInactive, isReset, isExpired, remainingGraceLogins, |
| | | isLocked, secondsBeforeUnlock)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(isInactive), String.valueOf(isReset), |
| | | String.valueOf(isExpired), |
| | | String.valueOf(remainingGraceLogins), |
| | | String.valueOf(isLocked), |
| | | String.valueOf(secondsBeforeUnlock)); |
| | | |
| | | this.isInactive = isInactive; |
| | | this.isReset = isReset; |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(isAvailable), |
| | | String.valueOf(secondsBeforeExpiration), |
| | | String.valueOf(isInactive), |
| | | String.valueOf(isReset), |
| | | String.valueOf(isExpired), |
| | | String.valueOf(remainingGraceLogins), |
| | | String.valueOf(isLocked), |
| | | String.valueOf(secondsBeforeUnlock)); |
| | | |
| | | this.isUsable = isAvailable; |
| | | this.secondsBeforeExpiration = secondsBeforeExpiration; |
| | |
| | | */ |
| | | private static ASN1OctetString encodeValue(int secondsBeforeExpiration) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeValue", |
| | | String.valueOf(secondsBeforeExpiration)); |
| | | |
| | | |
| | | ASN1Integer sbeInteger = new ASN1Integer(TYPE_SECONDS_BEFORE_EXPIRATION, |
| | |
| | | boolean isLocked, |
| | | int secondsBeforeUnlock) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeValue", String.valueOf(isInactive), |
| | | String.valueOf(isReset), String.valueOf(isExpired), |
| | | String.valueOf(remainingGraceLogins), |
| | | String.valueOf(isLocked), |
| | | String.valueOf(secondsBeforeUnlock)); |
| | | |
| | | |
| | | ArrayList<ASN1Element> elements = new ArrayList<ASN1Element>(5); |
| | |
| | | public static AccountUsableResponseControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | |
| | | ASN1OctetString controlValue = control.getValue(); |
| | |
| | | } |
| | | catch (ASN1Exception ae) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", ae); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ae); |
| | | } |
| | | |
| | | int msgID = MSGID_ACCTUSABLERES_DECODE_ERROR; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ACCTUSABLERES_DECODE_ERROR; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | */ |
| | | public boolean isUsable() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isAvailable"); |
| | | |
| | | return isUsable; |
| | | } |
| | |
| | | */ |
| | | public int getSecondsBeforeExpiration() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSecondsBeforeExpiration"); |
| | | |
| | | return secondsBeforeExpiration; |
| | | } |
| | |
| | | */ |
| | | public boolean isInactive() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isInactive"); |
| | | |
| | | return isInactive; |
| | | } |
| | |
| | | */ |
| | | public boolean isReset() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isReset"); |
| | | |
| | | return isReset; |
| | | } |
| | |
| | | */ |
| | | public boolean isExpired() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isExpired"); |
| | | |
| | | return isExpired; |
| | | } |
| | |
| | | */ |
| | | public int getRemainingGraceLogins() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRemainingGraceLogins"); |
| | | |
| | | return remainingGraceLogins; |
| | | } |
| | |
| | | */ |
| | | public boolean isLocked() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "isLocked"); |
| | | |
| | | return isLocked; |
| | | } |
| | |
| | | */ |
| | | public int getSecondsBeforeUnlock() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSecondsBeforeUnlock"); |
| | | |
| | | return secondsBeforeUnlock; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("AccountUsableResponseControl(isUsable="); |
| | | buffer.append(isUsable); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.DN; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | | |
| | | |
| | |
| | | public class AuthorizationIdentityResponseControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.AuthorizationIdentityResponseControl"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(OID_AUTHZID_RESPONSE, false, new ASN1OctetString()); |
| | | |
| | | assert debugConstructor(CLASS_NAME); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | super(OID_AUTHZID_RESPONSE, false, encodeValue(authorizationID)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(authorizationID)); |
| | | |
| | | this.authorizationID = authorizationID; |
| | | } |
| | |
| | | { |
| | | super(OID_AUTHZID_RESPONSE, false, encodeValue(authorizationDN)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(authorizationDN)); |
| | | |
| | | if (authorizationDN == null) |
| | | { |
| | |
| | | { |
| | | super(oid, isCritical, encodeValue(authorizationID)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(authorizationID)); |
| | | |
| | | this.authorizationID = authorizationID; |
| | | } |
| | |
| | | { |
| | | super(oid, isCritical, encodeValue(authorizationDN)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(authorizationDN)); |
| | | |
| | | if (authorizationDN == null) |
| | | { |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(authorizationID), |
| | | String.valueOf(encodedValue)); |
| | | |
| | | this.authorizationID = authorizationID; |
| | | } |
| | |
| | | */ |
| | | private static ASN1OctetString encodeValue(String authorizationID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeValue", |
| | | String.valueOf(authorizationID)); |
| | | |
| | | |
| | | return new ASN1OctetString(authorizationID); |
| | |
| | | */ |
| | | private static ASN1OctetString encodeValue(DN authorizationDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeValue", |
| | | String.valueOf(authorizationDN)); |
| | | |
| | | |
| | | if (authorizationDN == null) |
| | |
| | | Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | |
| | | if (! control.hasValue()) |
| | |
| | | */ |
| | | public String getAuthorizationID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAuthorizationID"); |
| | | |
| | | return authorizationID; |
| | | } |
| | |
| | | */ |
| | | public void setAuthorizationID(String authorizationID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setAuthorizationID", |
| | | String.valueOf(authorizationID)); |
| | | |
| | | this.authorizationID = authorizationID; |
| | | setValue(encodeValue(authorizationID)); |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("AuthorizationIdentityResponseControl(authzID=\""); |
| | | buffer.append(authorizationID); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.protocols.ldap.LDAPResultCode; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class EntryChangeNotificationControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.EntryChangeNotificationControl"; |
| | | |
| | | |
| | | |
| | |
| | | super(OID_ENTRY_CHANGE_NOTIFICATION, false, |
| | | encodeValue(changeType, null, changeNumber)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(changeType), |
| | | String.valueOf(changeNumber)); |
| | | |
| | | this.changeType = changeType; |
| | | this.changeNumber = changeNumber; |
| | |
| | | super(OID_ENTRY_CHANGE_NOTIFICATION, false, |
| | | encodeValue(changeType, previousDN, changeNumber)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(changeType), |
| | | String.valueOf(previousDN), |
| | | String.valueOf(changeNumber)); |
| | | |
| | | this.changeType = changeType; |
| | | this.previousDN = previousDN; |
| | |
| | | { |
| | | super(oid, isCritical, encodeValue(changeType, previousDN, changeNumber)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(changeType), |
| | | String.valueOf(previousDN), |
| | | String.valueOf(changeNumber)); |
| | | |
| | | this.changeType = changeType; |
| | | this.previousDN = previousDN; |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(changeType), |
| | | String.valueOf(previousDN), |
| | | String.valueOf(changeNumber), |
| | | String.valueOf(encodedValue)); |
| | | |
| | | this.changeType = changeType; |
| | | this.previousDN = previousDN; |
| | |
| | | changeType, |
| | | DN previousDN, long changeNumber) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeValue", String.valueOf(changeType), |
| | | String.valueOf(previousDN), String.valueOf(changeNumber)); |
| | | |
| | | |
| | | ArrayList<ASN1Element> elements = |
| | |
| | | public static EntryChangeNotificationControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | |
| | | if (! control.hasValue()) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ECN_CANNOT_DECODE_VALUE; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | */ |
| | | public PersistentSearchChangeType getChangeType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getChangeType"); |
| | | |
| | | return changeType; |
| | | } |
| | |
| | | */ |
| | | public void setChangeType(PersistentSearchChangeType changeType) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setChangeType", String.valueOf(changeType)); |
| | | |
| | | this.changeType = changeType; |
| | | |
| | |
| | | */ |
| | | public DN getPreviousDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getPreviousDN"); |
| | | |
| | | return previousDN; |
| | | } |
| | |
| | | */ |
| | | public void setPreviousDN(DN previousDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setPreviousDN", String.valueOf(previousDN)); |
| | | |
| | | this.previousDN = previousDN; |
| | | |
| | |
| | | */ |
| | | public long getChangeNumber() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getChangeNumber"); |
| | | |
| | | return changeNumber; |
| | | } |
| | |
| | | */ |
| | | public void setChangeNumber(long changeNumber) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setChangeNumber", |
| | | String.valueOf(changeNumber)); |
| | | |
| | | this.changeNumber = changeNumber; |
| | | |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("EntryChangeNotificationControl(changeType="); |
| | | buffer.append(changeType.toString()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.SearchFilter; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class LDAPAssertionRequestControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.LDAPAssertionRequestControl"; |
| | | |
| | | |
| | | |
| | |
| | | super(OID_LDAP_ASSERTION, isCritical, |
| | | new ASN1OctetString(rawFilter.encode().encode())); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(isCritical), |
| | | String.valueOf(rawFilter)); |
| | | |
| | | this.rawFilter = rawFilter; |
| | | |
| | |
| | | { |
| | | super(oid, isCritical, new ASN1OctetString(rawFilter.encode().encode())); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(rawFilter)); |
| | | |
| | | this.rawFilter = rawFilter; |
| | | |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(rawFilter), |
| | | String.valueOf(encodedValue)); |
| | | |
| | | this.rawFilter = rawFilter; |
| | | |
| | |
| | | public static LDAPAssertionRequestControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | if (! control.hasValue()) |
| | | { |
| | |
| | | } |
| | | catch (ASN1Exception ae) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", ae); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ae); |
| | | } |
| | | |
| | | int msgID = MSGID_LDAPASSERT_INVALID_CONTROL_VALUE; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | |
| | | */ |
| | | public LDAPFilter getRawFilter() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawFilter"); |
| | | |
| | | return rawFilter; |
| | | } |
| | |
| | | */ |
| | | public void setRawFilter(LDAPFilter rawFilter) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawFilter", String.valueOf(rawFilter)); |
| | | |
| | | this.rawFilter = rawFilter; |
| | | this.filter = null; |
| | |
| | | public SearchFilter getSearchFilter() |
| | | throws DirectoryException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSearchFilter"); |
| | | |
| | | if (filter == null) |
| | | { |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("LDAPAssertionRequestControl(criticality="); |
| | | buffer.append(isCritical()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.ObjectClass; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class LDAPPostReadRequestControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.LDAPPostReadRequestControl"; |
| | | |
| | | |
| | | |
| | |
| | | super(OID_LDAP_READENTRY_POSTREAD, isCritical, |
| | | encodeAttributes(rawAttributes)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(isCritical), |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | { |
| | | super(oid, isCritical, encodeAttributes(rawAttributes)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(rawAttributes), |
| | | String.valueOf(encodedValue)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | public static LDAPPostReadRequestControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | if (! control.hasValue()) |
| | | { |
| | |
| | | } |
| | | catch (ASN1Exception ae) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", ae); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ae); |
| | | } |
| | | |
| | | int msgID = MSGID_POSTREADREQ_CANNOT_DECODE_VALUE; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | |
| | | private static ASN1OctetString encodeAttributes(LinkedHashSet<String> |
| | | rawAttributes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeAttributes", |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public LinkedHashSet<String> getRawAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawAttributes"); |
| | | |
| | | return rawAttributes; |
| | | } |
| | |
| | | */ |
| | | public void setRawAttributes(LinkedHashSet<String> rawAttributes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawAttributes", |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public LinkedHashSet<AttributeType> getRequestedAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRequestedAttributes"); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public boolean returnAllUserAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "returnAllUserAttributes"); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public boolean returnAllOperationalAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "returnAllOperationalAttributes"); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public boolean allowsAttribute(AttributeType attrType) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "allowsAttribute", |
| | | String.valueOf(attrType)); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("LDAPPostReadRequestControl(criticality="); |
| | | buffer.append(isCritical()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.protocols.ldap.SearchResultEntryProtocolOp; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.SearchResultEntry; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class LDAPPostReadResponseControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.LDAPPostReadResponseControl"; |
| | | |
| | | |
| | | |
| | |
| | | super(OID_LDAP_READENTRY_POSTREAD, false, |
| | | encodeEntry(searchEntry)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(searchEntry)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | } |
| | |
| | | { |
| | | super(oid, isCritical, encodeEntry(searchEntry)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(searchEntry)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | } |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(searchEntry), |
| | | String.valueOf(encodedValue)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | } |
| | |
| | | public static LDAPPostReadResponseControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | if (! control.hasValue()) |
| | | { |
| | |
| | | } |
| | | catch (ASN1Exception ae) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", ae); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ae); |
| | | } |
| | | |
| | | int msgID = MSGID_POSTREADRESP_CANNOT_DECODE_VALUE; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | int msgID = MSGID_POSTREADRESP_CANNOT_DECODE_VALUE; |
| | | String message = getMessage(msgID, le.getMessage()); |
| | |
| | | */ |
| | | private static ASN1OctetString encodeEntry(SearchResultEntry searchEntry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeEntry", String.valueOf(searchEntry)); |
| | | |
| | | |
| | | SearchResultEntryProtocolOp protocolOp = |
| | |
| | | */ |
| | | public SearchResultEntry getSearchEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSearchEntry"); |
| | | |
| | | return searchEntry; |
| | | } |
| | |
| | | */ |
| | | public void setSearchEntry(SearchResultEntry searchEntry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSearchEntry", |
| | | String.valueOf(searchEntry)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | setValue(encodeEntry(searchEntry)); |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("LDAPPostReadResponseControl(criticality="); |
| | | buffer.append(isCritical()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.types.AttributeType; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.ObjectClass; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class LDAPPreReadRequestControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.LDAPPreReadRequestControl"; |
| | | |
| | | |
| | | |
| | |
| | | super(OID_LDAP_READENTRY_PREREAD, isCritical, |
| | | encodeAttributes(rawAttributes)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(isCritical), |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | { |
| | | super(oid, isCritical, encodeAttributes(rawAttributes)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(rawAttributes), |
| | | String.valueOf(encodedValue)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | public static LDAPPreReadRequestControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | if (! control.hasValue()) |
| | | { |
| | |
| | | } |
| | | catch (ASN1Exception ae) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", ae); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ae); |
| | | } |
| | | |
| | | int msgID = MSGID_PREREADREQ_CANNOT_DECODE_VALUE; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | |
| | | private static ASN1OctetString encodeAttributes(LinkedHashSet<String> |
| | | rawAttributes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeAttributes", |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public LinkedHashSet<String> getRawAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawAttributes"); |
| | | |
| | | return rawAttributes; |
| | | } |
| | |
| | | */ |
| | | public void setRawAttributes(LinkedHashSet<String> rawAttributes) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawAttributes", |
| | | String.valueOf(rawAttributes)); |
| | | |
| | | if (rawAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public LinkedHashSet<AttributeType> getRequestedAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRequestedAttributes"); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public boolean returnAllUserAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "returnAllUserAttributes"); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public boolean returnAllOperationalAttributes() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "returnAllOperationalAttributes"); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public boolean allowsAttribute(AttributeType attrType) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "allowsAttribute", |
| | | String.valueOf(attrType)); |
| | | |
| | | if (requestedAttributes == null) |
| | | { |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("LDAPPreReadRequestControl(criticality="); |
| | | buffer.append(isCritical()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.protocols.ldap.SearchResultEntryProtocolOp; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.SearchResultEntry; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class LDAPPreReadResponseControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.LDAPPreReadResponseControl"; |
| | | |
| | | |
| | | |
| | |
| | | super(OID_LDAP_READENTRY_PREREAD, false, |
| | | encodeEntry(searchEntry)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(searchEntry)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | } |
| | |
| | | { |
| | | super(oid, isCritical, encodeEntry(searchEntry)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(searchEntry)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | } |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(oid), |
| | | String.valueOf(isCritical), |
| | | String.valueOf(searchEntry), |
| | | String.valueOf(encodedValue)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | } |
| | |
| | | public static LDAPPreReadResponseControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | if (! control.hasValue()) |
| | | { |
| | |
| | | } |
| | | catch (ASN1Exception ae) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", ae); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, ae); |
| | | } |
| | | |
| | | int msgID = MSGID_PREREADRESP_CANNOT_DECODE_VALUE; |
| | | String message = getMessage(msgID, ae.getMessage()); |
| | |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | int msgID = MSGID_PREREADRESP_CANNOT_DECODE_VALUE; |
| | | String message = getMessage(msgID, le.getMessage()); |
| | |
| | | */ |
| | | private static ASN1OctetString encodeEntry(SearchResultEntry searchEntry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeEntry", String.valueOf(searchEntry)); |
| | | |
| | | |
| | | SearchResultEntryProtocolOp protocolOp = |
| | |
| | | */ |
| | | public SearchResultEntry getSearchEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSearchEntry"); |
| | | |
| | | return searchEntry; |
| | | } |
| | |
| | | */ |
| | | public void setSearchEntry(SearchResultEntry searchEntry) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSearchEntry", |
| | | String.valueOf(searchEntry)); |
| | | |
| | | this.searchEntry = searchEntry; |
| | | setValue(encodeEntry(searchEntry)); |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("LDAPPreReadResponseControl(criticality="); |
| | | buffer.append(isCritical()); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.controls; |
| | | |
| | |
| | | import org.opends.server.types.AttributeType; |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | public class MatchedValuesControl |
| | | extends Control |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.MatchedValuesControl"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(OID_MATCHED_VALUES, isCritical, encodeValue(filters)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(isCritical), |
| | | String.valueOf(filters)); |
| | | |
| | | this.filters = filters; |
| | | } |
| | |
| | | { |
| | | super(oid, isCritical, encodeValue(filters)); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(isCritical), |
| | | String.valueOf(filters)); |
| | | |
| | | this.filters = filters; |
| | | } |
| | |
| | | { |
| | | super(oid, isCritical, encodedValue); |
| | | |
| | | assert debugConstructor(CLASS_NAME, String.valueOf(isCritical), |
| | | String.valueOf(filters)); |
| | | |
| | | this.filters = filters; |
| | | } |
| | |
| | | private static ASN1OctetString |
| | | encodeValue(ArrayList<MatchedValuesFilter> filters) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encodeValue", |
| | | String.valueOf(filters)); |
| | | |
| | | |
| | | ArrayList<ASN1Element> elements = |
| | |
| | | public static MatchedValuesControl decodeControl(Control control) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeControl", String.valueOf(control)); |
| | | |
| | | |
| | | if (! control.hasValue()) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeControl", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MATCHEDVALUES_CANNOT_DECODE_VALUE_AS_SEQUENCE; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | */ |
| | | public ArrayList<MatchedValuesFilter> getFilters() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getFilters"); |
| | | |
| | | return filters; |
| | | } |
| | |
| | | */ |
| | | public boolean valueMatches(AttributeType type, AttributeValue value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueMatches", String.valueOf(type), |
| | | String.valueOf(value)); |
| | | |
| | | for (MatchedValuesFilter f : filters) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | if (filters.size() == 1) |
| | | { |
| | |
| | | import org.opends.server.types.ConditionResult; |
| | | import org.opends.server.util.Validator; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.protocols.ldap.LDAPConstants.*; |
| | |
| | | */ |
| | | public class MatchedValuesFilter |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.controls.MatchedValuesFilter"; |
| | | |
| | | |
| | | |
| | |
| | | List<ASN1OctetString> subAny, |
| | | ASN1OctetString subFinal, String matchingRuleID) |
| | | { |
| | | assert debugConstructor(CLASS_NAME, byteToHex(matchType), |
| | | String.valueOf(rawAttributeType), |
| | | String.valueOf(rawAssertionValue), |
| | | String.valueOf(subInitial), String.valueOf(subAny), |
| | | String.valueOf(subFinal), |
| | | String.valueOf(matchingRuleID)); |
| | | |
| | | |
| | | this.matchType = matchType; |
| | |
| | | String rawAttributeType, |
| | | ASN1OctetString rawAssertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createEqualityFilter", |
| | | String.valueOf(rawAttributeType), |
| | | String.valueOf(rawAssertionValue)); |
| | | |
| | | Validator.ensureNotNull(rawAttributeType,rawAssertionValue); |
| | | |
| | |
| | | AttributeType attributeType, |
| | | AttributeValue assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createEqualityFilter", |
| | | String.valueOf(attributeType), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | |
| | | Validator.ensureNotNull(attributeType, assertionValue); |
| | |
| | | List<ASN1OctetString> subAny, |
| | | ASN1OctetString subFinal) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createSubstringsFilter", |
| | | String.valueOf(rawAttributeType), |
| | | String.valueOf(subInitial), String.valueOf(subAny), |
| | | String.valueOf(subFinal)); |
| | | |
| | | |
| | | Validator.ensureNotNull(rawAttributeType); |
| | |
| | | List<ASN1OctetString> subAny, |
| | | ASN1OctetString subFinal) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createSubstringsFilter", |
| | | String.valueOf(attributeType), String.valueOf(subInitial), |
| | | String.valueOf(subAny), String.valueOf(subFinal)); |
| | | |
| | | |
| | | Validator.ensureNotNull(attributeType); |
| | |
| | | String rawAttributeType, |
| | | ASN1OctetString rawAssertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createGreaterOrEqualFilter", |
| | | String.valueOf(rawAttributeType), |
| | | String.valueOf(rawAssertionValue)); |
| | | |
| | | Validator.ensureNotNull(rawAttributeType, rawAssertionValue); |
| | | |
| | |
| | | AttributeType attributeType, |
| | | AttributeValue assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createGreaterOrEqualFilter", |
| | | String.valueOf(attributeType), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | Validator.ensureNotNull(attributeType, assertionValue); |
| | | |
| | |
| | | String rawAttributeType, |
| | | ASN1OctetString rawAssertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createLessOrEqualFilter", |
| | | String.valueOf(rawAttributeType), |
| | | String.valueOf(rawAssertionValue)); |
| | | |
| | | |
| | | Validator.ensureNotNull(rawAttributeType, rawAssertionValue); |
| | |
| | | AttributeType attributeType, |
| | | AttributeValue assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createLessOrEqualFilter", |
| | | String.valueOf(attributeType), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | Validator.ensureNotNull(attributeType, assertionValue); |
| | | |
| | |
| | | */ |
| | | public static MatchedValuesFilter createPresentFilter(String rawAttributeType) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createPresentFilter", |
| | | String.valueOf(rawAttributeType)); |
| | | |
| | | Validator.ensureNotNull(rawAttributeType) ; |
| | | return new MatchedValuesFilter(PRESENT_TYPE, rawAttributeType, null, null, |
| | |
| | | public static MatchedValuesFilter createPresentFilter( |
| | | AttributeType attributeType) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createPresentFilter", |
| | | String.valueOf(attributeType)); |
| | | |
| | | Validator.ensureNotNull(attributeType); |
| | | String rawAttributeType = attributeType.getNameOrOID(); |
| | |
| | | String rawAttributeType, |
| | | ASN1OctetString rawAssertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createApproximateFilter", |
| | | String.valueOf(rawAttributeType), |
| | | String.valueOf(rawAssertionValue)); |
| | | |
| | | Validator.ensureNotNull(rawAttributeType,rawAssertionValue); |
| | | |
| | |
| | | AttributeType attributeType, |
| | | AttributeValue assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createApproximateFilter", |
| | | String.valueOf(attributeType), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | |
| | | Validator.ensureNotNull(attributeType,assertionValue); |
| | |
| | | String matchingRuleID, |
| | | ASN1OctetString rawAssertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createExtensibleMatchFilter", |
| | | String.valueOf(rawAttributeType), |
| | | String.valueOf(matchingRuleID), |
| | | String.valueOf(rawAssertionValue)); |
| | | |
| | | Validator |
| | | .ensureNotNull(rawAttributeType, matchingRuleID, rawAssertionValue); |
| | |
| | | MatchingRule matchingRule, |
| | | AttributeValue assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createExtensibleMatchFilter", |
| | | String.valueOf(attributeType), |
| | | String.valueOf(matchingRule), |
| | | String.valueOf(assertionValue)); |
| | | |
| | | |
| | | Validator.ensureNotNull(attributeType, matchingRule, assertionValue); |
| | |
| | | public static MatchedValuesFilter createFromLDAPFilter(LDAPFilter filter) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "createFromLDAPFilter", |
| | | String.valueOf(filter)); |
| | | |
| | | switch (filter.getFilterType()) |
| | | { |
| | |
| | | */ |
| | | public ASN1Element encode() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encode"); |
| | | |
| | | |
| | | switch (matchType) |
| | |
| | | public static MatchedValuesFilter decode(ASN1Element element) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decode", String.valueOf(element)); |
| | | |
| | | |
| | | switch (element.getType()) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decode", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MVFILTER_CANNOT_DECODE_AVA; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decode", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MVFILTER_CANNOT_DECODE_SUBSTRINGS; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decode", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MVFILTER_CANNOT_DECODE_PRESENT_TYPE; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decode", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MVFILTER_CANNOT_DECODE_EXTENSIBLE_MATCH; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | */ |
| | | public byte getMatchType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMatchType"); |
| | | |
| | | return matchType; |
| | | } |
| | |
| | | */ |
| | | public String getRawAttributeType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawAttributeType"); |
| | | |
| | | return rawAttributeType; |
| | | } |
| | |
| | | */ |
| | | public void setRawAttributeType(String rawAttributeType) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawAttributeType", |
| | | String.valueOf(rawAttributeType)); |
| | | |
| | | this.rawAttributeType = rawAttributeType; |
| | | |
| | |
| | | */ |
| | | public AttributeType getAttributeType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAttributeType"); |
| | | |
| | | if (attributeType == null) |
| | | { |
| | |
| | | */ |
| | | public void setAttributeType(AttributeType attributeType) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setAttributeType", |
| | | String.valueOf(attributeType)); |
| | | |
| | | this.attributeType = attributeType; |
| | | |
| | |
| | | */ |
| | | public ASN1OctetString getRawAssertionValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawAssertionValue"); |
| | | |
| | | return rawAssertionValue; |
| | | } |
| | |
| | | */ |
| | | public void setRawAssertionValue(ASN1OctetString rawAssertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawAssertionValue", |
| | | String.valueOf(rawAssertionValue)); |
| | | |
| | | this.rawAssertionValue = rawAssertionValue; |
| | | |
| | |
| | | */ |
| | | public AttributeValue getAssertionValue() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getAssertionValue"); |
| | | |
| | | if (assertionValue == null) |
| | | { |
| | |
| | | */ |
| | | public void setAssertionValue(AttributeValue assertionValue) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setAssertionValue", |
| | | String.valueOf(assertionValue)); |
| | | |
| | | this.assertionValue = assertionValue; |
| | | |
| | |
| | | */ |
| | | public ASN1OctetString getSubInitialElement() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSubInitialElement"); |
| | | |
| | | return subInitial; |
| | | } |
| | |
| | | */ |
| | | public void setSubInitialElement(ASN1OctetString subInitial) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSubInitialElement", |
| | | String.valueOf(subInitial)); |
| | | |
| | | this.subInitial = subInitial; |
| | | |
| | |
| | | */ |
| | | public ASN1OctetString getNormalizedSubInitialElement() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNormalizedSubInitialElement"); |
| | | |
| | | if (normalizedSubInitial == null) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getNormalizedSubInitialElement", |
| | | e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public List<ASN1OctetString> getSubAnyElements() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSubAnyElements"); |
| | | |
| | | return subAny; |
| | | } |
| | |
| | | */ |
| | | public void setSubAnyElements(List<ASN1OctetString> subAny) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSubAnyElements", String.valueOf(subAny)); |
| | | |
| | | this.subAny = subAny; |
| | | |
| | |
| | | */ |
| | | public List<ASN1OctetString> getNormalizedSubAnyElements() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNormalizedSubAnyElements"); |
| | | |
| | | if (normalizedSubAny == null) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getNormalizedSubAnyElements", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | normalizedSubAny = null; |
| | | } |
| | |
| | | */ |
| | | public ASN1OctetString getSubFinalElement() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSubFinal"); |
| | | |
| | | return subFinal; |
| | | } |
| | |
| | | */ |
| | | public void setSubFinalElement(ASN1OctetString subFinal) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setSubFinalElement", |
| | | String.valueOf(subFinal)); |
| | | |
| | | this.subFinal = subFinal; |
| | | |
| | |
| | | */ |
| | | public ASN1OctetString getNormalizedSubFinalElement() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNormalizedSubFinalElement"); |
| | | |
| | | if (normalizedSubFinal == null) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "getNormalizedSubFinalElement", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public String getMatchingRuleID() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMatchingRuleID"); |
| | | |
| | | return matchingRuleID; |
| | | } |
| | |
| | | */ |
| | | public void setMatchingRuleID(String matchingRuleID) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setMatchingRuleID", |
| | | String.valueOf(matchingRuleID)); |
| | | |
| | | this.matchingRuleID = matchingRuleID; |
| | | |
| | |
| | | */ |
| | | public MatchingRule getMatchingRule() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getMatchingRule"); |
| | | |
| | | if (matchingRule == null) |
| | | { |
| | |
| | | */ |
| | | public void setMatchingRule(MatchingRule matchingRule) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setMatchingRule", |
| | | String.valueOf(matchingRule)); |
| | | |
| | | this.matchingRule = matchingRule; |
| | | |
| | |
| | | */ |
| | | public ApproximateMatchingRule getApproximateMatchingRule() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getApproximateMatchingRule"); |
| | | |
| | | if (approximateMatchingRule == null) |
| | | { |
| | |
| | | */ |
| | | public EqualityMatchingRule getEqualityMatchingRule() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEqualityMatchingRule"); |
| | | |
| | | if (equalityMatchingRule == null) |
| | | { |
| | |
| | | */ |
| | | public OrderingMatchingRule getOrderingMatchingRule() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getOrderingMatchingRule"); |
| | | |
| | | if (orderingMatchingRule == null) |
| | | { |
| | |
| | | */ |
| | | public SubstringMatchingRule getSubstringMatchingRule() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getSubstringMatchingRule"); |
| | | |
| | | if (substringMatchingRule == null) |
| | | { |
| | |
| | | */ |
| | | public boolean valueMatches(AttributeType type, AttributeValue value) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "valueMatches", String.valueOf(type), |
| | | String.valueOf(value)); |
| | | |
| | | |
| | | fullyDecode(); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "valueMatches", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | |
| | | */ |
| | | public String toString() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString"); |
| | | |
| | | StringBuilder buffer = new StringBuilder(); |
| | | toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | switch (matchType) |
| | | { |
| opends/src/server/org/opends/server/controls/PagedResultsControl.java
opends/src/server/org/opends/server/controls/PasswordExpiredControl.java
opends/src/server/org/opends/server/controls/PasswordExpiringControl.java
opends/src/server/org/opends/server/controls/PasswordPolicyErrorType.java
opends/src/server/org/opends/server/controls/PasswordPolicyRequestControl.java
opends/src/server/org/opends/server/controls/PasswordPolicyResponseControl.java
opends/src/server/org/opends/server/controls/PasswordPolicyWarningType.java
opends/src/server/org/opends/server/controls/PersistentSearchChangeType.java
opends/src/server/org/opends/server/controls/PersistentSearchControl.java
opends/src/server/org/opends/server/controls/ProxiedAuthV1Control.java
opends/src/server/org/opends/server/controls/ProxiedAuthV2Control.java
opends/src/server/org/opends/server/controls/package-info.java
opends/src/server/org/opends/server/core/AbandonOperation.java
opends/src/server/org/opends/server/core/AbsoluteSubtreeSpecification.java
opends/src/server/org/opends/server/core/AccessControlConfigManager.java
opends/src/server/org/opends/server/core/AccountStatusNotificationHandlerConfigManager.java
opends/src/server/org/opends/server/core/AddOperation.java
opends/src/server/org/opends/server/core/AuthenticatedUsers.java
opends/src/server/org/opends/server/core/BackendConfigManager.java
opends/src/server/org/opends/server/core/BindOperation.java
opends/src/server/org/opends/server/core/CertificateMapperConfigManager.java
opends/src/server/org/opends/server/core/CompareOperation.java
opends/src/server/org/opends/server/core/ConnectionHandlerConfigManager.java
opends/src/server/org/opends/server/core/CoreConfigManager.java
opends/src/server/org/opends/server/core/CoreConstants.java
opends/src/server/org/opends/server/core/DefaultAccessControlProvider.java
opends/src/server/org/opends/server/core/DeleteOperation.java
opends/src/server/org/opends/server/core/DirectoryServer.java
opends/src/server/org/opends/server/core/DirectoryServerShutdownHook.java
opends/src/server/org/opends/server/core/EntryCacheConfigManager.java
opends/src/server/org/opends/server/core/ExtendedOperation.java
opends/src/server/org/opends/server/core/ExtendedOperationConfigManager.java
opends/src/server/org/opends/server/core/GroupManager.java
opends/src/server/org/opends/server/core/IdentityMapperConfigManager.java
opends/src/server/org/opends/server/core/KeyManagerProviderConfigManager.java
opends/src/server/org/opends/server/core/LockFileManager.java
opends/src/server/org/opends/server/core/LoggerConfigManager.java
opends/src/server/org/opends/server/core/ModifyDNOperation.java
opends/src/server/org/opends/server/core/ModifyOperation.java
opends/src/server/org/opends/server/core/MonitorConfigManager.java
opends/src/server/org/opends/server/core/Operation.java
opends/src/server/org/opends/server/core/PasswordGeneratorConfigManager.java
opends/src/server/org/opends/server/core/PasswordPolicy.java
opends/src/server/org/opends/server/core/PasswordPolicyConfig.java
opends/src/server/org/opends/server/core/PasswordPolicyConfigManager.java
opends/src/server/org/opends/server/core/PasswordPolicyState.java
opends/src/server/org/opends/server/core/PasswordStorageSchemeConfigManager.java
opends/src/server/org/opends/server/core/PasswordValidatorConfigManager.java
opends/src/server/org/opends/server/core/PersistentSearch.java
opends/src/server/org/opends/server/core/PluginConfigManager.java
opends/src/server/org/opends/server/core/RFC3672SubtreeSpecification.java
opends/src/server/org/opends/server/core/RelativeSubtreeSpecification.java
opends/src/server/org/opends/server/core/RootDNConfigManager.java
opends/src/server/org/opends/server/core/SASLConfigManager.java
opends/src/server/org/opends/server/core/SchemaConfigManager.java
opends/src/server/org/opends/server/core/SearchOperation.java
opends/src/server/org/opends/server/core/ServerShutdownMonitor.java
opends/src/server/org/opends/server/core/SimpleSubtreeSpecification.java
opends/src/server/org/opends/server/core/SynchronizationProviderConfigManager.java
opends/src/server/org/opends/server/core/TrustManagerProviderConfigManager.java
opends/src/server/org/opends/server/core/UnbindOperation.java
opends/src/server/org/opends/server/core/package-info.java
opends/src/server/org/opends/server/extensions/AnonymousSASLMechanismHandler.java
opends/src/server/org/opends/server/extensions/Base64PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/BlindTrustManagerProvider.java
opends/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandler.java
opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
opends/src/server/org/opends/server/extensions/CertificateValidationPolicy.java
opends/src/server/org/opends/server/extensions/ClearPasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/ConfigFileHandler.java
opends/src/server/org/opends/server/extensions/DefaultEntryCache.java
opends/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandler.java
opends/src/server/org/opends/server/extensions/DigestMD5StateInfo.java
opends/src/server/org/opends/server/extensions/ErrorLogAccountStatusNotificationHandler.java
opends/src/server/org/opends/server/extensions/ExactMatchIdentityMapper.java
opends/src/server/org/opends/server/extensions/ExtensionsConstants.java
opends/src/server/org/opends/server/extensions/ExternalSASLMechanismHandler.java
opends/src/server/org/opends/server/extensions/FIFOEntryCache.java
opends/src/server/org/opends/server/extensions/FileBasedKeyManagerProvider.java
opends/src/server/org/opends/server/extensions/FileBasedTrustManagerProvider.java
opends/src/server/org/opends/server/extensions/FilteredStaticGroupMemberList.java
opends/src/server/org/opends/server/extensions/FingerprintCertificateMapper.java
opends/src/server/org/opends/server/extensions/GSSAPISASLMechanismHandler.java
opends/src/server/org/opends/server/extensions/GSSAPIStateInfo.java
opends/src/server/org/opends/server/extensions/InternalConnectionSecurityProvider.java
opends/src/server/org/opends/server/extensions/JMXAlertHandler.java
opends/src/server/org/opends/server/extensions/LengthBasedPasswordValidator.java
opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/NullConnectionSecurityProvider.java
opends/src/server/org/opends/server/extensions/NullKeyManagerProvider.java
opends/src/server/org/opends/server/extensions/NullTrustManagerProvider.java
opends/src/server/org/opends/server/extensions/PKCS11KeyManagerProvider.java
opends/src/server/org/opends/server/extensions/PasswordModifyExtendedOperation.java
opends/src/server/org/opends/server/extensions/PlainSASLMechanismHandler.java
opends/src/server/org/opends/server/extensions/RandomPasswordGenerator.java
opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java
opends/src/server/org/opends/server/extensions/SimpleStaticGroupMemberList.java
opends/src/server/org/opends/server/extensions/SoftReferenceEntryCache.java
opends/src/server/org/opends/server/extensions/StartTLSExtendedOperation.java
opends/src/server/org/opends/server/extensions/StaticGroup.java
opends/src/server/org/opends/server/extensions/SubjectAttributeToUserAttributeCertificateMapper.java
opends/src/server/org/opends/server/extensions/SubjectDNToUserAttributeCertificateMapper.java
opends/src/server/org/opends/server/extensions/SubjectEqualsDNCertificateMapper.java
opends/src/server/org/opends/server/extensions/TLSCapableConnection.java
opends/src/server/org/opends/server/extensions/TLSConnectionSecurityProvider.java
opends/src/server/org/opends/server/extensions/TraditionalWorkQueue.java
opends/src/server/org/opends/server/extensions/TraditionalWorkerThread.java
opends/src/server/org/opends/server/extensions/WhoAmIExtendedOperation.java
opends/src/server/org/opends/server/extensions/package-info.java
opends/src/server/org/opends/server/interop/LazyDN.java
opends/src/server/org/opends/server/loggers/Access.java
opends/src/server/org/opends/server/loggers/ActionType.java
opends/src/server/org/opends/server/loggers/AsyncronousLogPublisher.java
opends/src/server/org/opends/server/loggers/Debug.java (deleted)
opends/src/server/org/opends/server/loggers/DirectoryAccessLogger.java
opends/src/server/org/opends/server/loggers/DirectoryAuditLogger.java
opends/src/server/org/opends/server/loggers/DirectoryDebugLogger.java (deleted)
opends/src/server/org/opends/server/loggers/DirectoryErrorLogger.java
opends/src/server/org/opends/server/loggers/DirectoryFileFormatter.java
opends/src/server/org/opends/server/loggers/DirectoryFileHandler.java
opends/src/server/org/opends/server/loggers/DirectoryLogLevel.java
opends/src/server/org/opends/server/loggers/EncryptAction.java
opends/src/server/org/opends/server/loggers/Error.java
opends/src/server/org/opends/server/loggers/FileComparator.java
opends/src/server/org/opends/server/loggers/FileNamingPolicy.java
opends/src/server/org/opends/server/loggers/FileNumberRetentionPolicy.java
opends/src/server/org/opends/server/loggers/FixedTimeRotationPolicy.java
opends/src/server/org/opends/server/loggers/FreeDiskSpaceRetentionPolicy.java
opends/src/server/org/opends/server/loggers/GZIPAction.java
opends/src/server/org/opends/server/loggers/InitializationErrorManager.java
opends/src/server/org/opends/server/loggers/LogCategory.java
opends/src/server/org/opends/server/loggers/LogErrorHandler.java
opends/src/server/org/opends/server/loggers/LogFileFilter.java
opends/src/server/org/opends/server/loggers/LogLevel.java
opends/src/server/org/opends/server/loggers/LogRecord.java
opends/src/server/org/opends/server/loggers/Logger.java
opends/src/server/org/opends/server/loggers/LoggerAlarmHandler.java
opends/src/server/org/opends/server/loggers/LoggerThread.java
opends/src/server/org/opends/server/loggers/MeteredStream.java
opends/src/server/org/opends/server/loggers/MultifileTextWriter.java
opends/src/server/org/opends/server/loggers/PostRotationAction.java
opends/src/server/org/opends/server/loggers/RetentionPolicy.java
opends/src/server/org/opends/server/loggers/RotationActionThread.java
opends/src/server/org/opends/server/loggers/RotationConfigUtil.java
opends/src/server/org/opends/server/loggers/RotationPolicy.java
opends/src/server/org/opends/server/loggers/SignatureAction.java
opends/src/server/org/opends/server/loggers/SizeBasedRetentionPolicy.java
opends/src/server/org/opends/server/loggers/SizeBasedRotationPolicy.java
opends/src/server/org/opends/server/loggers/StartupDebugLogger.java (deleted)
opends/src/server/org/opends/server/loggers/StartupErrorLogger.java
opends/src/server/org/opends/server/loggers/TextLogFormatter.java
opends/src/server/org/opends/server/loggers/TextLogPublisher.java
opends/src/server/org/opends/server/loggers/TextWriter.java
opends/src/server/org/opends/server/loggers/TimeLimitRotationPolicy.java
opends/src/server/org/opends/server/loggers/TimeStampNaming.java
opends/src/server/org/opends/server/loggers/ZIPAction.java
opends/src/server/org/opends/server/loggers/debug/DebugErrorHandler.java
opends/src/server/org/opends/server/loggers/debug/DebugLogFormatter.java
opends/src/server/org/opends/server/loggers/debug/DebugLogRecord.java
opends/src/server/org/opends/server/loggers/debug/DebugLogger.java
opends/src/server/org/opends/server/loggers/debug/DebugStackTraceFormatter.java
opends/src/server/org/opends/server/loggers/debug/TraceConfiguration.java
opends/src/server/org/opends/server/loggers/debug/TraceSettings.java
opends/src/server/org/opends/server/loggers/debug/Tracer.java
opends/src/server/org/opends/server/loggers/package-info.java
opends/src/server/org/opends/server/messages/CoreMessages.java
opends/src/server/org/opends/server/messages/JebMessages.java
opends/src/server/org/opends/server/messages/LoggerMessages.java
opends/src/server/org/opends/server/messages/MessageHandler.java
opends/src/server/org/opends/server/messages/PluginMessages.java
opends/src/server/org/opends/server/messages/UtilityMessages.java
opends/src/server/org/opends/server/messages/package-info.java
opends/src/server/org/opends/server/monitors/BackendMonitor.java
opends/src/server/org/opends/server/monitors/ConnectionHandlerMonitor.java
opends/src/server/org/opends/server/monitors/DatabaseEnvironmentMonitor.java
opends/src/server/org/opends/server/monitors/StackTraceMonitorProvider.java
opends/src/server/org/opends/server/monitors/SystemInfoMonitorProvider.java
opends/src/server/org/opends/server/monitors/TraditionalWorkQueueMonitor.java
opends/src/server/org/opends/server/monitors/VersionMonitorProvider.java
opends/src/server/org/opends/server/monitors/package-info.java
opends/src/server/org/opends/server/plugins/EntryUUIDPlugin.java
opends/src/server/org/opends/server/plugins/LDAPADListPlugin.java
opends/src/server/org/opends/server/plugins/LastModPlugin.java
opends/src/server/org/opends/server/plugins/PasswordPolicyImportPlugin.java
opends/src/server/org/opends/server/plugins/package-info.java
opends/src/server/org/opends/server/plugins/profiler/ProfileStack.java
opends/src/server/org/opends/server/plugins/profiler/ProfileStackFrame.java
opends/src/server/org/opends/server/plugins/profiler/ProfileViewer.java
opends/src/server/org/opends/server/plugins/profiler/ProfilerPlugin.java
opends/src/server/org/opends/server/plugins/profiler/ProfilerThread.java
opends/src/server/org/opends/server/plugins/profiler/package-info.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Boolean.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Constants.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Element.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Enumerated.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Exception.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Integer.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Long.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Null.java
opends/src/server/org/opends/server/protocols/asn1/ASN1OctetString.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Reader.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Sequence.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Set.java
opends/src/server/org/opends/server/protocols/asn1/ASN1Writer.java
opends/src/server/org/opends/server/protocols/asn1/package-info.java
opends/src/server/org/opends/server/protocols/internal/InternalClientConnection.java
opends/src/server/org/opends/server/protocols/internal/InternalConnectionHandler.java
opends/src/server/org/opends/server/protocols/internal/InternalSearchListener.java
opends/src/server/org/opends/server/protocols/internal/InternalSearchOperation.java
opends/src/server/org/opends/server/protocols/internal/package-info.java
opends/src/server/org/opends/server/protocols/jmx/Credential.java
opends/src/server/org/opends/server/protocols/jmx/DirectoryRMIClientSocketFactory.java
opends/src/server/org/opends/server/protocols/jmx/DirectoryRMIServerSocketFactory.java
opends/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java
opends/src/server/org/opends/server/protocols/jmx/JmxConnectionHandler.java
opends/src/server/org/opends/server/protocols/jmx/OpendsJmxConnector.java
opends/src/server/org/opends/server/protocols/jmx/OpendsJmxPrincipal.java
opends/src/server/org/opends/server/protocols/jmx/OpendsRMIJRMPServerImpl.java
opends/src/server/org/opends/server/protocols/jmx/OpendsRmiServerSocketFactory.java
opends/src/server/org/opends/server/protocols/jmx/RmiAuthenticator.java
opends/src/server/org/opends/server/protocols/jmx/RmiConnector.java
opends/src/server/org/opends/server/protocols/ldap/AbandonRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/AddRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/AddResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/BindRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/BindResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/CompareRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/CompareResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/DeleteRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/DeleteResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/ExtendedRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/ExtendedResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/IntermediateResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/LDAPAttribute.java
opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java
opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java
opends/src/server/org/opends/server/protocols/ldap/LDAPConstants.java
opends/src/server/org/opends/server/protocols/ldap/LDAPControl.java
opends/src/server/org/opends/server/protocols/ldap/LDAPException.java
opends/src/server/org/opends/server/protocols/ldap/LDAPFilter.java
opends/src/server/org/opends/server/protocols/ldap/LDAPMessage.java
opends/src/server/org/opends/server/protocols/ldap/LDAPModification.java
opends/src/server/org/opends/server/protocols/ldap/LDAPRequestHandler.java
opends/src/server/org/opends/server/protocols/ldap/LDAPResultCode.java
opends/src/server/org/opends/server/protocols/ldap/LDAPStatistics.java
opends/src/server/org/opends/server/protocols/ldap/ModifyDNRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/ModifyDNResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/ModifyRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/ModifyResponseProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/ProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/SearchRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/SearchResultDoneProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/SearchResultEntryProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/SearchResultReferenceProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/UnbindRequestProtocolOp.java
opends/src/server/org/opends/server/protocols/ldap/package-info.java
opends/src/server/org/opends/server/protocols/package-info.java
opends/src/server/org/opends/server/schema/AbsoluteSubtreeSpecificationSyntax.java
opends/src/server/org/opends/server/schema/AttributeTypeSyntax.java
opends/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/AuthPasswordExactEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/AuthPasswordSyntax.java
opends/src/server/org/opends/server/schema/BinarySyntax.java
opends/src/server/org/opends/server/schema/BitStringEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/BitStringSyntax.java
opends/src/server/org/opends/server/schema/BooleanEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/BooleanSyntax.java
opends/src/server/org/opends/server/schema/CaseExactEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/CaseExactIA5EqualityMatchingRule.java
opends/src/server/org/opends/server/schema/CaseExactIA5SubstringMatchingRule.java
opends/src/server/org/opends/server/schema/CaseExactOrderingMatchingRule.java
opends/src/server/org/opends/server/schema/CaseExactSubstringMatchingRule.java
opends/src/server/org/opends/server/schema/CaseIgnoreEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/CaseIgnoreIA5EqualityMatchingRule.java
opends/src/server/org/opends/server/schema/CaseIgnoreIA5SubstringMatchingRule.java
opends/src/server/org/opends/server/schema/CaseIgnoreListEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/CaseIgnoreListSubstringMatchingRule.java
opends/src/server/org/opends/server/schema/CaseIgnoreOrderingMatchingRule.java
opends/src/server/org/opends/server/schema/CaseIgnoreSubstringMatchingRule.java
opends/src/server/org/opends/server/schema/CertificateListSyntax.java
opends/src/server/org/opends/server/schema/CertificatePairSyntax.java
opends/src/server/org/opends/server/schema/CertificateSyntax.java
opends/src/server/org/opends/server/schema/CountryStringSyntax.java
opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java
opends/src/server/org/opends/server/schema/DITStructureRuleSyntax.java
opends/src/server/org/opends/server/schema/DeliveryMethodSyntax.java
opends/src/server/org/opends/server/schema/DirectoryStringFirstComponentEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/DirectoryStringSyntax.java
opends/src/server/org/opends/server/schema/DistinguishedNameEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/DistinguishedNameSyntax.java
opends/src/server/org/opends/server/schema/DoubleMetaphoneApproximateMatchingRule.java
opends/src/server/org/opends/server/schema/EnhancedGuideSyntax.java
opends/src/server/org/opends/server/schema/FaxNumberSyntax.java
opends/src/server/org/opends/server/schema/FaxSyntax.java
opends/src/server/org/opends/server/schema/GeneralizedTimeEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/GeneralizedTimeOrderingMatchingRule.java
opends/src/server/org/opends/server/schema/GeneralizedTimeSyntax.java
opends/src/server/org/opends/server/schema/GuideSyntax.java
opends/src/server/org/opends/server/schema/IA5StringSyntax.java
opends/src/server/org/opends/server/schema/IntegerEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/IntegerFirstComponentEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/IntegerOrderingMatchingRule.java
opends/src/server/org/opends/server/schema/IntegerSyntax.java
opends/src/server/org/opends/server/schema/JPEGSyntax.java
opends/src/server/org/opends/server/schema/KeywordEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
opends/src/server/org/opends/server/schema/MatchingRuleSyntax.java
opends/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java
opends/src/server/org/opends/server/schema/NameAndOptionalUIDSyntax.java
opends/src/server/org/opends/server/schema/NameFormSyntax.java
opends/src/server/org/opends/server/schema/NumericStringEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/NumericStringOrderingMatchingRule.java
opends/src/server/org/opends/server/schema/NumericStringSubstringMatchingRule.java
opends/src/server/org/opends/server/schema/NumericStringSyntax.java
opends/src/server/org/opends/server/schema/OIDSyntax.java
opends/src/server/org/opends/server/schema/ObjectClassSyntax.java
opends/src/server/org/opends/server/schema/ObjectIdentifierEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/ObjectIdentifierFirstComponentEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/OctetStringEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/OctetStringOrderingMatchingRule.java
opends/src/server/org/opends/server/schema/OctetStringSubstringMatchingRule.java
opends/src/server/org/opends/server/schema/OctetStringSyntax.java
opends/src/server/org/opends/server/schema/OtherMailboxSyntax.java
opends/src/server/org/opends/server/schema/PostalAddressSyntax.java
opends/src/server/org/opends/server/schema/PresentationAddressEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/PresentationAddressSyntax.java
opends/src/server/org/opends/server/schema/PrintableString.java
opends/src/server/org/opends/server/schema/PrintableStringSyntax.java
opends/src/server/org/opends/server/schema/ProtocolInformationEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/ProtocolInformationSyntax.java
opends/src/server/org/opends/server/schema/RFC3672SubtreeSpecificationSyntax.java
opends/src/server/org/opends/server/schema/RelativeSubtreeSpecificationSyntax.java
opends/src/server/org/opends/server/schema/SchemaConstants.java
opends/src/server/org/opends/server/schema/SubstringAssertionSyntax.java
opends/src/server/org/opends/server/schema/SupportedAlgorithmSyntax.java
opends/src/server/org/opends/server/schema/TelephoneNumberEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/TelephoneNumberSubstringMatchingRule.java
opends/src/server/org/opends/server/schema/TelephoneNumberSyntax.java
opends/src/server/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java
opends/src/server/org/opends/server/schema/TelexNumberSyntax.java
opends/src/server/org/opends/server/schema/UTCTimeSyntax.java
opends/src/server/org/opends/server/schema/UUIDEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/UUIDOrderingMatchingRule.java
opends/src/server/org/opends/server/schema/UUIDSyntax.java
opends/src/server/org/opends/server/schema/UniqueMemberEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/UserPasswordExactEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/UserPasswordSyntax.java
opends/src/server/org/opends/server/schema/WordEqualityMatchingRule.java
opends/src/server/org/opends/server/schema/package-info.java
opends/src/server/org/opends/server/synchronization/changelog/AckMessageList.java
opends/src/server/org/opends/server/synchronization/changelog/AckMessageListComparator.java
opends/src/server/org/opends/server/synchronization/changelog/ChangelogAckMessageList.java
opends/src/server/org/opends/server/synchronization/changelog/ChangelogDBException.java
opends/src/server/org/opends/server/synchronization/changelog/ChangelogData.java
opends/src/server/org/opends/server/synchronization/changelog/ChangelogDbEnv.java
opends/src/server/org/opends/server/synchronization/changelog/ChangelogIterator.java
opends/src/server/org/opends/server/synchronization/changelog/ChangelogIteratorComparator.java
opends/src/server/org/opends/server/synchronization/changelog/ChangelogKey.java
opends/src/server/org/opends/server/synchronization/changelog/MsgQueue.java
opends/src/server/org/opends/server/synchronization/changelog/ServerHandler.java
opends/src/server/org/opends/server/synchronization/changelog/ServerReader.java
opends/src/server/org/opends/server/synchronization/changelog/ServerWriter.java
opends/src/server/org/opends/server/synchronization/changelog/UpdateComparator.java
opends/src/server/org/opends/server/synchronization/changelog/package-info.java
opends/src/server/org/opends/server/synchronization/common/ChangeNumber.java
opends/src/server/org/opends/server/synchronization/common/ServerState.java
opends/src/server/org/opends/server/synchronization/common/package-info.java
opends/src/server/org/opends/server/synchronization/package-info.java
opends/src/server/org/opends/server/synchronization/plugin/AttrInfo.java
opends/src/server/org/opends/server/synchronization/plugin/AttrInfoWithOptions.java
opends/src/server/org/opends/server/synchronization/plugin/FakeOperation.java
opends/src/server/org/opends/server/synchronization/plugin/FakeOperationComparator.java
opends/src/server/org/opends/server/synchronization/plugin/HeartbeatMonitor.java
opends/src/server/org/opends/server/synchronization/plugin/HistKey.java
opends/src/server/org/opends/server/synchronization/plugin/HistVal.java
opends/src/server/org/opends/server/synchronization/plugin/Historical.java
opends/src/server/org/opends/server/synchronization/plugin/HistoricalCsnOrderingMatchingRule.java
opends/src/server/org/opends/server/synchronization/plugin/ListenerThread.java
opends/src/server/org/opends/server/synchronization/plugin/ModifyFakeOperation.java
opends/src/server/org/opends/server/synchronization/plugin/MultimasterSynchronization.java
opends/src/server/org/opends/server/synchronization/plugin/PendingChange.java
opends/src/server/org/opends/server/synchronization/plugin/SynchronizationMonitor.java
opends/src/server/org/opends/server/synchronization/plugin/ValueInfo.java
opends/src/server/org/opends/server/synchronization/plugin/package-info.java
opends/src/server/org/opends/server/synchronization/protocol/AckMessage.java
opends/src/server/org/opends/server/synchronization/protocol/AddContext.java
opends/src/server/org/opends/server/synchronization/protocol/AddMsg.java
opends/src/server/org/opends/server/synchronization/protocol/ChangelogStartMessage.java
opends/src/server/org/opends/server/synchronization/protocol/DeleteContext.java
opends/src/server/org/opends/server/synchronization/protocol/DeleteMsg.java
opends/src/server/org/opends/server/synchronization/protocol/HeartbeatThread.java
opends/src/server/org/opends/server/synchronization/protocol/ModifyContext.java
opends/src/server/org/opends/server/synchronization/protocol/ModifyDNMsg.java
opends/src/server/org/opends/server/synchronization/protocol/ModifyDnContext.java
opends/src/server/org/opends/server/synchronization/protocol/ModifyMsg.java
opends/src/server/org/opends/server/synchronization/protocol/OperationContext.java
opends/src/server/org/opends/server/synchronization/protocol/ProtocolSession.java
opends/src/server/org/opends/server/synchronization/protocol/ServerStartMessage.java
opends/src/server/org/opends/server/synchronization/protocol/SocketSession.java
opends/src/server/org/opends/server/synchronization/protocol/SynchronizationMessage.java
opends/src/server/org/opends/server/synchronization/protocol/UpdateMessage.java
opends/src/server/org/opends/server/synchronization/protocol/WindowMessage.java
opends/src/server/org/opends/server/synchronization/protocol/package-info.java
opends/src/server/org/opends/server/tasks/AddSchemaFileTask.java
opends/src/server/org/opends/server/tasks/BackupTask.java
opends/src/server/org/opends/server/tasks/ExportTask.java
opends/src/server/org/opends/server/tasks/ImportTask.java
opends/src/server/org/opends/server/tasks/RestartTaskThread.java
opends/src/server/org/opends/server/tasks/RestoreTask.java
opends/src/server/org/opends/server/tasks/ShutdownTask.java
opends/src/server/org/opends/server/tasks/ShutdownTaskThread.java
opends/src/server/org/opends/server/tasks/TaskUtils.java
opends/src/server/org/opends/server/tools/BackUpDB.java
opends/src/server/org/opends/server/tools/ClientException.java
opends/src/server/org/opends/server/tools/ConfigureDS.java
opends/src/server/org/opends/server/tools/EncodePassword.java
opends/src/server/org/opends/server/tools/ExportLDIF.java
opends/src/server/org/opends/server/tools/ImportLDIF.java
opends/src/server/org/opends/server/tools/InstallDS.java
opends/src/server/org/opends/server/tools/LDAPCompare.java
opends/src/server/org/opends/server/tools/LDAPCompareOptions.java
opends/src/server/org/opends/server/tools/LDAPConnection.java
opends/src/server/org/opends/server/tools/LDAPConnectionException.java
opends/src/server/org/opends/server/tools/LDAPConnectionOptions.java
opends/src/server/org/opends/server/tools/LDAPDelete.java
opends/src/server/org/opends/server/tools/LDAPDeleteOptions.java
opends/src/server/org/opends/server/tools/LDAPModify.java
opends/src/server/org/opends/server/tools/LDAPModifyOptions.java
opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
opends/src/server/org/opends/server/tools/LDAPSearch.java
opends/src/server/org/opends/server/tools/LDAPSearchOptions.java
opends/src/server/org/opends/server/tools/LDAPToolOptions.java
opends/src/server/org/opends/server/tools/LDAPToolUtils.java
opends/src/server/org/opends/server/tools/LDIFDiff.java
opends/src/server/org/opends/server/tools/LDIFModify.java
opends/src/server/org/opends/server/tools/LDIFSearch.java
opends/src/server/org/opends/server/tools/ListBackends.java
opends/src/server/org/opends/server/tools/PromptTrustManager.java
opends/src/server/org/opends/server/tools/RestoreDB.java
opends/src/server/org/opends/server/tools/SSLConnectionException.java
opends/src/server/org/opends/server/tools/SSLConnectionFactory.java
opends/src/server/org/opends/server/tools/StopDS.java
opends/src/server/org/opends/server/tools/ToolConstants.java
opends/src/server/org/opends/server/tools/VerifyIndex.java
opends/src/server/org/opends/server/tools/WaitForFileDelete.java
opends/src/server/org/opends/server/tools/makeldif/AttributeValueTag.java
opends/src/server/org/opends/server/tools/makeldif/Branch.java
opends/src/server/org/opends/server/tools/makeldif/DNTag.java
opends/src/server/org/opends/server/tools/makeldif/EntryWriter.java
opends/src/server/org/opends/server/tools/makeldif/FileTag.java
opends/src/server/org/opends/server/tools/makeldif/FirstNameTag.java
opends/src/server/org/opends/server/tools/makeldif/GUIDTag.java
opends/src/server/org/opends/server/tools/makeldif/IfAbsentTag.java
opends/src/server/org/opends/server/tools/makeldif/IfPresentTag.java
opends/src/server/org/opends/server/tools/makeldif/LastNameTag.java
opends/src/server/org/opends/server/tools/makeldif/MakeLDIF.java
opends/src/server/org/opends/server/tools/makeldif/MakeLDIFException.java
opends/src/server/org/opends/server/tools/makeldif/MakeLDIFInputStream.java
opends/src/server/org/opends/server/tools/makeldif/MakeLDIFInputStreamThread.java
opends/src/server/org/opends/server/tools/makeldif/ParentDNTag.java
opends/src/server/org/opends/server/tools/makeldif/PresenceTag.java
opends/src/server/org/opends/server/tools/makeldif/RDNTag.java
opends/src/server/org/opends/server/tools/makeldif/RandomTag.java
opends/src/server/org/opends/server/tools/makeldif/SequentialTag.java
opends/src/server/org/opends/server/tools/makeldif/StaticTextTag.java
opends/src/server/org/opends/server/tools/makeldif/Tag.java
opends/src/server/org/opends/server/tools/makeldif/TagResult.java
opends/src/server/org/opends/server/tools/makeldif/Template.java
opends/src/server/org/opends/server/tools/makeldif/TemplateFile.java
opends/src/server/org/opends/server/tools/makeldif/TemplateLine.java
opends/src/server/org/opends/server/tools/makeldif/TemplateValue.java
opends/src/server/org/opends/server/tools/makeldif/UnderscoreDNTag.java
opends/src/server/org/opends/server/tools/makeldif/UnderscoreParentDNTag.java
opends/src/server/org/opends/server/tools/package-info.java
opends/src/server/org/opends/server/types/AcceptRejectWarn.java
opends/src/server/org/opends/server/types/AccountStatusNotification.java
opends/src/server/org/opends/server/types/AccountStatusNotificationType.java
opends/src/server/org/opends/server/types/AddressMask.java
opends/src/server/org/opends/server/types/Attribute.java
opends/src/server/org/opends/server/types/AttributeType.java
opends/src/server/org/opends/server/types/AttributeUsage.java
opends/src/server/org/opends/server/types/AttributeValue.java
opends/src/server/org/opends/server/types/AttributeValueIterable.java
opends/src/server/org/opends/server/types/AuthenticationInfo.java
opends/src/server/org/opends/server/types/AuthenticationType.java
opends/src/server/org/opends/server/types/BackupConfig.java
opends/src/server/org/opends/server/types/BackupDirectory.java
opends/src/server/org/opends/server/types/BackupInfo.java
opends/src/server/org/opends/server/types/ByteString.java
opends/src/server/org/opends/server/types/ByteStringFactory.java
opends/src/server/org/opends/server/types/CacheEntry.java
opends/src/server/org/opends/server/types/CancelRequest.java
opends/src/server/org/opends/server/types/CancelResult.java
opends/src/server/org/opends/server/types/CancelledOperationException.java
opends/src/server/org/opends/server/types/CommonSchemaElements.java
opends/src/server/org/opends/server/types/ConfigChangeResult.java
opends/src/server/org/opends/server/types/Control.java
opends/src/server/org/opends/server/types/CryptoManager.java
opends/src/server/org/opends/server/types/DITContentRule.java
opends/src/server/org/opends/server/types/DITStructureRule.java
opends/src/server/org/opends/server/types/DN.java
opends/src/server/org/opends/server/types/DebugLogCategory.java (deleted)
opends/src/server/org/opends/server/types/DebugLogLevel.java
opends/src/server/org/opends/server/types/DebugLogSeverity.java (deleted)
opends/src/server/org/opends/server/types/DereferencePolicy.java
opends/src/server/org/opends/server/types/DirectoryConfig.java
opends/src/server/org/opends/server/types/DirectoryException.java
opends/src/server/org/opends/server/types/DisconnectReason.java
opends/src/server/org/opends/server/types/Entry.java
opends/src/server/org/opends/server/types/ErrorLogCategory.java
opends/src/server/org/opends/server/types/ErrorLogSeverity.java
opends/src/server/org/opends/server/types/ExistingFileBehavior.java
opends/src/server/org/opends/server/types/FilePermission.java
opends/src/server/org/opends/server/types/FilterType.java
opends/src/server/org/opends/server/types/HostPort.java
opends/src/server/org/opends/server/types/InitializationException.java
opends/src/server/org/opends/server/types/IntermediateResponse.java
opends/src/server/org/opends/server/types/InvokableMethod.java
opends/src/server/org/opends/server/types/LDAPURL.java
opends/src/server/org/opends/server/types/LDIFExportConfig.java
opends/src/server/org/opends/server/types/LDIFImportConfig.java
opends/src/server/org/opends/server/types/LockManager.java
opends/src/server/org/opends/server/types/LockType.java
opends/src/server/org/opends/server/types/MatchingRuleUse.java
opends/src/server/org/opends/server/types/MemberList.java
opends/src/server/org/opends/server/types/MembershipException.java
opends/src/server/org/opends/server/types/Modification.java
opends/src/server/org/opends/server/types/ModificationType.java
opends/src/server/org/opends/server/types/NameForm.java
opends/src/server/org/opends/server/types/NamedCharacterSet.java
opends/src/server/org/opends/server/types/NullOutputStream.java
opends/src/server/org/opends/server/types/ObjectClass.java
opends/src/server/org/opends/server/types/ObjectClassType.java
opends/src/server/org/opends/server/types/OperationType.java
opends/src/server/org/opends/server/types/RDN.java
opends/src/server/org/opends/server/types/RestoreConfig.java
opends/src/server/org/opends/server/types/ResultCode.java
opends/src/server/org/opends/server/types/SSLClientAuthPolicy.java
opends/src/server/org/opends/server/types/Schema.java
opends/src/server/org/opends/server/types/SearchFilter.java
opends/src/server/org/opends/server/types/SearchResultEntry.java
opends/src/server/org/opends/server/types/SearchResultReference.java
opends/src/server/org/opends/server/types/SearchScope.java
opends/src/server/org/opends/server/types/SynchronizationProviderResult.java
opends/src/server/org/opends/server/types/WritabilityMode.java
opends/src/server/org/opends/server/types/operation/InProgressOperation.java
opends/src/server/org/opends/server/types/operation/PluginOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationAbandonOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationAddOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationBindOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationCompareOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationDeleteOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationExtendedOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationModifyDNOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationModifyOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationSearchOperation.java
opends/src/server/org/opends/server/types/operation/PostOperationUnbindOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseAddOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseBindOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseCompareOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseDeleteOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseExtendedOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseModifyDNOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseModifyOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseOperation.java
opends/src/server/org/opends/server/types/operation/PostResponseSearchOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationAddOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationBindOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationCompareOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationDeleteOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationExtendedOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationModifyDNOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationModifyOperation.java
opends/src/server/org/opends/server/types/operation/PreOperationOperation.java
opends/src/server/org/opends/server/types/operation/PreParseAbandonOperation.java
opends/src/server/org/opends/server/types/operation/PreParseAddOperation.java
opends/src/server/org/opends/server/types/operation/PreParseBindOperation.java
opends/src/server/org/opends/server/types/operation/PreParseCompareOperation.java
opends/src/server/org/opends/server/types/operation/PreParseDeleteOperation.java
opends/src/server/org/opends/server/types/operation/PreParseExtendedOperation.java
opends/src/server/org/opends/server/types/operation/PreParseModifyDNOperation.java
opends/src/server/org/opends/server/types/operation/PreParseModifyOperation.java
opends/src/server/org/opends/server/types/operation/PreParseOperation.java
opends/src/server/org/opends/server/types/operation/PreParseUnbindOperation.java
opends/src/server/org/opends/server/types/operation/SearchEntrySearchOperation.java
opends/src/server/org/opends/server/types/operation/SearchReferenceSearchOperation.java
opends/src/server/org/opends/server/types/operation/package-info.java
opends/src/server/org/opends/server/util/AddChangeRecordEntry.java
opends/src/server/org/opends/server/util/Base64.java
opends/src/server/org/opends/server/util/ChangeOperationType.java
opends/src/server/org/opends/server/util/ChangeRecordEntry.java
opends/src/server/org/opends/server/util/DeleteChangeRecordEntry.java
opends/src/server/org/opends/server/util/EMailMessage.java
opends/src/server/org/opends/server/util/LDIFException.java
opends/src/server/org/opends/server/util/LDIFReader.java
opends/src/server/org/opends/server/util/LDIFWriter.java
opends/src/server/org/opends/server/util/ModifyChangeRecordEntry.java
opends/src/server/org/opends/server/util/ModifyDNChangeRecordEntry.java
opends/src/server/org/opends/server/util/MultiOutputStream.java
opends/src/server/org/opends/server/util/PasswordReader.java
opends/src/server/org/opends/server/util/ServerConstants.java
opends/src/server/org/opends/server/util/StaticUtils.java
opends/src/server/org/opends/server/util/TimeThread.java
opends/src/server/org/opends/server/util/Validator.java
opends/src/server/org/opends/server/util/args/Argument.java
opends/src/server/org/opends/server/util/args/ArgumentException.java
opends/src/server/org/opends/server/util/args/ArgumentParser.java
opends/src/server/org/opends/server/util/args/BooleanArgument.java
opends/src/server/org/opends/server/util/args/FileBasedArgument.java
opends/src/server/org/opends/server/util/args/IntegerArgument.java
opends/src/server/org/opends/server/util/args/MultiChoiceArgument.java
opends/src/server/org/opends/server/util/args/StringArgument.java
opends/src/server/org/opends/server/util/args/SubCommand.java
opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
opends/src/server/org/opends/server/util/args/package-info.java
opends/src/server/org/opends/server/util/package-info.java
opends/tests/unit-tests-testng/src/server/org/opends/server/TestCaseUtils.java |