• 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 1375

Show
Ignore:
Timestamp:
03/20/07 11:23:44 (20 months ago)
Author:
jmoore
Message:
  • #421 AbstractBean removed. Refactored all *Beans and *Impls.
  • #564 Fixed bioformats-omero/.../StatefulServiceTest
  • #599 IAdmin.removeGroup now behaves properly
  • #614 Introduced SessionPrincipal for blitz security
  • #614 LicenseWiring now handles SessionPrincipal and LicensedPrinciapl
  • #614 omero.api.ILicense can now be looked up by name
  • #614 Added BlitzLicenseTest
  • #632 OMERO.client context now working again.
  • #642 Extra copy of hard-wired classes should be deleted
  • #650 tools/licenses is now dependent on blitz
  • Changed default Store implementation to have Long.MAX_VALUE licenses.
  • Significant reworking of build (esp. w.r.t hard-wiring).
  • Fixed all tests and bioformats .classpath for testing
  • Fixed various possibly null variables. (Eclipse warnings)
Location:
trunk/components
Files:
4 added
54 modified
1 copied
1 moved

  • antlib/resources/lifecycle.xml (modified) (1 diff)
  • antlib/resources/macros.xml (modified) (2 diffs)
  • bioformats-omero/.classpath (modified) (2 diffs)
  • bioformats-omero/test/ome/formats/testclient/StatefulServiceTest.java (modified) (2 diffs)
  • blitz/build.xml (modified) (1 diff)
  • blitz/resources/beanRefContext.xml (modified) (1 diff)
  • blitz/resources/omero/server.xml (modified) (1 diff)
  • blitz/src/ome/services/icy/fire/BasicSecurityWiring.java (modified) (2 diffs)
  • blitz/src/ome/services/icy/fire/Session.java (modified) (1 diff)
  • blitz/src/ome/services/icy/fire/SessionManagerI.java (modified) (4 diffs)
  • blitz/src/ome/services/icy/fire/SessionPrincipal.java (added)
  • blitz/src/ome/services/icy/impl/ServiceFactoryI.java (modified) (10 diffs)
  • blitz/src/ome/services/icy/util/AbstractSessionMessage.java (modified) (3 diffs)
  • blitz/src/ome/services/icy/util/CreateSessionMessage.java (modified) (2 diffs)
  • blitz/src/ome/services/icy/util/DestroySessionMessage.java (modified) (2 diffs)
  • blitz/test/ome/icy/model/itests/coverage/UpdateTest.java (modified) (1 diff)
  • blitz/test/ome/icy/model/utests/ServiceFactoryTest.java (modified) (1 diff)
  • blitz/test/ome/icy/model/utests/ServiceFactoryTest.xml (added)
  • client/test/ome/adapters/pojos/itests/PojosServiceTest.java (modified) (1 diff)
  • client/test/ome/adapters/pojos/utests/PojosTest.java (modified) (2 diffs)
  • client/test/ome/client/itests/sec/AbstractAccountTest.java (modified) (3 diffs)
  • client/test/ome/client/itests/sec/AccountCreationTest.java (modified) (2 diffs)
  • client/test/ome/client/itests/sec/WriteSecurityTest.java (modified) (2 diffs)
  • common/src/ome/system/OmeroContext.java (modified) (2 diffs)
  • common/src/ome/system/SelfConfigurableService.java (modified) (1 diff)
  • rendering/test/util/mocks/MockedCall.java (modified) (1 diff)
  • server/build.xml (modified) (1 diff)
  • server/resources/ome/services/service-ome.api.RawFileStore.xml (modified) (1 diff)
  • server/resources/ome/services/service-ome.api.RawPixelsStore.xml (modified) (1 diff)
  • server/resources/ome/services/services.xml (modified) (2 diffs)
  • server/src/ome/logic/AbstractLevel1Service.java (modified) (2 diffs)
  • server/src/ome/logic/AbstractLevel2Service.java (modified) (2 diffs)
  • server/src/ome/logic/AdminImpl.java (modified) (10 diffs)
  • server/src/ome/logic/AnalysisImpl.java (modified) (1 diff)
  • server/src/ome/logic/ConfigImpl.java (modified) (5 diffs)
  • server/src/ome/logic/HardWiredInterceptor.java (modified) (2 diffs)
  • server/src/ome/logic/PixelsImpl.java (modified) (3 diffs)
  • server/src/ome/logic/PojosImpl.java (modified) (3 diffs)
  • server/src/ome/logic/QueryImpl.java (modified) (2 diffs)
  • server/src/ome/logic/SimpleLifecycle.java (modified) (3 diffs)
  • server/src/ome/logic/TypesImpl.java (modified) (2 diffs)
  • server/src/ome/logic/UpdateImpl.java (modified) (6 diffs)
  • server/src/ome/security/basic/BasicSecuritySystem.java (modified) (1 diff)
  • server/src/ome/security/basic/EventListenersFactoryBean.java (modified) (1 diff)
  • server/src/ome/services/AbstractStatefulBean.java (added)
  • server/src/ome/services/RawFileBean.java (modified) (9 diffs)
  • server/src/ome/services/RawPixelsBean.java (modified) (8 diffs)
  • server/src/ome/services/RenderingBean.java (modified) (11 diffs)
  • server/src/ome/services/ThumbnailBean.java (modified) (9 diffs)
  • server/src/ome/services/util/BeanHelper.java (moved) (moved from trunk/components/server/src/ome/logic/AbstractBean.java) (5 diffs)
  • server/src/ome/services/util/OmeroAroundInvoke.java (copied) (copied from trunk/components/server/src/ome/logic/AbstractBean.java) (7 diffs)
  • server/test/ome/server/itests/update/UpdateTest.java (modified) (1 diff)
  • tools/build.xml (modified) (1 diff)
  • tools/licenses/build.xml (modified) (3 diffs)
  • tools/licenses/resources/ome/services/blitz-ome.services.licenses.ILicense.xml (modified) (1 diff)
  • tools/licenses/src/ome/services/licenses/LicenseBean.java (modified) (2 diffs)
  • tools/licenses/src/ome/services/licenses/LicenseSessionListener.java (modified) (1 diff)
  • tools/licenses/src/ome/services/licenses/LicenseWiring.java (modified) (4 diffs)
  • tools/licenses/src/ome/services/licenses/Store.java (modified) (4 diffs)
  • tools/licenses/test/ome/services/licenses/test/BlitzLicenseTest.java (added)

