Subversion Repository Public Repository

litesoft

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package org.litesoft.security;

import org.litesoft.core.*;

public abstract class AbstractCurrentSecurityUserAccessor<PO extends SecurityUser<PO>, VO extends SecurityUserView<VO>,
        RRPO extends SecurityRestrictedResource<RRPO>>
        extends AbstractCurrentSecurityPOAccessor<PO, VO> {
    private final SecurityUserViewPoServerVoDataProvider<VO, PO, RRPO> mUserDataProvider;

    protected AbstractCurrentSecurityUserAccessor( Class<PO> pClassPO, Class<VO> pClassVO, SecurityUserViewPoServerVoDataProvider<VO, PO, RRPO> pDataProvider ) {
        super( "User", pClassPO, pClassVO, pDataProvider );
        mUserDataProvider = pDataProvider;
    }

    public PO getRequiredUser() {
        PO zUser = getOptionalUser( null );
        if ( zUser == null ) {
            throw new SessionExpiredException( "No Current User" );
        }
        return zUser;
    }

    public PO getOptionalUser( String pDefaultUserLoginEmail ) {
        Pair<PO, VO> zPair = getPair( pDefaultUserLoginEmail );
        System.out.println( zPair );
        if ( zPair.getVO() == null ) {
            return null;
        }
        if ( (zPair.getPO() == null) || !zPair.inSync() ) {
            zPair = refresh( zPair );
        }
        return zPair.getPO();
    }

    public VO getUserView( String pDefaultUserLoginEmail ) {
        Pair<PO, VO> zPair = getPair( pDefaultUserLoginEmail );
        if ( zPair.isStale() ) {
            zPair = refresh( zPair );
        }
        return zPair.getVO();
    }

    public VO updateUser( PO pPO ) {
        VO zView = mDataProvider.createView( pPO, false );
        update( zView, pPO );
        return zView;
    }

    protected Pair<PO, VO> getPair( String pDefaultUserLoginEmail ) {
        VO zView = getCachedInstance();
        if ( (zView == null) && (pDefaultUserLoginEmail != null) ) {
            mUserDataProvider.loginDefaultUser( pDefaultUserLoginEmail ); // Switch Users!
            zView = getCachedInstance();
        }
        return createPair( zView );
    }
}

Commits for litesoft/trunk/Java/GWT/Server/src/org/litesoft/security/AbstractCurrentSecurityUserAccessor.java

Diff revisions: vs.
Revision Author Commited Message
954 Diff Diff GeorgeS picture GeorgeS Fri 20 Jun, 2014 23:38:53 +0000

Normalize the SecurityPOs.

948 Diff Diff GeorgeS picture GeorgeS Sat 07 Jun, 2014 23:42:39 +0000

Jusefuls Formatter Updated to New Code Format

484 GeorgeS picture GeorgeS Mon 05 Sep, 2011 02:03:16 +0000