View Javadoc
1   package fr.paris.lutece.plugins.workflow.service;
2   
3   import fr.paris.lutece.portal.business.rbac.RBAC;
4   import fr.paris.lutece.portal.service.i18n.I18nService;
5   import fr.paris.lutece.portal.service.rbac.Permission;
6   import fr.paris.lutece.portal.service.rbac.ResourceIdService;
7   import fr.paris.lutece.portal.service.rbac.ResourceType;
8   import fr.paris.lutece.portal.service.rbac.ResourceTypeManager;
9   import fr.paris.lutece.util.ReferenceList;
10  
11  import java.util.Locale;
12  
13  /**
14   *
15   * class WorkflowResourceIdService
16   *
17   */
18  public class WorkflowAppResourceIdService extends ResourceIdService
19  {
20      public static final String RESOURCE_TYPE_KEY = "WORKFLOW_APP";
21      public static final String PERM_WORKFLOW_LIST    = "PERM_WORKFLOW_LIST";
22      public static final String PERM_WORKFLOW_CREATE    = "PERM_WORKFLOW_CREATE";
23      public static final String PERM_WORKFLOW_IMPORT    = "PERM_WORKFLOW_IMPORT";
24  
25      private static final String PROPERTY_LABEL_RESOURCE_TYPE = "workflow.permission.label.resource_type_workflow_app";
26      private static final String PROPERTY_LABEL_LIST     = "workflow.permission.label.list_workflow";
27      private static final String PROPERTY_LABEL_CREATE     = "workflow.permission.label.create_workflow";
28      private static final String PROPERTY_LABEL_IMPORT     = "workflow.permission.label.import_workflow";
29      private static final String PROPERTY_LABEL_TITLE     = "workflow.permission.label.title_workflow_app";
30  
31      public WorkflowAppResourceIdService( )
32      {
33          setPluginName( WorkflowPlugin.PLUGIN_NAME );
34      }
35  
36      @Override
37      public void register( )
38      {
39          ResourceType rt = new ResourceType( );
40          rt.setResourceIdServiceClass( getClass( ).getName( ) );
41          rt.setPluginName( WorkflowPlugin.PLUGIN_NAME );
42          rt.setResourceTypeKey( RESOURCE_TYPE_KEY );
43          rt.setResourceTypeLabelKey( PROPERTY_LABEL_RESOURCE_TYPE );
44  
45          Permission p = new Permission( );
46          p.setPermissionKey( PERM_WORKFLOW_CREATE );
47          p.setPermissionTitleKey( PROPERTY_LABEL_CREATE );
48          rt.registerPermission( p );
49  
50          p = new Permission( );
51          p.setPermissionKey( PERM_WORKFLOW_LIST );
52          p.setPermissionTitleKey( PROPERTY_LABEL_LIST );
53          rt.registerPermission( p );
54  
55          p = new Permission( );
56          p.setPermissionKey( PERM_WORKFLOW_IMPORT );
57          p.setPermissionTitleKey( PROPERTY_LABEL_IMPORT );
58          rt.registerPermission( p );
59  
60          ResourceTypeManager.registerResourceType( rt );
61      }
62  
63      @Override
64      public ReferenceList getResourceIdList( Locale locale )
65      {
66          ReferenceList rl = new ReferenceList( );
67          rl.addItem( RBAC.WILDCARD_RESOURCES_ID, I18nService.getLocalizedString( PROPERTY_LABEL_TITLE, locale ) );
68          return rl;
69      }
70  
71      @Override
72      public String getTitle( String strId, Locale locale )
73      {
74          return I18nService.getLocalizedString( PROPERTY_LABEL_TITLE, locale );
75      }
76  }