• Views
  • Iteration Report
  • My Iteration Report
  •  
OMERO.server
  • Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • ← Previous Changeset
  • Next Changeset →

Changeset 2583

Show
Ignore:
Timestamp:
07/02/08 11:13:39 (5 months ago)
Author:
jmoore
Message:

ticket:1021 - Checking for duplicate groups in createExperimenter

Location:
trunk/components/server
Files:
2 modified

  • src/ome/logic/AdminImpl.java (modified) (3 diffs)
  • test/ome/server/itests/sec/AdminTest.java (modified) (1 diff)

Legend:

Unmodified
Added
Removed
  • trunk/components/server/src/ome/logic/AdminImpl.java

    r2411 r2583  
    2424import javax.ejb.TransactionManagementType; 
    2525import javax.interceptor.Interceptors; 
     26 
    2627import ome.annotations.NotNull; 
    2728import ome.annotations.RevisionDate; 
    … …  
    190191        getBeanHelper().throwIfAlreadySet(ldap, ldapService); 
    191192        this.ldap = ldapService; 
    192         if(!this.ldap.getSetting()) { 
     193        if (!this.ldap.getSetting()) { 
    193194            this.ldap = null; 
    194195        } 
    … …  
    496497 
    497498        group = new ExperimenterGroup(group.getId(), false); 
     499 
     500        // ticket:1021 - check for already added groups 
     501        for (GroupExperimenterMap link : e.unmodifiableGroupExperimenterMap()) { 
     502            ExperimenterGroup test = link.parent(); 
     503            if (test.getId().equals(group.getId())) { 
     504                return link; // EARLY EXIT! 
     505            } 
     506        } 
    498507 
    499508        GroupExperimenterMap link = e.linkExperimenterGroup(group); 
  • trunk/components/server/test/ome/server/itests/sec/AdminTest.java

    r2326 r2583  
    123123    } 
    124124 
     125    @Test(groups = "ticket:1021") 
     126    public void testDefaultGroupNotAddedTwice() throws Exception { 
     127        List<ExperimenterGroup> groups = iAdmin.lookupGroups(); 
     128        ExperimenterGroup def = null, nonDef = null; 
     129        for (ExperimenterGroup group : groups) { 
     130            if (group.getName().equals("user") 
     131                    || group.getName().equals("system")) { 
     132                continue; 
     133            } 
     134            if (def == null) { 
     135                def = group; 
     136            } else if (nonDef == null) { 
     137                nonDef = group; 
     138            } else { 
     139                break; 
     140            } 
     141        } 
     142        assertNotNull(def); 
     143        assertNotNull(nonDef); 
     144 
     145        Experimenter e = testExperimenter(); 
     146        long id = iAdmin.createExperimenter(e, def, nonDef); 
     147        e = iAdmin.lookupExperimenter(e.getOmeName()); 
     148        assertEquals("should be 2", 2, e.sizeOfGroupExperimenterMap()); 
     149 
     150        e = testExperimenter(); 
     151        id = iAdmin.createExperimenter(e, def, nonDef, def); 
     152        e = iAdmin.lookupExperimenter(e.getOmeName()); 
     153        assertEquals("should still be 2", 2, e.sizeOfGroupExperimenterMap()); 
     154 
     155    } 
     156 
    125157    private ExperimenterGroup testGroup() { 
    126158        ExperimenterGroup g = new ExperimenterGroup(); 

Download in other formats:

  • Unified Diff
  • Zip Archive

Trac Powered

Powered by Trac 0.11
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/