fr.paris.lutece.plugins.unittree.service.unit
Class UnitService

java.lang.Object
  extended by fr.paris.lutece.plugins.unittree.service.unit.UnitService
All Implemented Interfaces:
IUnitService

public class UnitService
extends Object
implements IUnitService

UnitService


Field Summary
 
Fields inherited from interface fr.paris.lutece.plugins.unittree.service.unit.IUnitService
BEAN_UNIT_SERVICE
 
Constructor Summary
UnitService()
           
 
Method Summary
 boolean canCreateSubUnit(int nIdUnit)
          Check if the given id unit, we can create sub unit.
 int createUnit(Unit unit, javax.servlet.http.HttpServletRequest request)
          Create a unit
 List<Unit> findBySectorId(int nIdSector)
          Find by sector id
 List<Unit> getAllUnits(boolean bGetAdditionalInfos)
          Get all units
 List<IAction> getListActions(String strActionType, Locale locale, Unit unit, fr.paris.lutece.portal.business.user.AdminUser user)
          Get the list of actions
 Unit getRootUnit(boolean bGetAdditionalInfos)
          Get the root unit
 List<Unit> getSubUnits(int nIdUnit, boolean bGetAdditionalInfos)
          Get the sub units from a given id unit
 fr.paris.lutece.util.ReferenceList getSubUnitsAsReferenceList(int nIdUnit, Locale locale)
          Get the sub units as a ReferenceList
 Source getTreeXsl()
          Get the XSL of the tree
 Unit getUnit(int nIdUnit, boolean bGetAdditionalInfos)
          Get the unit
 List<Unit> getUnitsByIdUser(int nIdUser, boolean bGetAdditionalInfos)
          Get the unit by id user
 List<Unit> getUnitsFirstLevel(boolean bGetAdditionalInfos)
          Get the units first level
 List<Unit> getUnitWithNoChildren()
          Return all the Unit with no children (level 0)
 String getXMLUnits()
          Get the XML units
 boolean hasSubUnits(int nIdUnit)
          Check if the given id unit has sub units
 boolean isAuthorized(String strIdUnit, String strPermission, fr.paris.lutece.portal.business.user.AdminUser user)
          See IUnitService.isAuthorized(Unit, String, AdminUser)
 boolean isAuthorized(Unit unit, String strPermission, fr.paris.lutece.portal.business.user.AdminUser user)
          Check if the given user is authorized to do the action for a given unit.
 boolean isParent(Unit unitParent, Unit unitRef)
          Check if the first unit in parameter is parent of the second unit in parameter
 boolean moveSubTree(Unit unitToMove, Unit newUnitParent)
          Change the parent of a unit.
 void removeUnit(int nIdUnit, javax.servlet.http.HttpServletRequest request)
          Remove the unit only if the unit does not have sub units
 void updateUnit(Unit unit, javax.servlet.http.HttpServletRequest request)
          Update the unit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnitService

public UnitService()
Method Detail

getUnit

public Unit getUnit(int nIdUnit,
                    boolean bGetAdditionalInfos)
Get the unit

Specified by:
getUnit in interface IUnitService
Parameters:
nIdUnit - the id unit
bGetAdditionalInfos - true if it must get the additional infos
Returns:
an instance of Unit

getRootUnit

public Unit getRootUnit(boolean bGetAdditionalInfos)
Get the root unit

Specified by:
getRootUnit in interface IUnitService
Parameters:
bGetAdditionalInfos - true if it must get the ids sector
Returns:
an instance of Unit

getUnitsByIdUser

public List<Unit> getUnitsByIdUser(int nIdUser,
                                   boolean bGetAdditionalInfos)
Get the unit by id user

Specified by:
getUnitsByIdUser in interface IUnitService
Parameters:
nIdUser - the id user
bGetAdditionalInfos - true if it must get the ids sector
Returns:
a list of Unit

getAllUnits

public List<Unit> getAllUnits(boolean bGetAdditionalInfos)
Get all units

Specified by:
getAllUnits in interface IUnitService
Parameters:
bGetAdditionalInfos - true if it must get the ids sector
Returns:
a list of Unit

getUnitsFirstLevel

public List<Unit> getUnitsFirstLevel(boolean bGetAdditionalInfos)
Get the units first level

Specified by:
getUnitsFirstLevel in interface IUnitService
Parameters:
bGetAdditionalInfos - true if it must get the ids sector
Returns:
a list of Unit

getSubUnits

public List<Unit> getSubUnits(int nIdUnit,
                              boolean bGetAdditionalInfos)
Get the sub units from a given id unit

Specified by:
getSubUnits in interface IUnitService
Parameters:
nIdUnit - the id unit
bGetAdditionalInfos - true if it must get the ids sector
Returns:
a list of Unit

getListActions

