21 Aug, 2007
2 commits
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2722 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
attribute uniqueness. The plugin has the following features: - provides ability to specify a group of attribute types that must have unique values; if no attribute types are specified then the plugin allows the operations to proceed with no checking - provides ability to specify a set of base DNs that limit the scope of the uniqueness checking; if no base DNs are specified the server's public naming contexts are used - allow changing of these configuration options without server restart - allows the uniqueness checking to span multiple base DNs; if the server's public naming contexts are used, then the specified attribute type values must be globally unique within the server Two configuration attributes have been added: 1. ds-cfg-unique-attribute-type used to specify the unique attribute type(s) 2. ds-cfg-unique-attribute-base-dn used specify the base DN(s) to limit the search scope A disabled plugin configuration has been added to the config.ldif file for the uid attribute: dn: cn=UID Unique Attribute ,cn=Plugins,cn=config objectClass: top objectClass: ds-cfg-plugin objectClass: ds-cfg-unique-attribute-plugin cn: UID Unique Attribute ds-cfg-plugin-class: org.opends.server.plugins.UniqueAttributePlugin ds-cfg-plugin-enabled: false ds-cfg-plugin-type: preOperationAdd ds-cfg-plugin-type: preOperationModify ds-cfg-plugin-type: preOperationModifyDN ds-cfg-unique-attribute-type: uid Issue 258. git-svn-id: https://svn.forgerock.org/opendj/trunk@2721 41b1ffd8-f28e-4786-ab96-9950f0a78031
20 Aug, 2007
6 commits
-
…eicfy the server root for DirectoryServer operations (issue 2121) git-svn-id: https://svn.forgerock.org/opendj/trunk@2711 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
in Java 6. git-svn-id: https://svn.forgerock.org/opendj/trunk@2709 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
allows third-party LDAP SDKs to be used to perform internal operations within the server. Rather than performing network communication, the custom socket decodes the request written to it, converts it to an internal operation, processes the request, and encodes the response so that it can be read from the socket by the LDAP SDK. This has been tested with both the Mozilla LDAP SDK for Java (which requires a trivial custom LDAPSocketFactory implementation) and JNDI (which requires a custom property to be set). git-svn-id: https://svn.forgerock.org/opendj/trunk@2706 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
- make toVerboseString method private in implementation classes. - make toVerboseString use StringBuilder instead of string concat. - make toVerboseString use ServerConstants.EOL where required. git-svn-id: https://svn.forgerock.org/opendj/trunk@2694 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2688 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
the consistency in the replication topology in the (hopefully) rare case when hardware failure or software bugs could break it (issue 788 and 791) There are several parts in this commit : - a new log file called replication was added. It's purpose is to store all the consistency errors detected by the replication with enough information to allow the administrator to repair the problem. This file is configured by default and contain only the replication errors, To achieve the a new log severity keyword "None" has been created so that the associated error log publisher does not print any error not related to replication. (I will update the reference guide after this commit) - a new control (the replication repair control) has been added. When this control is used in a MODIFY, DELETE, ADD or MODDN operation the operation is marked as a non-replicated replication operation. This cause the following : - The operation is allowed to modify attributes that are normally not allowed to be modified or added (NO-USER-MODIFCATION) such as entryuuid and ds-sync-hist To achieve this I add to move those checks from the AddOperationBasis.getObjectClasses() or AddOperationBasis.getUserAttributes() to the LocalBackendWorkflowElement.processAdd() but this has already been reviewed. - no change number is associated to the operation. - the operation is not published to the replication server and is therefore a local only operation. - the replication don't try to solve conflict or generate historical information for this operation. The intended usage of this control is that the administrator will check for errors in the replication log, determine the entries that have inconsistent values and use the control to repair them. I will write some documentation explaining in more details how to do this. - even though this is not related to replication repair I also took advantage of this change to add the multimaster replication synchronization provider in the default configuration. This will make configuration of replication using dsconfig easier because the user will now only need to configure the replication servers and replication domains. git-svn-id: https://svn.forgerock.org/opendj/trunk@2687 41b1ffd8-f28e-4786-ab96-9950f0a78031
19 Aug, 2007
2 commits
-
- fix bugs found by entry cache unit tests. - sanitize backend map maintenance. git-svn-id: https://svn.forgerock.org/opendj/trunk@2684 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
A new global property has been added to be able to specify to use a ClassLoader that limits the search of the bundles to the jar containint the Messages class i f we are running WebStart setup/upgrader. This property is only set in the quic ksetup.properties file, so the current behavior is preserved for all the other m essages files. The MessageDescriptor constructors have also been modified and n ow require a ClassLoader as parameter. With this modifications we have a ClassL oader defined in QuickSetupMessages.java that will only be used if we are runnin g QuickSetup. The JnlpProperties have been moved to SetupUtils so that the mess ages classes only depend on classes on the org.opends.server classes that can be compiled independently. git-svn-id: https://svn.forgerock.org/opendj/trunk@2682 41b1ffd8-f28e-4786-ab96-9950f0a78031
18 Aug, 2007
1 commit
-
The code was returning the raw version of the Message object that was being passed as parameter instead of the modified String. git-svn-id: https://svn.forgerock.org/opendj/trunk@2681 41b1ffd8-f28e-4786-ab96-9950f0a78031
17 Aug, 2007
12 commits
-
- Format string cannot end with '.' (QUICKSETUP and ADMIN_TOOLS excluded) - Categories cannot span multiple files and files cannot define messages in multiple categories Addional methods for MessageDescriptorRegistry to access descriptors by defining class Corrected some offending format strings Corrected message property file boilerplates and help comments git-svn-id: https://svn.forgerock.org/opendj/trunk@2677 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…ect as an ADSContext.ServerProperty. Use the String representation instead. git-svn-id: https://svn.forgerock.org/opendj/trunk@2675 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…turns Message objects. git-svn-id: https://svn.forgerock.org/opendj/trunk@2674 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2672 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
Fix a bug that made the label of the server location not to appear as invalid when we detected that the installation path was not valid. Fix a bug in UIFactory so that the invalid labels have again a red color. git-svn-id: https://svn.forgerock.org/opendj/trunk@2671 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… quicksetup.jar (OpenDsException) and fix some code to also add the messages properties files. Only QuickSetupMessages are required, so these are the only messages that are being added. git-svn-id: https://svn.forgerock.org/opendj/trunk@2670 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… This biggest issues here is the reversion of the Validator class to use String based messages instead of the message framework as the class is only used internally. git-svn-id: https://svn.forgerock.org/opendj/trunk@2669 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… ADS and of guitools). git-svn-id: https://svn.forgerock.org/opendj/trunk@2668 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
The DatabasesTableModel now returns for several values Message objects. Update the DatabaseTableCellRenderer to take this into account. git-svn-id: https://svn.forgerock.org/opendj/trunk@2667 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… listener state as it does for the other columns. git-svn-id: https://svn.forgerock.org/opendj/trunk@2666 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
1. Provide a fix for the CLI part of issue 1894 (consider replication in uninstall). The command line now proposes to remove references in remote servers of the server that is being uninstalled. 2. Add options to specify to uninstall only some parts of the server as appears in http://bde.central.sun.com/projects/opendsw/cmdline/commandmatrix.html. 3. Fix some bugs in the messages. 4. The fix of 1894 includes some code to display certificates to the user so that they can be viewed and accepted interactively. 5. Separate the uninstall command-line into two different command lines (uninstall-gui and uninstall) as appears in http://bde.central.sun.com/projects/opendsw/cmdline/commandmatrix.html. git-svn-id: https://svn.forgerock.org/opendj/trunk@2665 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
initialize the proper internal structures so that OpenDS code can be more easily used for client-side applications that could benefit from the code but don't want or need to be running in the same JVM as the server. Also, update the DirectoryServer.bootstrapClient() method (which is what EmbeddedUtils.initializeForClientUse() uses behind the scenes) can be called multiple times on the same server instance without interfering with any previous initialization that might have been done. In short, it will ensure that this initialization occurs no more than once during the life of the DirectoryServer object instance. git-svn-id: https://svn.forgerock.org/opendj/trunk@2664 41b1ffd8-f28e-4786-ab96-9950f0a78031
16 Aug, 2007
10 commits
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2662 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
allows you to create a new internal client connection authenticated as a given user by providing only that user's DN (as opposed to having to create an AuthenticationInfo object for the user in order to use the other constructor). git-svn-id: https://svn.forgerock.org/opendj/trunk@2660 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
restarting correctly when performing an in-core restart. Also, eliminate a potential null pointer exception if an admin alert was generated early in the server startup process. OpenDS Issue Number: 1518 git-svn-id: https://svn.forgerock.org/opendj/trunk@2659 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… root during the directory configuration. This is addressed by adding a hidden arg to ConfigureDS for the server root that the installer uses for the specification of the directory. This also fixes SchemaConfigManager so that it doesn' throw an NPE if the server root happens to not be specified and the schema directory cannot be determined. git-svn-id: https://svn.forgerock.org/opendj/trunk@2658 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2657 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
- Fixes an error introduced in with Application.ErrorPrintStream no longer overrode println(String) as was causing a stack overflow. - Fixes a problem with Message in which raw format strings were run through the formatter with illegal argument specifiers which would throw an exception. git-svn-id: https://svn.forgerock.org/opendj/trunk@2656 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2652 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2651 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
whether any or all of the classes in that package are intended to be part of the public API. Further, mark all classes that we intend to be part of the public API with the @PublicAPI annotation to indicate the ways in which they may be used. Note that the use of these annotations and the ultimate determination as to what is in our public API and the ways in which those elements may be used still needs to be carefully reviewed before the 1.0 release. Also, perform minor cleanup in various places througout the code. This includes: - Eliminate the use of protected fields in classes that are in the org.opends.server.api package (and the classes that extend them). The use of protected fields can be troublesome, and there are generally better ways to accomplish the same thing. - Eliminate the use of the {@inheritDoc} Javadoc tag in classes that are intended to be part of the public API. Some IDEs don't resolve {@inheritDoc} to show the actual documentation. Further, there were problems in the way that some instances of {@inheritDoc} were used, namely having a method sourced from multiple parents, and in some cases {@inheritDoc} was used to refer to code defined outside of the OpenDS codebase, which will not be properly handled by the javadoc utility. - Update a number of public API classes to mark them as final if we do not intend for them to be overridden. Further, for some classes that cannot be marked final, mark some methods final if we do not intend for those methods to be overridden. git-svn-id: https://svn.forgerock.org/opendj/trunk@2650 41b1ffd8-f28e-4786-ab96-9950f0a78031 -
version with arguments (Object, Object...) has been renamed to fromObject, as it may have been seen as a conflict with one or more other raw methods. There was only a single existing use of the renamed method, and it has been updated. git-svn-id: https://svn.forgerock.org/opendj/trunk@2649 41b1ffd8-f28e-4786-ab96-9950f0a78031
15 Aug, 2007
6 commits
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2648 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
had previously used {@inheritDoc} but after recent message changes now no longer inherits from any parent class and was therefore generating a javadoc warning. git-svn-id: https://svn.forgerock.org/opendj/trunk@2647 41b1ffd8-f28e-4786-ab96-9950f0a78031 -
…d having locking problems and the reactivity of the Graphical interfaces using this classes improves a lot. git-svn-id: https://svn.forgerock.org/opendj/trunk@2645 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
… reodering the parameters of one of the methods git-svn-id: https://svn.forgerock.org/opendj/trunk@2644 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
git-svn-id: https://svn.forgerock.org/opendj/trunk@2643 41b1ffd8-f28e-4786-ab96-9950f0a78031
-
…ssues to be resolved before we can declare that we are internationalized but this commit covers the bulk of changes needed at this time. In general this commit converts any string values that might potentially be shown to an end user (client or administrator) to a new class called Message. This includes exception messages, error log messages, alert and email text, labels, and CLI output. Message's main interface includes methods for rendering itself as a string in the default locale using toString() or a specified locale toString(Locale). In addition to addressing localization, this would allow us to potentially support controls allowing clients to set a preferred locale for server communication or output log messages in different languages. Message extends CharSequence so it can be used in some places where strings are currently used with not code change (e.g. writing to a buffer) as well as allowing messages to be composed of one another. In order to create localized messages, instead of adding them to the *Messages.java class, you define them in the corresponding properties files. In general the property file keys are used to derive the new messages severity, category, and ordinal. There are directives that can be used in the properties file in order to avoid doing this however. For instance all the properties files used internally include the 'global.category' directive at the top of the file that instructs the generator to make all the following message belong to a single category. So for internal messages the property value key will be as follows: [SEVERITY]_[DESCRIPTION]_[ORDINAL] See the properties files themselves for more information. Once your messages are in the properties file you can use the ant target 'generatemessages' to create create MessageDescriptor objects that are referred to in the Java code. In the code you might think of these objects as replacing the int-valued message IDs. To create messages you call MessageDescriptor.get() which replaces MessageHandler.getMessage(). It might be helpful then to try to define your messages before referring to them in your code since until you run 'generatemessages' you won't have any Java-code with with to create your message objects. In order to support non-localizable text in messages (host names, DN's, etc.) Message's can be created from String values by calling Message.raw(String). In this way it is also possible to circumvent the intention of changing the APIs to use Message objects instead of Strings which is to support writing of localizable messages. This method is currently used in the code as a crutch for areas of the code that need internationalization (tagged with a 'TODO: i18n' comment). It might also be used by 3rd party developers that don't intend to localize their products. However for internal use we should not be using this method to create Messages for text that is locale sensitive. Additionally this code includes a MessageBuilder that can be used in much the same way that a StringBuilder can be used. It has a method toMessage() that can be used to generate a message object when needed. At this time this method just converts the buffer contents to a raw, unlocalizable message so this will need to addressed in the future. Some other issues: - While all of the unit tests pass after this commit, there may be issues in the code where we have no or minimal test coverage. This includes much of the setup and GUI tools packages for which I have not done any testing but will begin after this commit. - The new message related Java sources are contained in package org.opends.messages and organized in a new module src/module modeled somewhat after the admin module: src/messages/src (non-generated Java source files) src/messages/generated (generated source files) src/messages/messages (properties files for messages) If you run the code from within your IDE you will have to mark all messages/src, messages/generated and messages as source directories. - To generated the MessageDescriptor files you invoke the 'generatemessages' target. - If you run the code from within your IDE you will probably ne - This commit would change the plugin API. Here are the changes caught by DirectoryServerPluginTestCase: doShutdown(String)->doShutdown(Message) doPostDisconnect(PostDisconnectPluginResult,ClientConnection,DisconnectReason,int,String) -> doPostDisconnect(PostDisconnectPluginResult,ClientConnection,DisconnectReason,Message); - This commit aligns the entire code-base behind the new Formatter class (printf style formattings like %s) as opposed to the older MessageFormat style (using curly braces for message arguments). This allows us to provide more type safety for message arguments. So for instance you can include a %c argument specifier in your format string and the MessageDescriptor will enforce specification of a Character as message creation time. - Not all of the config framework has not been converted to use Messages. Perhaps as some point we might have a 'message' syntax for locale-sensitive textural data. I'm sure Matt will have ideas about this. - In addition to Message, MessageDescriptor and MessageBuilder, the org.opends.server.message package includes enums for Category and Severity that replace the definitions formerly found in MessageHandler. - The interface for the ErrorLogger has been simplified to allow logging of messages using a single Message parameter. The severity and category of the message will be derived from the Message itself instead of specified as arguments when a message is logged. - I will provide more documentation about this plumbing on the Wiki shortly. - I will expand on the included tests soon. git-svn-id: https://svn.forgerock.org/opendj/trunk@2641 41b1ffd8-f28e-4786-ab96-9950f0a78031
14 Aug, 2007
1 commit
-
these files are properly created from now on. git-svn-id: https://svn.forgerock.org/opendj/trunk@2620 41b1ffd8-f28e-4786-ab96-9950f0a78031