You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bu...@apache.org on 2015/01/18 10:09:32 UTC

svn commit: r936606 - in /websites/staging/directory/trunk/content: ./ api/user-guide.html api/user-guide/2.6-modifying.html

Author: buildbot
Date: Sun Jan 18 09:09:32 2015
New Revision: 936606

Log:
Staging update by buildbot for directory

Modified:
    websites/staging/directory/trunk/content/   (props changed)
    websites/staging/directory/trunk/content/api/user-guide.html
    websites/staging/directory/trunk/content/api/user-guide/2.6-modifying.html

Propchange: websites/staging/directory/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Jan 18 09:09:32 2015
@@ -1 +1 @@
-1652653
+1652711

Modified: websites/staging/directory/trunk/content/api/user-guide.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide.html Sun Jan 18 09:09:32 2015
@@ -186,7 +186,7 @@ Other pages are finished (but may be rev
 <li><a href="user-guide/2.3-searching.html">2.3 - Searching (...)</a></li>
 <li><a href="user-guide/2.4-adding.html">2.4 - Adding entries</a></li>
 <li><a href="user-guide/2.5-deleting.html">2.5 - Deleting entries</a></li>
-<li><a href="user-guide/2.6-modifying.html">2.6 - Modifying entries (e)</a></li>
+<li><a href="user-guide/2.6-modifying.html">2.6 - Modifying entries</a></li>
 <li><a href="user-guide/2.7-moving-renaming.html">2.7 - Moving an renaming entries (e)</a></li>
 <li><a href="user-guide/2.8-comparing.html">2.8 - Comparing entries (e)</a></li>
 <li><a href="user-guide/2.9-exception-management.html">2.9 - Exception management (...)</a></li>

Modified: websites/staging/directory/trunk/content/api/user-guide/2.6-modifying.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/2.6-modifying.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/2.6-modifying.html Sun Jan 18 09:09:32 2015
@@ -224,29 +224,75 @@
 </pre></div>
 
 
-<p>results in : 
-    org.apache.directory.api.ldap.model.exception.LdapAttributeInUseException: ATTRIBUTE_OR_VALUE_EXISTS: failed for MessageType : MODIFY_REQUEST
-    Message ID : 3
-        Modify Request
-            Object : 'uid=Doe,dc=acme,dc=com'
-                Modification[0]
-                    Operation :  add
-                    Modification
-                        givenName: John
-                        givenName: Peter          <br />
-                Modification[1]
-                    Operation :  add
-                    Modification
-                        uid: Ted
-    org.apache.directory.api.ldap.model.message.ModifyRequestImpl@13532916: ERR_54 Cannot add a value which is already present : admin
-    at org.apache.directory.api.ldap.model.message.ResultCodeEnum.processResponse(ResultCodeEnum.java:2064)
-    at org.apache.directory.ldap.client.api.LdapNetworkConnection.modify(LdapNetworkConnection.java:2300)
-    at org.apache.directory.ldap.client.api.LdapNetworkConnection.modify(LdapNetworkConnection.java:2309)
-    ...</p>
+<p>results in : </p>
+<div class="codehilite"><pre><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">model</span><span class="o">.</span><span class="na">exception</span><span class="o">.</span><span class="na">LdapAttributeInUseException</span><span class="o">:</span> <span class="nl">ATTRIBUTE_OR_VALUE_EXISTS:</span> <span class="n">failed</span> <span class="k">for</span> <span class="n">MessageType</span> <span class="o">:</span> <span class="n">MODIFY_REQUEST</span>
+<span class="n">Message</span> <span class="n">ID</span> <span class="o">:</span> <span class="mi">3</span>
+    <span class="n">Modify</span> <span class="n">Request</span>
+        <span class="n">Object</span> <span class="o">:</span> <span class="err">&#39;</span><span class="n">uid</span><span class="o">=</span><span class="n">Doe</span><span class="o">,</span><span class="n">dc</span><span class="o">=</span><span class="n">acme</span><span class="o">,</span><span class="n">dc</span><span class="o">=</span><span class="n">com</span><span class="err">&#39;</span>
+            <span class="n">Modification</span><span class="o">[</span><span class="mi">0</span><span class="o">]</span>
+                <span class="n">Operation</span> <span class="o">:</span>  <span class="n">add</span>
+                <span class="n">Modification</span>
+                    <span class="nl">givenName:</span> <span class="n">John</span>
+                    <span class="nl">givenName:</span> <span class="n">Peter</span>            
+            <span class="n">Modification</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span>
+                <span class="n">Operation</span> <span class="o">:</span>  <span class="n">add</span>
+                <span class="n">Modification</span>
+                    <span class="nl">uid:</span> <span class="n">Ted</span>
+<span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">model</span><span class="o">.</span><span class="na">message</span><span class="o">.</span><span class="na">ModifyRequestImpl</span><span class="err">@</span><span class="mi">13532916</span><span class="o">:</span> <span class="n">ERR_54</span> <span class="n">Cannot</span> <span class="n">add</span> <span class="n">a</span> <span class="n">value</span> <span class="n">which</span> <span class="n">is</span> <span class="n">already</span> <span class="n">present</span> <span class="o">:</span> <span class="n">admin</span>
+<span class="n">at</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">model</span><span class="o">.</span><span class="na">message</span><span class="o">.</span><span class="na">ResultCodeEnum</span><span class="o">.</span><span class="na">processResponse</span><span class="o">(</span><span class="n">ResultCodeEnum</span><span class="o">.</span><span class="na">java</span><span class="o">:</span><span class="mi">2064</span><span class="o">)</span>
+<span class="n">at</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">client</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">LdapNetworkConnection</span><span class="o">.</span><span class="na">modify</span><span class="o">(</span><span class="n">LdapNetworkConnection</span><span class="o">.</span><span class="na">java</span><span class="o">:</span><span class="mi">2300</span><span class="o">)</span>
+<span class="n">at</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">client</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">LdapNetworkConnection</span><span class="o">.</span><span class="na">modify</span><span class="o">(</span><span class="n">LdapNetworkConnection</span><span class="o">.</span><span class="na">java</span><span class="o">:</span><span class="mi">2309</span><span class="o">)</span>
+<span class="o">...</span>
+</pre></div>
+
+
 <p>Here, we have tried to add the <em>uid</em> attribute which already exists, and the error trace says so.</p>
 <p>Anothe potential error you can get is when you try to add an attribute that is not allowed in an entry. This can be because the Entry ObjectClass does not allow such an attribute to be added, or because the server forbid you to modify the entry, due to the ACL that rules this entry.</p>
 <p>Last, not least, but this is quite obvious, the entry <em>must</em> exist !</p>
 <h3 id="removing-an-attribute">Removing an attribute</h3>
+<p>Removing an attribute is actually a bit simpler than adding an attribute, as you don't have to specify the values of the attribute to remove. Here is an exemple where we will remove the <em>giveName</em> attrinute from an entry :</p>
+<div class="codehilite"><pre><span class="o">...</span>
+<span class="n">Modification</span> <span class="n">deletedGivenName</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultModification</span><span class="o">(</span> <span class="n">ModificationOperation</span><span class="o">.</span><span class="na">REMOVE_ATTRIBUTE</span><span class="o">,</span> <span class="s">&quot;givenName&quot;</span> <span class="o">);</span>
+
+<span class="n">connection</span><span class="o">.</span><span class="na">modify</span><span class="o">(</span> <span class="s">&quot;uid=Doe,dc=acme,dc=com&quot;</span><span class="o">,</span> <span class="n">adeletedivenName</span> <span class="o">);</span>
+<span class="o">...</span>
+</pre></div>
+
+
+<p>Here, we have created a modification, specifying that the <em>givenName</em> attribute has to be removed, and we applied the modification on the entry.</p>
+<p>Again, you can delete more than one attribute from an entry, it's just a matter of creating more than one <em>Modification</em> instances and applying them to the entry.</p>
+<h4 id="errors_1">Errors</h4>
+<p>If you try to delete an attribute that does not exist in the entry, you will get this error :</p>
+<div class="codehilite"><pre><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">model</span><span class="o">.</span><span class="na">exception</span><span class="o">.</span><span class="na">LdapNoSuchAttributeException</span><span class="o">:</span> <span class="nl">NO_SUCH_ATTRIBUTE:</span> <span class="n">failed</span> <span class="k">for</span> <span class="n">MessageType</span> <span class="o">:</span> <span class="n">MODIFY_REQUEST</span>
+<span class="n">Message</span> <span class="n">ID</span> <span class="o">:</span> <span class="mi">3</span>
+    <span class="n">Modify</span> <span class="n">Request</span>
+        <span class="n">Object</span> <span class="o">:</span> <span class="err">&#39;</span><span class="n">uid</span><span class="o">=</span><span class="n">admin</span><span class="o">,</span><span class="n">ou</span><span class="o">=</span><span class="n">system</span><span class="err">&#39;</span>
+            <span class="n">Modification</span><span class="o">[</span><span class="mi">0</span><span class="o">]</span>
+                <span class="n">Operation</span> <span class="o">:</span>  <span class="n">delete</span>
+                <span class="n">Modification</span>
+                    <span class="nl">givenName:</span> <span class="o">(</span><span class="kc">null</span><span class="o">)</span>
+<span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">model</span><span class="o">.</span><span class="na">message</span><span class="o">.</span><span class="na">ModifyRequestImpl</span><span class="nd">@fbe6f598</span><span class="o">:</span> <span class="n">ERR_55</span> <span class="n">Trying</span> <span class="n">to</span> <span class="n">remove</span> <span class="n">an</span> <span class="n">non</span><span class="o">-</span><span class="n">existant</span> <span class="nl">attribute:</span> 
+<span class="n">attributetype</span> <span class="o">(</span> <span class="mf">2.5</span><span class="o">.</span><span class="mf">4.42</span> <span class="n">NAME</span> <span class="o">(</span> <span class="err">&#39;</span><span class="n">givenName</span><span class="sc">&#39; &#39;</span><span class="n">gn</span><span class="err">&#39;</span> <span class="o">)</span>
+    <span class="n">DESC</span> <span class="err">&#39;</span><span class="nl">RFC2256:</span> <span class="n">first</span> <span class="n">name</span><span class="o">(</span><span class="n">s</span><span class="o">)</span> <span class="k">for</span> <span class="n">which</span> <span class="n">the</span> <span class="n">entity</span> <span class="n">is</span> <span class="n">known</span> <span class="n">by</span><span class="err">&#39;</span>
+    <span class="n">SUP</span> <span class="n">name</span>
+    <span class="n">EQUALITY</span> <span class="n">caseIgnoreMatch</span>
+    <span class="n">SUBSTR</span> <span class="n">caseIgnoreSubstringsMatch</span>
+    <span class="n">SYNTAX</span> <span class="mf">1.3</span><span class="o">.</span><span class="mf">6.1</span><span class="o">.</span><span class="mf">4.1</span><span class="o">.</span><span class="mf">1466.115</span><span class="o">.</span><span class="mf">121.1</span><span class="o">.</span><span class="mi">15</span>
+    <span class="n">USAGE</span> <span class="n">userApplications</span>
+<span class="o">)</span>
+    <span class="n">at</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">model</span><span class="o">.</span><span class="na">message</span><span class="o">.</span><span class="na">ResultCodeEnum</span><span class="o">.</span><span class="na">processResponse</span><span class="o">(</span><span class="n">ResultCodeEnum</span><span class="o">.</span><span class="na">java</span><span class="o">:</span><span class="mi">2057</span><span class="o">)</span>
+    <span class="n">at</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">client</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">LdapNetworkConnection</span><span class="o">.</span><span class="na">modify</span><span class="o">(</span><span class="n">LdapNetworkConnection</span><span class="o">.</span><span class="na">java</span><span class="o">:</span><span class="mi">2300</span><span class="o">)</span>
+    <span class="n">at</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">ldap</span><span class="o">.</span><span class="na">client</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">LdapNetworkConnection</span><span class="o">.</span><span class="na">modify</span><span class="o">(</span><span class="n">LdapNetworkConnection</span><span class="o">.</span><span class="na">java</span><span class="o">:</span><span class="mi">2309</span><span class="o">)</span>
+    <span class="n">at</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">directory</span><span class="o">.</span><span class="na">shared</span><span class="o">.</span><span class="na">client</span><span class="o">.</span><span class="na">api</span><span class="o">.</span><span class="na">operations</span><span class="o">.</span><span class="na">ClientModifyRequestTest</span><span class="o">.</span><span class="na">testModifyRemoveAttribute</span><span class="o">(</span><span class="n">ClientModifyRequestTest</span><span class="o">.</span><span class="na">java</span><span class="o">:</span><span class="mi">302</span><span class="o">)</span>
+</pre></div>
+
+
+<p>Here, the entry does not contain the <em>givenName</em> attribute.</p>
+<p>Anothe potential error you can get is when you try to remove an attribute which is a mandatory attribute, per the entry's ObjectClass constraints.</p>
+<p>Otherwise, the server might forbid you to modify the entry, due to the ACL that rules this entry.</p>
+<p>Last, not least, but this is quite obvious, the entry <em>must</em> exist !</p>
+<h2 id="adding-removing-or-replacing-attributes-values">Adding, removing or replacing attributes' values</h2>
+<p>TODO</p>
 
 
     <div class="nav">