public List<IAction> getListActions(String strActionType,
                                    Locale locale,
                                    Unit unit,
                                    fr.paris.lutece.portal.business.user.AdminUser user)
Get the list of actions

Specified by:
getListActions in interface IUnitService
Parameters:
strActionType - the action type
locale - the locale
unit - the unit
user - the user
Returns:
a list of IAction

getSubUnitsAsReferenceList

public fr.paris.lutece.util.ReferenceList getSubUnitsAsReferenceList(int nIdUnit,
                                                                     Locale locale)
Get the sub units as a ReferenceList

Specified by:
getSubUnitsAsReferenceList in interface IUnitService
Parameters:
nIdUnit - the id unit
locale - the locale
Returns:
a ReferenceList

getXMLUnits

public String getXMLUnits()
Get the XML units

Specified by:
getXMLUnits in interface IUnitService
Returns:
an XML

getTreeXsl

public Source getTreeXsl()
Get the XSL of the tree

Specified by:
getTreeXsl in interface IUnitService
Returns:
the XSL

findBySectorId

public List<Unit> findBySectorId(int nIdSector)
Find by sector id

Specified by:
findBySectorId in interface IUnitService
Parameters:
nIdSector - id sector
Returns:
list of Unit found

getUnitWithNoChildren

public List<Unit> getUnitWithNoChildren()
Return all the Unit with no children (level 0)

Specified by:
getUnitWithNoChildren in interface IUnitService
Returns:
all the Unit with no children (level 0)

hasSubUnits

public boolean hasSubUnits(int nIdUnit)
Check if the given id unit has sub units

Specified by:
hasSubUnits in interface IUnitService
Parameters:
nIdUnit - the id unit
Returns:
true if the unit has sub units, false otherwise

isParent

public boolean isParent(Unit unitParent,
                        Unit unitRef)
Check if the first unit in parameter is parent of the second unit in parameter

Specified by:
isParent in interface IUnitService
Parameters:
unitParent - the parent unit
unitRef - the unit to check
Returns:
true if there is a parent link between those two units

canCreateSubUnit

public boolean canCreateSubUnit(int nIdUnit)
Check if the given id unit, we can create sub unit.
Return false if the unit does not have sub units and has sectors

Specified by:
canCreateSubUnit in interface IUnitService
Parameters:
nIdUnit - the id unit
Returns:
true if we can create sub unit, false otherwise

isAuthorized

public boolean isAuthorized(Unit unit,
                            String strPermission,
                            fr.paris.lutece.portal.business.user.AdminUser user)
Check if the given user is authorized to do the action for a given unit.
This method calls the service RBACService to check the permission. However, the resource on which the permission must be checked is not necessarily the given unit. It may be a parent unit of the given unit.
There are 5 cases to handle :

Specified by:
isAuthorized in interface IUnitService
Parameters:
unit - the unit
strPermission - the permission
user - the user
Returns:
true if he is authorized, false otherwise

isAuthorized

public boolean isAuthorized(String strIdUnit,
                            String strPermission,
                            fr.paris.lutece.portal.business.user.AdminUser user)
See IUnitService.isAuthorized(Unit, String, AdminUser)

Specified by:
isAuthorized in interface IUnitService
Parameters:
strIdUnit - the id resource
strPermission - the permission
user - the user
Returns:
true if he is authorized, false otherwise

createUnit

@Transactional(value="unittree.transactionManager")
public int createUnit(Unit unit,
                                    javax.servlet.http.HttpServletRequest request)
               throws UnitErrorException
Create a unit

Specified by:
createUnit in interface IUnitService
Parameters:
unit - the unit
request - the HTTP request
Returns:
the id unit
Throws:
UnitErrorException - exception if there is an application error

removeUnit

@Transactional(value="unittree.transactionManager")
public void removeUnit(int nIdUnit,
                                     javax.servlet.http.HttpServletRequest request)
Remove the unit only if the unit does not have sub units

Specified by:
removeUnit in interface IUnitService
Parameters:
nIdUnit - the id unit
request - the HTTP request

updateUnit

@Transactional(value="unittree.transactionManager")
public void updateUnit(Unit unit,
                                     javax.servlet.http.HttpServletRequest request)
                throws UnitErrorException
Update the unit

Specified by:
updateUnit in interface IUnitService
Parameters:
unit - the unit
request - the HTTP request
Throws:
UnitErrorException - exception if there is an application error

moveSubTree

@Transactional(value="unittree.transactionManager")
public boolean moveSubTree(Unit unitToMove,
                                         Unit newUnitParent)
Change the parent of a unit.

Specified by:
moveSubTree in interface IUnitService
Parameters:
unitToMove - The unit to change the parent of.
newUnitParent - The new parent of the unit
Returns:
True if the sub tree was successfully move, false if the new parent is a child of the unit.


Copyright © 2013 Mairie de Paris. All Rights Reserved.