You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2016/06/17 13:47:30 UTC

svn commit: r1748857 - in /directory/site/trunk/content/api: download-old-versions.mdtext news.mdtext user-guide/6.35-value.mdtext user-guide/6.5-ava.mdtext

Author: elecharny
Date: Fri Jun 17 13:47:30 2016
New Revision: 1748857

URL: http://svn.apache.org/viewvc?rev=1748857&view=rev
Log:
Added info for Apache LDAP API 1.0.0-RC1

Modified:
    directory/site/trunk/content/api/download-old-versions.mdtext
    directory/site/trunk/content/api/news.mdtext
    directory/site/trunk/content/api/user-guide/6.35-value.mdtext
    directory/site/trunk/content/api/user-guide/6.5-ava.mdtext

Modified: directory/site/trunk/content/api/download-old-versions.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/download-old-versions.mdtext?rev=1748857&r1=1748856&r2=1748857&view=diff
==============================================================================
--- directory/site/trunk/content/api/download-old-versions.mdtext (original)
+++ directory/site/trunk/content/api/download-old-versions.mdtext Fri Jun 17 13:47:30 2016
@@ -25,6 +25,7 @@ Notice: Licensed to the Apache Software
 
 | Version| Download Link | Javadoc & XRef |  Date |
 |:-:|:-:|:-:|:-:|
