public List<String> checkNoCommands() throws SearchException, CommandNotFoundException, DeletionException { final List<String> messages = new ArrayList<>(); final SearchOptionsBuilder searchOptionsBuilder = new SearchOptionsBuilder(0, 1000); searchOptionsBuilder.filter(CommandSearchDescriptor.SYSTEM, false); searchOptionsBuilder.differentFrom(CommandSearchDescriptor.NAME, ClientEventUtil.ADD_HANDLER_COMMAND); searchOptionsBuilder.differentFrom(CommandSearchDescriptor.NAME, ClientEventUtil.WAIT_SERVER_COMMAND); final SearchResult<CommandDescriptor> searchCommands = getCommandAPI().searchCommands(searchOptionsBuilder.done()); final List<CommandDescriptor> commands = searchCommands.getResult(); if (searchCommands.getCount() > 0) { final StringBuilder commandBuilder = new StringBuilder("Commands are still present: "); for (final CommandDescriptor command : commands) { commandBuilder.append(command.getName()).append(", "); getCommandAPI().unregister(command.getName()); } messages.add(commandBuilder.toString()); } return messages; }
protected void cleanCommands() throws SearchException, CommandNotFoundException, DeletionException { final SearchOptionsBuilder searchOptionsBuilder = new SearchOptionsBuilder(0, 1000); searchOptionsBuilder.filter(CommandSearchDescriptor.SYSTEM, false); searchOptionsBuilder.differentFrom(CommandSearchDescriptor.NAME, ClientEventUtil.ADD_HANDLER_COMMAND); searchOptionsBuilder.differentFrom(CommandSearchDescriptor.NAME, ClientEventUtil.WAIT_SERVER_COMMAND); final SearchResult<CommandDescriptor> searchCommands = getCommandAPI().searchCommands(searchOptionsBuilder.done()); final List<CommandDescriptor> commands = searchCommands.getResult(); if (searchCommands.getCount() > 0) { for (final CommandDescriptor command : commands) { getCommandAPI().unregister(command.getName()); } } }
@Override public SearchResult<ProcessInstance> searchOpenProcessInstances(final SearchOptions searchOptions) throws SearchException { // To select all process instances completed, without subprocess final SearchOptionsBuilder searchOptionsBuilder = new SearchOptionsBuilder(searchOptions); searchOptionsBuilder.differentFrom(ProcessInstanceSearchDescriptor.STATE_ID, ProcessInstanceState.COMPLETED.getId()); searchOptionsBuilder.filter(ProcessInstanceSearchDescriptor.CALLER_ID, -1); try { return searchProcessInstances(getTenantAccessor(), searchOptionsBuilder.done()); } catch (final SBonitaException e) { throw new SearchException(e); } }
@Override public SearchResult<ProcessInstance> searchOpenProcessInstances(final SearchOptions searchOptions) throws SearchException { // To select all process instances completed, without subprocess final SearchOptionsBuilder searchOptionsBuilder = new SearchOptionsBuilder(searchOptions); searchOptionsBuilder.differentFrom(ProcessInstanceSearchDescriptor.STATE_ID, ProcessInstanceState.COMPLETED.getId()); searchOptionsBuilder.filter(ProcessInstanceSearchDescriptor.CALLER_ID, -1); try { return searchProcessInstances(getTenantAccessor(), searchOptionsBuilder.done()); } catch (final SBonitaException e) { throw new SearchException(e); } }