org.opencrx.kernel.layer.model
Class AccessControl_1

java.lang.Object
  extended by org.openmdx.application.dataprovider.spi.Layer_1
      extended by org.openmdx.application.dataprovider.spi.BeforeImageCachingLayer_1
          extended by org.openmdx.application.dataprovider.layer.model.SystemAttributes_1
              extended by org.openmdx.application.dataprovider.layer.model.Standard_1
                  extended by org.opencrx.kernel.layer.model.AccessControl_1
All Implemented Interfaces:
org.openmdx.application.dataprovider.cci.Dataprovider_1_0, org.openmdx.application.dataprovider.spi.Layer_1_0, org.openmdx.application.dataprovider.spi.Layer_1_1, org.openmdx.application.dataprovider.spi.Layer_1_2, org.openmdx.application.dataprovider.spi.Operation_1_0

public class AccessControl_1
extends org.openmdx.application.dataprovider.layer.model.Standard_1

openCRX access control plugin. Implements the openCRX access control logic. This plugin is implemented as openMDX compatibility plugin. It will be migrated to a JMI plugin in one of the next versions.


Field Summary
protected static org.openmdx.base.naming.Path EXTENT_PATTERN
           
 
Constructor Summary
AccessControl_1()
           
 
Method Summary
 void activate(short id, org.openmdx.application.configuration.Configuration configuration, org.openmdx.application.dataprovider.spi.Layer_1_0 delegation)
           
protected  void completeAccessGrantedByParent(org.openmdx.application.dataprovider.cci.ServiceHeader header, javax.resource.cci.MappedRecord object, javax.resource.cci.MappedRecord accessGrantedByParent)
           
protected  void completeObject(org.openmdx.application.dataprovider.cci.ServiceHeader header, javax.resource.cci.MappedRecord object, javax.resource.cci.MappedRecord accessGrantedByParent)
           
protected  void completeOwningUserAndGroup(org.openmdx.application.dataprovider.cci.ServiceHeader header, javax.resource.cci.MappedRecord object)
           
protected  org.openmdx.application.dataprovider.cci.DataproviderReply completeReply(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderReply reply, javax.resource.cci.MappedRecord accessGrantedByParent)
           
 org.openmdx.application.dataprovider.cci.DataproviderReply create(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest request)
           
 void epilog(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest[] requests, org.openmdx.application.dataprovider.cci.DataproviderReply[] replies)
           
 org.openmdx.application.dataprovider.cci.DataproviderReply find(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest request)
           
 org.openmdx.application.dataprovider.cci.DataproviderReply get(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest request)
           
protected  org.openmdx.base.naming.Path getGroupIdentity(org.openmdx.base.naming.Path accessPath, String qualifiedPrincipalName)
           
 List<org.openmdx.base.naming.Path> getInheritFromParentTypes()
          Returns a list of types as path patterns of object references which inherit the security settings from the parent object.
protected  String getQualifiedPrincipalName(org.openmdx.base.naming.Path principalIdentity)
           
protected  String getQualifiedPrincipalName(org.openmdx.base.naming.Path accessPath, String principalName)
           
protected  org.openmdx.base.mof.cci.ModelElement_1_0 getReferencedType(org.openmdx.base.naming.Path accessPath, FilterProperty[] filter)
           
 org.openmdx.application.dataprovider.cci.RequestCollection getRunAsRootDelegation()
           
 org.openmdx.application.dataprovider.cci.RequestCollection getSecurityProviderConnection()
           
protected  org.openmdx.base.naming.Path getUserIdentity(org.openmdx.base.naming.Path accessPath, String qualifiedPrincipalName)
           
protected  boolean isPrincipalGroup(javax.resource.cci.MappedRecord object)
           
protected  boolean isSecureObject(javax.resource.cci.MappedRecord object)
           
