ActionUtil { public static String extractName( final Map<String, Serializable> params ) { final IWorkItemLifecycleEventPublisher publisher = PentahoSystem.get( IWorkItemLifecycleEventPublisher.class ); if ( publisher == null ) { return null; } if ( params == null ) { return generateWorkItemName( params ); } String name = (String) params.get( WORK_ITEM_NAME ); if ( name == null ) { name = generateWorkItemName( params ); params.put( WORK_ITEM_NAME, name ); } return name; }  static void removeKeyFromMap( final Map<String, ?> params, final String key ); static void prepareMap( final Map<String, Serializable> params ); static String extractName( final Map<String, Serializable> params ); static String generateWorkItemName( final Map<String, Serializable> params ); static boolean isInlinePassingOfInputOnStreamProvider( final Map<String, Serializable> params ); static String getInlineInputFileOnStreamProvider( final Map<String, Serializable> params ); static String getStreamProviderContent( final Map<String, Serializable> params ); static String generateWorkItemName( final String inputFilePath,
                                            final String userName ); static IAction createActionBean( final String actionClassName, final String actionId ); static IAction createActionBean( final String actionClassName, final String actionId, final boolean retryBeanInstantiationIfFailed ); static void sendEmail( Map<String, Object> actionParams, Map<String, Serializable> params, String filePath ); static final String QUARTZ_ACTIONCLASS; static final String QUARTZ_ACTIONUSER; static final String QUARTZ_ACTIONID; static final String QUARTZ_STREAMPROVIDER; static final String QUARTZ_STREAMPROVIDER_INPUT_FILE; static final String QUARTZ_STREAMPROVIDER_INLINE_INPUT_FILE; static final String QUARTZ_STREAMPROVIDER_INLINE_OUTPUT_FILE; static final String QUARTZ_UIPASSPARAM; static final String QUARTZ_LINEAGE_ID; static final String QUARTZ_RESTART_FLAG; static final String QUARTZ_AUTO_CREATE_UNIQUE_FILENAME; static final String QUARTZ_APPEND_DATE_FORMAT; static final String INVOKER_ACTIONPARAMS; static final String INVOKER_ACTIONCLASS; static final String INVOKER_ACTIONUSER; static final String INVOKER_ACTIONID; static final String INVOKER_UUID; static final String INVOKER_CONTENT_TYPE; static final String INVOKER_STATUS; static final String INVOKER_STREAMPROVIDER; static final String INVOKER_STREAMPROVIDER_INPUT_FILE; static final String INVOKER_STREAMPROVIDER_OUTPUT_FILE_PATTERN; static final String INVOKER_STREAMPROVIDER_UNIQUE_FILE_NAME; static final String INVOKER_UIPASSPARAM; static final String INVOKER_RESTART_FLAG; static final String INVOKER_SESSION; static final String INVOKER_ASYNC_EXEC; static final String INVOKER_DEFAULT_ASYNC_EXEC_VALUE; static final String INVOKER_SYNC_VALUE; static final String WORK_ITEM_UID; static final String WORK_ITEM_NAME; }
@Test public void testExtractName() { PowerMockito.mockStatic( PentahoSystem.class ); when( PentahoSystem.get( isA( IWorkItemLifecycleEventPublisher.class.getClass() ) ) ).thenReturn( new DummyPublisher() ); final Map<String, Serializable> params = new HashMap<>(); assertNotNull( ActionUtil.extractName( params ) ); assertTrue( params.containsKey( ActionUtil.WORK_ITEM_NAME ) ); final String uid = (String) params.get( ActionUtil.WORK_ITEM_NAME ); assertEquals( uid, ActionUtil.extractName( params ) ); assertEquals( 1, params.size() ); }
@Test public void testExtractNameWithoutPublisher() { final Map<String, Serializable> params = new HashMap<>(); assertNull( ActionUtil.extractName( params ) ); assertFalse( params.containsKey( ActionUtil.WORK_ITEM_UID ) ); }