org.opensubsystems.inventory.logic.impl
Class CategoryControllerImpl

java.lang.Object
  extended by org.opensubsystems.core.logic.impl.StatelessControllerImpl
      extended by org.opensubsystems.inventory.logic.impl.CategoryControllerImpl
All Implemented Interfaces:
java.io.Serializable, javax.ejb.EnterpriseBean, javax.ejb.SessionBean, org.opensubsystems.core.logic.BasicDataController, org.opensubsystems.core.logic.DataController, org.opensubsystems.core.logic.ModifiableDataController, org.opensubsystems.core.logic.StatelessController, CategoryController, org.opensubsystems.security.logic.SecureController

public class CategoryControllerImpl
extends org.opensubsystems.core.logic.impl.StatelessControllerImpl
implements CategoryController

Implementation of CategoryController interface to manage categories.

Version:
$Id: CategoryControllerImpl.java,v 1.9 2007/01/28 06:54:42 bastafidli Exp $
Author:
Martin Cerba
See Also:
Serialized Form
Code reviewer:
TODO: Review this code
Code reviewed:
XDoclet tag:
type="Stateless" name="CategoryController" jndi-name="org.opensubsystems.inventory.logic.CategoryControllerRemote" local-jndi-name="org.opensubsystems.inventory.logic.CategoryController"
XDoclet tag:
local-extends="javax.ejb.EJBLocalObject, org.opensubsystems.inventory.logic.CategoryController" extends="javax.ejb.EJBObject, org.opensubsystems.inventory.logic.CategoryController"
XDoclet tag:
type="Session" view-type="local" home="org.opensubsystems.security.logic.AuthorizationControllerHome" business="org.opensubsystems.security.logic.AuthorizationControllerLocal" ejb-name="AuthorizationController" ref-name="org.opensubsystems.security.logic.AuthorizationController"
XDoclet tag:
ejb-name="CategoryController" jndi-name="org.opensubsystems.inventory.logic.CategoryControllerRemote"
XDoclet tag:
ejb-ref-name="org.opensubsystems.security.logic.AuthorizationController" jndi-name="org.opensubsystems.security.logic.AuthorizationControllerRemote"
XDoclet tag:
ref-name="org.opensubsystems.security.logic.AuthorizationController" jndi-name="org.opensubsystems.security.logic.AuthorizationControllerRemote"
XDoclet tag:
ejb-ref-name="org.opensubsystems.security.logic.AuthorizationController" jndi-name="org.opensubsystems.security.logic.AuthorizationControllerRemote"

Field Summary
protected  org.opensubsystems.security.logic.AuthorizationController m_authorityControl
          Authorization controller used to check access rights.
protected  CategoryFactory m_categoryFactory
          Factory to use to execute persistence operations.
 
Constructor Summary
CategoryControllerImpl()
          Default constructor.
 
Method Summary
protected  int checkAccess(int iId, int iAction)
          Check access for given data object based on categories on which rights can be enforces.
 void constructor()
          
 org.opensubsystems.core.data.DataObject create(org.opensubsystems.core.data.DataObject data)
          
 void delete(int iId)
          
 int deleteRoots(int[] arrIds)
          Delete root categories which are caetgories that have no parents.
 org.opensubsystems.core.data.DataObject get(int iId)
          
 org.opensubsystems.security.data.SecurityDefinition[] getSecurityDefinitions()
          
 org.opensubsystems.core.data.ModifiableDataObject save(org.opensubsystems.core.data.ModifiableDataObject data)
          
 
Methods inherited from class org.opensubsystems.core.logic.impl.StatelessControllerImpl
ejbActivate, ejbPassivate, ejbRemove, setSessionContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_categoryFactory

protected CategoryFactory m_categoryFactory
Factory to use to execute persistence operations.


m_authorityControl

protected org.opensubsystems.security.logic.AuthorizationController m_authorityControl
Authorization controller used to check access rights.

Constructor Detail

CategoryControllerImpl

public CategoryControllerImpl()
Default constructor.

Method Detail

get

public org.opensubsystems.core.data.DataObject get(int iId)
                                            throws org.opensubsystems.core.error.OSSException

Specified by:
get in interface org.opensubsystems.core.logic.DataController
Throws:
org.opensubsystems.core.error.OSSException
XDoclet tag:
XDoclet tag:
type="Supports"

create

public org.opensubsystems.core.data.DataObject create(org.opensubsystems.core.data.DataObject data)
                                               throws org.opensubsystems.core.error.OSSException

Specified by:
create in interface org.opensubsystems.core.logic.BasicDataController
Throws:
org.opensubsystems.core.error.OSSException
XDoclet tag:
XDoclet tag:
type="Required"

delete

public void delete(int iId)
            throws org.opensubsystems.core.error.OSSException

Specified by:
delete in interface org.opensubsystems.core.logic.BasicDataController
Throws:
org.opensubsystems.core.error.OSSException
XDoclet tag:
XDoclet tag:
type="Required"

deleteRoots

public int deleteRoots(int[] arrIds)
                throws org.opensubsystems.core.error.OSSException,
                       java.rmi.RemoteException
Delete root categories which are caetgories that have no parents.

Specified by:
deleteRoots in interface CategoryController
Parameters:
arrIds - - array of category IDs that have to be deleted
Returns:
int - number of deleted categories
Throws:
org.opensubsystems.core.error.OSSException - - an error has occured
java.rmi.RemoteException - - required since this method can be called remotely
XDoclet tag:
XDoclet tag:
type="Required"

save

public org.opensubsystems.core.data.ModifiableDataObject save(org.opensubsystems.core.data.ModifiableDataObject data)
                                                       throws org.opensubsystems.core.error.OSSException

Specified by:
save in interface org.opensubsystems.core.logic.ModifiableDataController
Throws:
org.opensubsystems.core.error.OSSException
XDoclet tag:
XDoclet tag:
type="Required"

getSecurityDefinitions

public org.opensubsystems.security.data.SecurityDefinition[] getSecurityDefinitions()

Specified by:
getSecurityDefinitions in interface org.opensubsystems.security.logic.SecureController
XDoclet tag:
XDoclet tag:
type="Supports"

constructor

public void constructor()
                 throws org.opensubsystems.core.error.OSSException

Specified by:
constructor in interface org.opensubsystems.core.logic.StatelessController
Overrides:
constructor in class org.opensubsystems.core.logic.impl.StatelessControllerImpl
Throws:
org.opensubsystems.core.error.OSSException
XDoclet tag:
XDoclet tag:
type="Supports"

checkAccess

protected int checkAccess(int iId,
                          int iAction)
                   throws org.opensubsystems.core.error.OSSException
Check access for given data object based on categories on which rights can be enforces. Since the security for this data object is not dependent on the actual data elements (categories) it is sufficient to specify id of the data object.

Parameters:
iId - - id of data object to check
iAction - - action to check for, one of the ActionConstants.RIGHT_XXX constants
Returns:
int - AccessRight.ACCESS_GRANTED or AccessRight.ACCESS_DENIED
Throws:
org.opensubsystems.core.error.OSSException - - an error has occured


Copyright © 2003 - 2006 OpenSubsystems s.r.o.