protected  boolean isSecureObject(org.openmdx.base.mof.cci.ModelElement_1_0 type)
           
 org.openmdx.application.dataprovider.cci.DataproviderReply operation(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest request)
           
 void prolog(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest[] requests)
           
 org.openmdx.application.dataprovider.cci.DataproviderReply remove(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest request)
           
 org.openmdx.application.dataprovider.cci.DataproviderReply replace(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.application.dataprovider.cci.DataproviderRequest request)
           
protected  javax.resource.cci.MappedRecord retrieveObjectFromLocal(org.openmdx.application.dataprovider.cci.ServiceHeader header, org.openmdx.base.naming.Path identity)
           
protected  String uidAsString()
           
 
Methods inherited from class org.openmdx.application.dataprovider.layer.model.Standard_1
attributeIsInstanceOf, attributeMightBeInstanceOfAnXMLDatatype, completeDatatypes, completeObject, completeReply, getBeforeImage, getInstanceOf, getObjectClass, getObjectClassName, isInstanceOfBasicObject, isModified, mapInstanceOfFilterProperty, modify, notifyPreDelete, prepareDatatypes, prepareRequest, propagateDigest, removeContexts, removeNonPersistentAttributes, setIdentity, useDatatypes, verifyDigest
 
Methods inherited from class org.openmdx.application.dataprovider.spi.BeforeImageCachingLayer_1
hasBeforeImage
 
Methods inherited from class org.openmdx.application.dataprovider.spi.Layer_1
configurationSpecification, deactivate, epilog, getConfiguration, getDelegation, getDelegation, getId, getLenientProcessor, getModel, isBypassedByLenientRequests, isLenient, process, process, process, process, prolog, set, startPublishing, terminal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXTENT_PATTERN

protected static final org.openmdx.base.naming.Path EXTENT_PATTERN
Constructor Detail

AccessControl_1

public AccessControl_1()
Method Detail

getUserIdentity

protected org.openmdx.base.naming.Path getUserIdentity(org.openmdx.base.naming.Path accessPath,
                                                       String qualifiedPrincipalName)

getGroupIdentity

protected org.openmdx.base.naming.Path getGroupIdentity(org.openmdx.base.naming.Path accessPath,
                                                        String qualifiedPrincipalName)

getQualifiedPrincipalName

protected String getQualifiedPrincipalName(org.openmdx.base.naming.Path accessPath,
                                           String principalName)

getQualifiedPrincipalName

protected String getQualifiedPrincipalName(org.openmdx.base.naming.Path principalIdentity)

retrieveObjectFromLocal

protected javax.resource.cci.MappedRecord retrieveObjectFromLocal(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                  org.openmdx.base.naming.Path identity)
                                                           throws ServiceException
Throws:
ServiceException

completeOwningUserAndGroup

protected void completeOwningUserAndGroup(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                          javax.resource.cci.MappedRecord object)
                                   throws ServiceException
Throws:
ServiceException

completeAccessGrantedByParent

protected void completeAccessGrantedByParent(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                             javax.resource.cci.MappedRecord object,
                                             javax.resource.cci.MappedRecord accessGrantedByParent)
                                      throws ServiceException
Throws:
ServiceException

completeObject

protected void completeObject(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                              javax.resource.cci.MappedRecord object,
                              javax.resource.cci.MappedRecord accessGrantedByParent)
                       throws ServiceException
Throws:
ServiceException

completeReply

protected org.openmdx.application.dataprovider.cci.DataproviderReply completeReply(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                                   org.openmdx.application.dataprovider.cci.DataproviderReply reply,
                                                                                   javax.resource.cci.MappedRecord accessGrantedByParent)
                                                                            throws ServiceException
Throws:
ServiceException

isPrincipalGroup

protected boolean isPrincipalGroup(javax.resource.cci.MappedRecord object)
                            throws ServiceException
Throws:
ServiceException

isSecureObject

protected boolean isSecureObject(javax.resource.cci.MappedRecord object)
                          throws ServiceException
