[ 
https://issues.apache.org/jira/browse/DIRSTUDIO-1237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Seelmann resolved DIRSTUDIO-1237.
----------------------------------------
    Resolution: Won't Fix

Plase ask question via the mailing list: 
https://directory.apache.org/mailing-lists-and-irc.html

> How to Edit an Entry in through code 
> -------------------------------------
>
>                 Key: DIRSTUDIO-1237
>                 URL: https://issues.apache.org/jira/browse/DIRSTUDIO-1237
>             Project: Directory Studio
>          Issue Type: Brainstorming
>          Components: studio-ldapbrowser
>    Affects Versions: 2.0.0-M14
>         Environment: Windows10-64Bit, 
>            Reporter: Raju
>            Priority: Major
>
> Hi Team,
> I am working new editor plug-in, where I need to edit Entry which is an 
> object class groupOfUniqueNames. I able to fetch the entry object, but 
> somehow add method is not saving the values. here is my use case step by step.
> 1) Getting an Entry object from the LDAP Server by using  
> SearchRunnable.search() method
>  2) Getting an uniqueMemeber attribute from the Entry
> 3) getting the values of uniqueMember and adding new value to existing values 
> , added back to Entry.
>  
> Code Snippet:
> Method to retrieve Entry:
> --------------------------------------------------------------------------------------------------
>     @SuppressWarnings("unchecked")
>       public static Entry getGroupEntry(NewEntryWizard ibr,String groupName) 
> {   
>       Entry group=null;
>               //ExportLdifRunnable exLdif = new ExportLdifRunnable("Test", 
> ibr.getSelectedConnection(), new SearchParameter());
>               StudioProgressMonitor dummyMonitor = new 
> StudioProgressMonitor(new MemberOfStudioProgress());
>               SearchParameter sp = new SearchParameter();
>               String names[]=groupName.split(",");
>               names=names[0].split("=");
>               groupName=names[1];
>               // set default parameter
>               sp.setName(BrowserCoreMessages.model__quick_search_name);
>               Dn parent = ibr.getSelectedEntry().getDn().getParent();
>               System.out.println("Parent at 
> Initial==="+ibr.getSelectedEntry().getDn().ROOT_DSE);
>               while(!parent.isEmpty()) {
>                       parent=parent.getParent();
>                       System.out.println("Parent each Parent==="+parent);
>               }
>               sp.setSearchBase(parent);
>               System.out.println("Parent at end==="+parent);
>               sp.setReturningAttributes(ISearch.NO_ATTRIBUTES);
>               
> sp.setAliasesDereferencingMethod(ibr.getSelectedConnection().getAliasesDereferencingMethod());
>               
> sp.setReferralsHandlingMethod(ibr.getSelectedConnection().getReferralsHandlingMethod());
>               sp.setCountLimit(ibr.getSelectedConnection().getCountLimit());
>               sp.setTimeLimit(ibr.getSelectedConnection().getTimeLimit());
>               sp.setFilter("(&(objectclass=groupOfUniqueNames)(cn="+ 
> groupName+"))");
>               
>               
>               sp.setScope(SearchScope.SUBTREE);
>               StudioSearchResultEnumeration ne = 
> SearchRunnable.search(ibr.getSelectedConnection(), sp, dummyMonitor);
>               Entry ientry=null;
>               try {
>                       while (ne.hasMore()) {
>                               ientry = ne.next().getEntry();
>                               //ientry=(IEntry)entry;
>                               
>                       }
>               } catch (LdapException e1) {
>                       // TODO Auto-generated catch block
>                       e1.printStackTrace();
>                       System.out.println("Exception message"+e1.getMessage());
>               }
>               return ientry;
>     }
> Code Snippet edit the Entry:
> -------------------------------------------------------------------------------------------
> Entry groupEntry=LDAPSearchUtils.getGroupEntry(ocPage.wizard, groupName);
>               
>                org.apache.directory.api.ldap.model.entry.Attribute 
> uniAttribute =groupEntry.get("uniqueMember");
>                   
>              try {
>                               
> uniAttribute.add(selectedEntry.getDn().getName());
>                       } catch (LdapInvalidAttributeValueException e1) {
>                               // TODO Auto-generated catch block
>                               e1.printStackTrace();
>                       }
>             
>                       try {
>                               groupEntry.add(uniAttribute);
>                       } catch (LdapException e) {
>                               // TODO Auto-generated catch block
>                               e.printStackTrace();
>                       }
>               } 
>   I understand that the above code is able to add the new uniueMemeber values 
> to groupOfUniqueNames Entry but not storing permanently. Could Please help me 
> in modifying the entry values via back ground code.
>   



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to