Legend:

Unmodified
Added
Removed
  • trunk/components/antlib/resources/lifecycle.xml

    r1371 r1375  
    173173        </macrodef> 
    174174 
     175 
    175176        <target name="test" depends="compile,testng-init" unless="test.skip"> 
    176177                <copyTestResources/> 
  • trunk/components/antlib/resources/macros.xml

    r1367 r1375  
    194194                <attribute name="todir" default="${src.dest}"/> 
    195195                <attribute name="file"/> 
    196                 <sequential> 
    197                 <!-- FORMAT: &quot;CLASS1&quot;,&quot1;CLASS2&quot;,... --> 
    198                 <!-- Just in case it's been omitted --> 
    199                 <property name="omero.hard-wired.interceptors" value=""/> 
     196                <attribute name="token" default="@REPLACE@"/> 
     197                <attribute name="prefix" default="REPLACE BY hardWireCompile*/"/> 
     198                <attribute name="suffix" default="/*"/> 
     199                <attribute name="value" default="${omero.hard-wired.interceptors}"/> 
     200                <sequential> 
    200201                <delete file="@{todir}/@{file}"/> 
    201202                <copy todir="@{todir}"> 
    … …  
    205206                </copy> 
    206207                <replace file="@{todir}/@{file}"> 
    207                         <replacefilter token="@REPLACE@" value="REPLACED BY hard-wire macro-->*/${omero.hard-wired.interceptors}/*"/> 
     208                        <replacefilter token="@{token}" value="@{prefix}@{value}@{suffix}"/> 
    208209                </replace> 
    209210                </sequential> 
    210211        </macrodef> 
    211212 
     213        <!-- Because this is such a common metaphor, we're writing a simple  
     214        hard-wiring compile macro which can be used if only one file needs to  
     215        be hard-wired. Otherwise, use the hard-wire macro. 
     216         
     217        Must compile the files in two steps to prevent duplicate class errors  
     218        --> 
    212219        <macrodef name="hardWireCompile"> 
    213220                <attribute name="fromdir" default="${src.dir}"/> 
    214221                <attribute name="todir" default="${src.dest}"/> 
    215                 <attribute name="file"/> 
    216                 <sequential> 
    217                 <hard-wire file="ome/.../YourFileHere.java"/> 
     222                <attribute name="pattern"/> 
     223                <attribute name="token" default="@REPLACE@"/> 
     224                <attribute name="value" default="${omero.hard-wired.interceptors}"/> 
     225                <attribute name="prefix" default="REPLACE BY hardWireCompile*/"/> 
     226                <attribute name="suffix" default="/*"/> 
     227                <sequential> 
     228                <hard-wire file="@{pattern}.java"  
     229                    prefix="@{prefix}" suffix="@{suffix}" 
     230                    token="@{token}" value="@{value}"  
     231                    fromdir="@{fromdir}" todir="@{todir}"/> 
    218232                <myjavac> 
    219                   <src path="${src.dir}"/> 
     233                  <src path="@{fromdir}"/> 
    220234                </myjavac> 
    221                 <delete file="${classes.dir}/ome/.../YourFileHere.class"/> 
     235                <delete file="${classes.dir}/@{pattern}.class"/> 
    222236                <myjavac> 
    223                   <src path="${src.dest}"/> 
     237                  <src path="@{todir}"/> 
    224238                </myjavac> 
    225                 <delete file="${src.dest}/ome/.../YourFileHere.java"/> 
     239                <delete file="${src.dest}/@{pattern}.java"/> 
    226240                </sequential> 
    227241        </macrodef> 
  • trunk/components/bioformats-omero/.classpath

    r1336 r1375  
    22<classpath> 
    33        <classpathentry kind="src" path="test"/> 
     4        <classpathentry kind="src" path="target/generated/resources"/> 
    45        <classpathentry kind="src" path="src"/> 
    56        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    … …  
    2021        <classpathentry kind="lib" path="lib/common-3.0-TRUNK.jar"/> 
    2122        <classpathentry kind="lib" path="lib/client-3.0-TRUNK.jar"/> 
     23        <classpathentry kind="var" path="M2_REPO/omero/omejava/loci-tools-2007-Feb-26/omejava-loci-tools-2007-Feb-26.jar"/> 
     24        <classpathentry kind="var" path="M2_REPO/testng/testng/5.2-jdk15/testng-5.2-jdk15.jar"/> 
     25        <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> 
    2226        <classpathentry kind="output" path="bin"/> 
    2327</classpath> 
  • trunk/components/bioformats-omero/test/ome/formats/testclient/StatefulServiceTest.java

    r1195 r1375  
    9494                 
    9595                assertNotNull( p ); 
     96                assertNotNull( p.getId() ); 
    9697        } 
    9798 
    … …  
    165166                RenderingEngine re = sf.createRenderingEngine(); 
    166167                re.lookupPixels( p.getId() ); 
    167                 re.lookupRenderingDef( p.getId() ); 
     168                if (!re.lookupRenderingDef( p.getId() )) { 
     169                    re.resetDefaults(); 
     170                    re.lookupRenderingDef(p.getId()); 
     171                } 
    168172                re.load(); 
    169173                return re; 
  • trunk/components/blitz/build.xml

    r1359 r1375  
    2929        <target name="generate" depends="prepare,icegen,lifecycle.generate"/> 
    3030 
    31         <target name="install" depends="test,lifecycle.install,standalone"/> 
     31        <target name="compile" depends="generate" unless="skip.compile"> 
     32                <hard-wire file="ome/services/icy/fire/SessionManagerI.java" 
     33                    value="&quot;ome.services.icy.fire.BasicSecurityWiring&quot;,${omero.hard-wired.interceptors}"/> 
     34                <tempfile property="src.tmp" prefix="omero"/> 
     35                <mkdir dir="${src.tmp}"/> 
     36                <copy todir="${src.tmp}"> 
     37                  <fileset dir="${src.dir}"> 
     38                    <exclude name="ome/services/icy/fire/SessionManagerI.java"/> 
     39                  </fileset> 
     40                </copy> 
     41                <myjavac> 
     42                    <src path="${src.dest}"/> 
     43                    <src path="${src.tmp}"/> 
     44                </myjavac> 
     45                <delete dir="${src.tmp}"/> 
     46                <delete file="${src.dest}/ome/services/icy/fire/SessionManagerI.java"/> 
     47        </target> 
    3248 
    33         <target name="clean" depends="lifecycle.clean"/> 
    34                  
     49        <target name="install" depends="lifecycle.install,standalone"/> 
     50 
    3551    <!-- = = = = = = = = = = = = = = = = = 
    3652          generate slice    
  • trunk/components/blitz/resources/beanRefContext.xml

    r1361 r1375  
    4040        <constructor-arg index="0"> 
    4141      <list> 
     42        <!-- Initialization issues with having ome.client as a parent; 
     43        instead we're copying it's configuration file and it's parent. --> 
     44        <value>classpath:ome/client/spring.xml</value> 
    4245        <value>classpath:omero/client.xml</value> 
    4346        <value>classpath:omero/constants.xml</value> 
    4447      </list> 
    4548    </constructor-arg> 
    46     <constructor-arg index="1" value="true"/> 
    47     <constructor-arg index="2" ref="ome.client"/> 
     49    <constructor-arg index="1" value="false"/> 
     50    <constructor-arg index="2" ref="ome.client.internal"/> 
    4851  </bean> 
    4952   
  • trunk/components/blitz/resources/omero/server.xml

    r1306 r1375  
    7373  <bean id="CacheManager" class="ome.services.icy.util.ShutdownSafeEhcacheManagerFactoryBean"/> 
    7474   
     75  <bean id="securityWiring" class="ome.services.icy.fire.BasicSecurityWiring" 
     76        lazy-init="true"> 
     77        <property name="securitySystem" ref="securitySystem"/>  
     78  </bean> 
     79   
    7580</beans> 
  • trunk/components/blitz/src/ome/services/icy/fire/BasicSecurityWiring.java

    r1291 r1375  
    1111import ome.logic.HardWiredInterceptor; 
    1212import ome.security.SecuritySystem; 
     13import ome.system.OmeroContext; 
    1314import ome.system.Principal; 
    1415 
    … …  
    2223 
    2324    protected SecuritySystem securitySystem; 
     25     
     26    @Override 
     27    public String getName() { 
     28        return "securityWiring"; 
     29    } 
    2430     
    2531    public void setSecuritySystem(SecuritySystem secSys) { 
  • trunk/components/blitz/src/ome/services/icy/fire/Session.java

    r1291 r1375  
    1515public interface Session extends Glacier2.Session { 
    1616 
    17     void setPrincipal(Principal principal); 
     17    void setPrincipal(SessionPrincipal principal); 
    1818    void setInterceptors(List<HardWiredInterceptor> cptors); 
    1919} 
  • trunk/components/blitz/src/ome/services/icy/fire/SessionManagerI.java

    r1369 r1375  
    3535 
    3636    private final static List<HardWiredInterceptor> CPTORS = HardWiredInterceptor 
    37             .parse(new String[] {  
    38             BasicSecurityWiring.class.getName() 
    39             /* @REPLACE@ */}); 
     37            .parse(new String[] {/* @REPLACE@ */}); 
    4038 
    4139    private final static Log log = LogFactory.getLog(SessionManagerI.class); 
    … …  
    4745    public SessionManagerI(SecuritySystem secSys) { 
    4846        this.securitySystem = secSys; 
    49         for (HardWiredInterceptor hwi : CPTORS) { 
    50             // HACK 
    51             if (hwi instanceof BasicSecurityWiring) { 
    52                 ((BasicSecurityWiring)hwi).setSecuritySystem(secSys); 
    53             } 
    54         } 
    55          
     47        HardWiredInterceptor.configure(CPTORS, context); 
    5648    } 
    5749     
    … …  
    7668        } 
    7769 
    78         Principal principal = new Principal(userId, group, event); 
     70        String sessionName = Ice.Util.generateUUID(); 
     71        SessionPrincipal principal = new SessionPrincipal(userId, group, event, sessionName); 
    7972        Session session = (Session) context.getBean("Session"); 
    8073        session.setPrincipal(principal); 
    … …  
    8376        Ice.Identity id = new Ice.Identity(); 
    8477        id.category = ""; 
    85         id.name = Ice.Util.generateUUID(); 
     78        id.name = sessionName; 
    8679        Ice.ObjectPrx _prx = current.adapter.add(session,id); 
    8780        Glacier2.SessionPrx prx = Glacier2.SessionPrxHelper.uncheckedCast(_prx); 
  • trunk/components/blitz/src/ome/services/icy/impl/ServiceFactoryI.java

    r1362 r1375  
    11/* 
    2  *   $Id: Server.java 1201 2007-01-18 21:54:35Z jmoore $ 
     2 *   $Id$ 
    33 * 
    4  *   Copyright 2006 University of Dundee. All rights reserved. 
     4 *   Copyright 2007 Glencoe Software, Inc. All rights reserved. 
    55 *   Use is subject to license terms supplied in LICENSE.txt 
    66 */ 
    … …  
    1010import java.lang.reflect.Constructor; 
    1111import java.lang.reflect.InvocationTargetException; 
     12import java.util.ArrayList; 
    1213import java.util.Collections; 
    1314import java.util.HashSet; 
    … …  
    3233import ome.services.icy.fire.AopContextInitializer; 
    3334import ome.services.icy.fire.Session; 
     35import ome.services.icy.fire.SessionPrincipal; 
    3436import ome.services.icy.util.DestroySessionMessage; 
    3537import ome.services.icy.util.ServantDefinition; 
    … …  
    119121    Ehcache cache; 
    120122 
    121     Principal principal; 
     123    SessionPrincipal principal; 
    122124 
    123125    List<HardWiredInterceptor> cptors; 
    … …  
    147149     * {@link Session} interface. 
    148150     */ 
    149     public void setPrincipal(Principal p) { 
     151    public void setPrincipal(SessionPrincipal p) { 
    150152        this.principal = p; 
    151153    } 
    … …  
    294296    // ========================================================================= 
    295297 
     298    // For symmetry 
     299    String re = "RenderingEngine", fs = "RawFileStore", ps = "RawPixelStore", 
     300            tb = "ThumbnailStore"; 
     301     
    296302    public RenderingEnginePrx createRenderingEngine(Ice.Current current) { 
    297         Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()); 
     303        Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()+re); 
    298304        String key = Ice.Util.identityToString(id); 
    299305        _RenderingEngineOperations ops = createServantDelegate( 
    … …  
    305311 
    306312    public omero.api.RawFileStorePrx createRawFileStore(Ice.Current current) { 
    307         Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()); 
     313        Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()+fs); 
    308314        String key = Ice.Util.identityToString(id); 
    309315        _RawFileStoreOperations ops = createServantDelegate( 
    … …  
    315321 
    316322    public RawPixelsStorePrx createRawPixelsStore(Ice.Current current) { 
    317         Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()); 
     323        Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()+ps); 
    318324        String key = Ice.Util.identityToString(id); 
    319325        _RawPixelsStoreOperations ops = createServantDelegate( 
    … …  
    325331 
    326332    public ThumbnailStorePrx createThumbnailStore(Ice.Current current) { 
    327         Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()); 
     333        Ice.Identity id = getIdentity(current, Ice.Util.generateUUID()+tb); 
    328334        String key = Ice.Util.identityToString(id); 
    329335        _ThumbnailStoreOperations ops = createServantDelegate( 
    … …  
    495501    } 
    496502     
     503    /** 
     504     * For Testing. 
     505     */ 
     506    public List<String> getIds() { 
     507        List<String> stringIds = new ArrayList<String>(); 
     508        synchronized (ids) { 
     509            for (Ice.Identity id : ids) { 
     510                stringIds.add(Ice.Util.identityToString(id)); 
     511            } 
     512        } 
     513        return stringIds; 
     514    } 
    497515} 
  • trunk/components/blitz/src/ome/services/icy/util/AbstractSessionMessage.java

    r1362 r1375  
    11package ome.services.icy.util; 
    22 
    3 import ome.system.Principal; 
     3import ome.services.icy.fire.SessionPrincipal; 
    44import ome.util.messages.InternalMessage; 
    55 
    … …  
    88    String id; 
    99     
    10     Principal p; 
     10    SessionPrincipal p; 
    1111     
    12     public AbstractSessionMessage(Object source, String sessionId, Principal principal) { 
     12    public AbstractSessionMessage(Object source, String sessionId, SessionPrincipal principal) { 
    1313        super(source); 
    1414        this.id = sessionId; 
    … …  
    2020    } 
    2121 
    22     public Principal getPrincipal() { 
     22    public SessionPrincipal getPrincipal() { 
    2323        return p; 
    2424    } 
  • trunk/components/blitz/src/ome/services/icy/util/CreateSessionMessage.java

    r1362 r1375  
    11package ome.services.icy.util; 
    22 
    3 import java.util.Collection; 
    4 import java.util.Date; 
    5 import java.util.List; 
    6  
    7 import org.springframework.context.ApplicationEvent; 
    8  
    9 import net.sf.ehcache.Ehcache; 
    10 import net.sf.ehcache.Element; 
    11  
    12 import ome.api.ServiceInterface; 
    13 import ome.system.OmeroContext; 
    14 import ome.system.Principal; 
    15 import ome.util.Filterable; 
    16 import ome.util.messages.InternalMessage; 
    17 import omero.RType; 
    18 import omero.ServerError; 
    19 import omero.Time; 
    20 import omero.model.IObject; 
    21 import omero.util.IceMapper; 
     3import ome.services.icy.fire.SessionPrincipal; 
    224 
    235/** 
    … …  
    2911    private static final long serialVersionUID = 6132548299119420025L; 
    3012 
    31     public CreateSessionMessage(Object source, String sessionId, Principal principal) { 
     13    public CreateSessionMessage(Object source, String sessionId, 
     14            SessionPrincipal principal) { 
    3215        super(source, sessionId, principal); 
    3316    } 
    34      
     17 
    3518} 
  • trunk/components/blitz/src/ome/services/icy/util/DestroySessionMessage.java

    r1362 r1375  
    11package ome.services.icy.util; 
    22 
    3 import java.util.Collection; 
    4 import java.util.Date; 
    5 import java.util.List; 
    6  
    7 import org.springframework.context.ApplicationEvent; 
    8  
    9 import net.sf.ehcache.Ehcache; 
    10 import net.sf.ehcache.Element; 
    11  
    12 import ome.api.ServiceInterface; 
    13 import ome.system.OmeroContext; 
    14 import ome.system.Principal; 
    15 import ome.util.Filterable; 
    16 import ome.util.messages.InternalMessage; 
    17 import omero.RType; 
    18 import omero.ServerError; 
    19 import omero.Time; 
    20 import omero.model.IObject; 
    21 import omero.util.IceMapper; 
     3import ome.services.icy.fire.SessionPrincipal; 
    224 
    235/** 
    … …  
    3012 
    3113    public DestroySessionMessage(Object source, String sessionId, 
    32             Principal principal) { 
     14            SessionPrincipal principal) { 
    3315        super(source, sessionId, principal); 
    3416    } 
  • trunk/components/blitz/test/ome/icy/model/itests/coverage/UpdateTest.java

    r1306 r1375