+| Apache LDAP API 1.0.0-M33 | [Download](http://archive.apache.org/dist/directory/api/dist/1.0.0-M33) | [Javadoc](http://directory.apache.org/api/gen-docs/1.0.0-M33/apidocs/), [Xref](http://directory.apache.org/api/gen-docs/1.0.0-M33/xref/) |21/Dec/2015 |
 | Apache LDAP API 1.0.0-M32 | [Download](http://archive.apache.org/dist/directory/api/dist/1.0.0-M32) | [Javadoc](http://directory.apache.org/api/gen-docs/1.0.0-M32/apidocs/), [Xref](http://directory.apache.org/api/gen-docs/1.0.0-M32/xref/) |19/Oct/2015 |
 | Apache LDAP API 1.0.0-M31 | [Download](http://archive.apache.org/dist/directory/api/dist/1.0.0-M31) | [Javadoc](http://directory.apache.org/api/gen-docs/1.0.0-M31/apidocs/), [Xref](http://directory.apache.org/api/gen-docs/1.0.0-M31/xref/) |05/Jul/2015 |
 | Apache LDAP API 1.0.0-M30 | [Download](http://archive.apache.org/dist/directory/api/dist/1.0.0-M30) | [Javadoc](http://directory.apache.org/api/gen-docs/1.0.0-M30/apidocs/), [Xref](http://directory.apache.org/api/gen-docs/1.0.0-M30/xref/) |02/May/2015 |

Modified: directory/site/trunk/content/api/news.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/news.mdtext?rev=1748857&r1=1748856&r2=1748857&view=diff
==============================================================================
--- directory/site/trunk/content/api/news.mdtext (original)
+++ directory/site/trunk/content/api/news.mdtext Fri Jun 17 13:47:30 2016
@@ -1,4 +1,49 @@
 # News
+<h2 class="news">Apache Directory LDAP API 1.0.0-RC1 released <em>posted on June 17th, 2016</em></h2>
+
+The Apache Directory Team is proud to announce the availability of version 1.0.0-RC1 of the Apache Directory LDAP API, the first release candidate before the GA.
+
+The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).
+
+This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.
+
+It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.
+
+Here is the list of fixed issues and added features :
+
+<b>Bugs :</b>
+
+  * [DIRAPI-243](https://issues.apache.org/jira/browse/DIRAPI-243) - Cannot get AttributeType from Attribute
+  * [DIRAPI-244](https://issues.apache.org/jira/browse/DIRAPI-244) - Error in loading schema
+  * [DIRAPI-249](https://issues.apache.org/jira/browse/DIRAPI-249) - Performance issue LDAP API 1.0.0-M31
+  * [DIRAPI-265](https://issues.apache.org/jira/browse/DIRAPI-265) - Deserialized Dn loses bytes field resulting in null dn, treated as Root DSE when encoded in ModifyRequests
+  * [DIRAPI-266](https://issues.apache.org/jira/browse/DIRAPI-266) - ResultCodeEnum 'NO_SUCH_OBJECT' should have message 'noSuchObject'
+  * [DIRAPI-273](https://issues.apache.org/jira/browse/DIRAPI-273) - api-ldap-net-mina bundle remains in STARTING mode
+  * [DIRAPI-274](https://issues.apache.org/jira/browse/DIRAPI-274) - The AttributeTypeHolder.toLdif method does not convert the m-usage Attribute correctly
+  * [DIRAPI-275](https://issues.apache.org/jira/browse/DIRAPI-275) - Many AttributeType are defined with the wrong m-usage
+  * [DIRAPI-280](https://issues.apache.org/jira/browse/DIRAPI-280) - The LdapNetworkConnection.getTimeout() method is wrong
+  * [DIRAPI-245](https://issues.apache.org/jira/browse/DIRAPI-245) - LdifUtils.convertToLdif(LdifEntry, int) does not honor the 'length' parameter fully
+  * [DIRAPI-258](https://issues.apache.org/jira/browse/DIRAPI-258) - Add support for the Microsoft LDAP server show deleted objects control
+  * [DIRAPI-260](https://issues.apache.org/jira/browse/DIRAPI-260) - OID can't process nodes which are bigger than a long
+  * [DIRAPI-261](https://issues.apache.org/jira/browse/DIRAPI-261) - OID don't encode correctly joint-iso-itu-t arcs
+  * [DIRAPI-262](https://issues.apache.org/jira/browse/DIRAPI-262) - misleading message "The matched Dn should not be set when the result code is one of..."
+
+<b>Improvements :</b>
+
+  * [DIRAPI-282](https://issues.apache.org/jira/browse/DIRAPI-282) - Detection of timeout in cursor.next()
+
+
+<b>New Features :</b>
+
+  * [DIRAPI-269](https://issues.apache.org/jira/browse/DIRAPI-269) - Add support for modular crypt format password
+
+
+<b>Tasks :</b>
+
+  * [DIRAPI-270](https://issues.apache.org/jira/browse/DIRAPI-270) - Remove the dependency on commons.io
+
+Downloads are available [here](downloads.html) and the User's Guide is [there](user-guide.html)
+
 <h2 class="news">Apache Directory LDAP API 1.0.0-M33 released <em>posted on December 21th, 2015</em></h2>
 
 The Apache Directory Team is proud to announce the availability of version 1.0.0-M33 of the Apache Directory LDAP API.

Modified: directory/site/trunk/content/api/user-guide/6.35-value.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/user-guide/6.35-value.mdtext?rev=1748857&r1=1748856&r2=1748857&view=diff
==============================================================================
--- directory/site/trunk/content/api/user-guide/6.35-value.mdtext (original)
+++ directory/site/trunk/content/api/user-guide/6.35-value.mdtext Fri Jun 17 13:47:30 2016
@@ -24,4 +24,60 @@ Notice: Licensed to the Apache Software
 
 # 6.35 - Value
 
->**Note:** Contents for this page will be added soon...
\ No newline at end of file
+The _Value_ class is used to store an attribute's value. Such a value can be either a String or a byte[], depending on the nature of the AttributeType (the default is that the _Value_ is a String). Each value is associated to an AttributeType, and is used in an Antry or a DN.
+
+We can create schema aware _Value_, or just plain _Value_. Having a schema aware _Value_ allows further controls to be made on the value we inject : its syntax will be checked against the _AttributeType_ syntax.
+
+_Value_ is also a _Externalizable_ class.
+
+_Value_ instances are immutable.
+
+## Creating a value
+
+There are two ways to create a value :
+- using a constructor
+- using a static factory (useful for deserialization)
+
+You can create the value passing it an *AttributeType*, or without it. Here are the possible constructors :
+
+<CENTER>
+| With an AttributeType | Without an attributeType | Description |
+|:-:|:-:|:-:|
+| Value( AttributeType, byte[] upValue ) | Value( byte[] upValue ) | Creates a Value with a binary content |
+| Value( AttributeType, String upValue ) | Value( String upValue ) | Creates a Value with a String content |
+| Value( AttributeType, Value ) | - | Create a new Value from an existing one, applying the SchemaManager on it |
+</CENTER>
+
+The third constructor is quite specific : as _Value_ is immutable, it allows you to associate a SchemaManager to a _Value_ instance (creating a new _Value_ in the process). The new _Value_ instance will be schema aware.
+
+## Operations on a Value
+
+You mostly can consult the content of the _Value_, and its status. Here is the list of common operations :
+
+<CENTER>
+| Operation | Description |
+|:-:|:-:|
+| clone() | Clone the current Value, creating a new instance |
+| compareTo( byte[] ) | Compare the content of the current value to the given byte[] |
+| compareTo( String ) | Compare the content of the current value to the given String | 
+| compareTo( Value ) | Compare the content of the current value to the given Value |
+| deserialize( byte[], int ) | Create a Value deserializing it from the byte[], starting at a given position | 
+| equals( Object ) | Tells if the current Value is equal to the provided object |
+| getAttributeType() | Get back the AttributeType associated with this value, if any |
+| getBytes() | Get the byte[] representation of this Value |
+| getValue() | Get the Value as a String, if the Value is Human Readable |
+| hashCode() | Compute the Value hashcode |
+| isHumanReadable() | Tells if the Value is Humane Readable (ie, a String) |
+| isInstanceOf( AttributeType ) | Tells if the Value is an instance of a given AttributeType, or of one of its parent |
+| isNull() | Tells if the contained value is null |
+| isSchemaAware() | Tells if teh Value is schema aware |
+| isValid( SyntaxChecker ) | Check the contained value |
+| length() | Returns the contained value's length (number of chars for a String, number of bytes for a byte[]) |
+| readExternal( ObjectInput ) | Read a new Value from a stream of bytes |
+| serialize( byte[], int ) | Write the Value into a stream of bytes |
+| toString() | Returns a String representation of the Value instance  |
+| writeExternal( ObjectOutput ) | Write the Value into a stream |
+| 
+</CENTER>
+
+

Modified: directory/site/trunk/content/api/user-guide/6.5-ava.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/user-guide/6.5-ava.mdtext?rev=1748857&r1=1748856&r2=1748857&view=diff
==============================================================================
--- directory/site/trunk/content/api/user-guide/6.5-ava.mdtext (original)
+++ directory/site/trunk/content/api/user-guide/6.5-ava.mdtext Fri Jun 17 13:47:30 2016
@@ -35,36 +35,36 @@ where 'dc' is the _AttributeType_ and 'e
 
 The value can be a binary or a String value, depending on the _AttributeType_.
 
-Again, we can create schema aware _Ava_, or just plain _Ava_. Having a schema aware _Ava_ allows further controls to be made o the value we inject : its syntax will be checked against the _AttributeType_ syntax.
+We can create schema aware _Ava_, or just plain _Ava_. Having a schema aware _Ava_ allows further controls to be made on the value we inject : its syntax will be checked against the _AttributeType_ syntax.
 
 Most of the time, one will not have to create or manipulate an _Ava_, as it's an internal element of a _Rdn_.
 
-_AVA_ is a final class, it can be schema aware. It's also a _Externalizable_ class.
+_Ava_ is also a _Externalizable_ class.
+
+_Ava_ instances are immutable.
 
 
 ## Usage
 
-As for the *_Dn_ and _Rdn_ classes, we have to hold two representation for the interned _AttributeType_ and _Value_ : the User Provided form, and the normalized form. If the _AVA_ is schema aware, we will use the AttributeType's _Oid_ as the normalized form for the _AttributeType_, and the value will be normalized accordingly to the equality matching rule the _AttributeType_ defines, if any. Let's see some examples.
+As for the _Dn_ and _Rdn_ classes, we have to hold two representation for the interned _AttributeType_ and _Value_ : the User Provided form, and the escaped form (which is used in filters). If the _AVA_ is schema aware, the escaped form will be computed, otherwise we store the user provided form instead. Let's see some examples.
 
 
 ### Schema Aware Ava
 
-Here we will create an _AVA_ and check that the user provided values are preserved. The _getUpName()_ and _getString()_ methods will give back this user provided form.
+Here we will create an _AVA_ and check that the user provided values are preserved. The _getName()_ and _getString()_ methods will give back this user provided form, in a form that allows it to be used in a Filter.
 
     :::Java
     Ava atav = new Ava( schemaManager, " CommonName ", " This is    a TEST " );
     System.out.println( "toString     : '" + atav.toString() + "'" );
-    System.out.println( "Normalized   : '" + atav.getNormName() + "'" );
-    System.out.println( "UserProvided : '" + atav.getUpName() + "'" );
+    System.out.println( "Escaped      : '" + atav.getEscaped() + "'" );
+    System.out.println( "UserProvided : '" + atav.getName() + "'" );
 
 will produce :
 
     :::Java
-    ToString     : ' CommonName = This is    a TEST '
-    Normalized   : '2.5.4.3=this is a test'
-    UserProvided : ' CommonName = This is    a TEST '
-
-Note that the normalized value has transformed the _AttributeType_ and now uses its _Oid_, and the value has been lower cased and the superfluous spaces have been removed, as dictated by the _CaseIgnoreMatch_ _MatchingRule (e)_
+    toString     : ' CommonName =\ This is    a TEST\ '
+    Escaped      : ' CommonName =\ This is    a TEST\ '
+    UserProvided : ' CommonName =\ This is    a TEST\ '
 
 
 *{+}Not Schema Aware{+}*