Throws:
ServiceException

isSecureObject

protected boolean isSecureObject(org.openmdx.base.mof.cci.ModelElement_1_0 type)
                          throws ServiceException
Throws:
ServiceException

getSecurityProviderConnection

public org.openmdx.application.dataprovider.cci.RequestCollection getSecurityProviderConnection()

getRunAsRootDelegation

public org.openmdx.application.dataprovider.cci.RequestCollection getRunAsRootDelegation()

getInheritFromParentTypes

public List<org.openmdx.base.naming.Path> getInheritFromParentTypes()
Returns a list of types as path patterns of object references which inherit the security settings from the parent object. This option should be used only for performance improvements and applied only to business objects which define a self-contained security entity (e.g. contract, its positions, depot references and product configurations). Additional paths can be added by overriding getInheritFromParentTypes. The API exposes the granting parent by the reference SecureObject.accessGrantedByParent and is set by completeObject.


activate

public void activate(short id,
                     org.openmdx.application.configuration.Configuration configuration,
                     org.openmdx.application.dataprovider.spi.Layer_1_0 delegation)
              throws ServiceException
Specified by:
activate in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
activate in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

prolog

public void prolog(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                   org.openmdx.application.dataprovider.cci.DataproviderRequest[] requests)
            throws ServiceException
Specified by:
prolog in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
prolog in class org.openmdx.application.dataprovider.layer.model.SystemAttributes_1
Throws:
ServiceException

epilog

public void epilog(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                   org.openmdx.application.dataprovider.cci.DataproviderRequest[] requests,
                   org.openmdx.application.dataprovider.cci.DataproviderReply[] replies)
            throws ServiceException
Specified by:
epilog in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
epilog in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

create

public org.openmdx.application.dataprovider.cci.DataproviderReply create(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                         org.openmdx.application.dataprovider.cci.DataproviderRequest request)
                                                                  throws ServiceException
Specified by:
create in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
create in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

getReferencedType

protected org.openmdx.base.mof.cci.ModelElement_1_0 getReferencedType(org.openmdx.base.naming.Path accessPath,
                                                                      FilterProperty[] filter)
                                                               throws ServiceException
Throws:
ServiceException

find

public org.openmdx.application.dataprovider.cci.DataproviderReply find(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                       org.openmdx.application.dataprovider.cci.DataproviderRequest request)
                                                                throws ServiceException
Specified by:
find in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
find in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

get

public org.openmdx.application.dataprovider.cci.DataproviderReply get(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                      org.openmdx.application.dataprovider.cci.DataproviderRequest request)
                                                               throws ServiceException
Specified by:
get in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
get in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

remove

public org.openmdx.application.dataprovider.cci.DataproviderReply remove(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                         org.openmdx.application.dataprovider.cci.DataproviderRequest request)
                                                                  throws ServiceException
Specified by:
remove in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
remove in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

replace

public org.openmdx.application.dataprovider.cci.DataproviderReply replace(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                          org.openmdx.application.dataprovider.cci.DataproviderRequest request)
                                                                   throws ServiceException
Specified by:
replace in interface org.openmdx.application.dataprovider.spi.Layer_1_0
Overrides:
replace in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

operation

public org.openmdx.application.dataprovider.cci.DataproviderReply operation(org.openmdx.application.dataprovider.cci.ServiceHeader header,
                                                                            org.openmdx.application.dataprovider.cci.DataproviderRequest request)
                                                                     throws ServiceException
Specified by:
operation in interface org.openmdx.application.dataprovider.spi.Operation_1_0
Overrides:
operation in class org.openmdx.application.dataprovider.layer.model.Standard_1
Throws:
ServiceException

uidAsString

protected final String uidAsString()


This software is published under the BSD license. Copyright © 2003-2009, CRIXP AG, Switzerland, All rights reserved. Use is subject to license terms.