Example usage for org.apache.commons.lang StringUtils splitByWholeSeparator

List of usage examples for org.apache.commons.lang StringUtils splitByWholeSeparator

Introduction

In this page you can find the example usage for org.apache.commons.lang StringUtils splitByWholeSeparator.

Prototype

public static String[] splitByWholeSeparator(String str, String separator) 

Source Link

Document

Splits the provided text into an array, separator string specified.

Usage

From source file:org.openengsb.connector.authentication.jira.internal.AuthenticationFileServiceImpl.java

private String findPasswordByUsername(String username) throws IOException {
    List<String> lines = FileUtils.readLines(Configuration.get().getUsernamePasswordFile());
    for (String line : lines) {
        String[] usernamePassword = StringUtils.splitByWholeSeparator(line,
                Configuration.get().getAssociationSeparator());
        if (usernamePassword.length < 1) {
            // invalid line
            continue;
        }//from w  ww  .j  a v a 2s  .  co m
        if (usernamePassword[0].equals(username)) {
            return usernamePassword.length > 1 ? usernamePassword[1] : "";
        }
    }
    return null;
}

From source file:org.openengsb.connector.userprojects.file.internal.file.AssignmentFileAccessObject.java

/**
 * Finds all the available assignments.//w  w w. j  a v a2  s.  co m
 * 
 * @return the list of available assignments
 */
public List<Assignment> findAllAssignments() {
    List<Assignment> list = new ArrayList<>();
    List<String> assignmentStrings;
    try {
        assignmentStrings = readLines(assignmentsFile);
    } catch (IOException e) {
        throw new FileBasedRuntimeException(e);
    }

    for (String assignmentString : assignmentStrings) {
        if (StringUtils.isNotBlank(assignmentString)) {
            String[] substrings = StringUtils.splitByWholeSeparator(assignmentString,
                    Configuration.get().getAssociationSeparator());
            if (substrings.length < 2 || StringUtils.isBlank(substrings[1])) {
                continue;
            }
            Assignment assignment = new Assignment(substrings[0], substrings[1]);
            if (substrings.length > 2) {
                assignment.setRoles(Arrays.asList(StringUtils.splitByWholeSeparator(substrings[2],
                        Configuration.get().getValueSeparator())));
            }
            list.add(assignment);
        }
    }
    return list;
}

From source file:org.openengsb.connector.userprojects.file.internal.file.RoleFileAccessObject.java

/**
 * Finds all the available roles./*from www  . j  a  v a  2 s. com*/
 * 
 * @return the list of available roles
 */
public List<Role> findAllRoles() {
    List<Role> list = new ArrayList<>();
    List<String> roleStrings;
    try {
        roleStrings = readLines(rolesFile);
    } catch (IOException e) {
        throw new FileBasedRuntimeException(e);
    }

    for (String roleString : roleStrings) {
        if (StringUtils.isNotBlank(roleString)) {
            String[] substrings = StringUtils.splitByWholeSeparator(roleString,
                    Configuration.get().getAssociationSeparator());
            if (substrings.length < 1 || StringUtils.isBlank(substrings[0])) {
                continue;
            }
            Role role = new Role(substrings[0]);
            if (substrings.length > 1) {
                role.setRoles(Arrays.asList(StringUtils.splitByWholeSeparator(substrings[1],
                        Configuration.get().getValueSeparator())));
            }
            list.add(role);
        }
    }

    return list;
}

From source file:org.openmrs.module.emrmonitor.EmrMonitorConfig.java

public static List<String> getDisabledMetricProducers() {
    List<String> ret = new ArrayList<String>();
    String val = Context.getAdministrationService().getGlobalProperty(GP_DISABLED_METRIC_PRODUCERS);
    if (StringUtils.isNotBlank(val)) {
        for (String s : StringUtils.splitByWholeSeparator(val, ",")) {
            ret.add(s.trim());//from  w  w w. ja v  a2  s .c o  m
        }
    }
    return ret;
}

From source file:org.openmrs.module.pihmalawi.activator.ReportInitializer.java

public static void loadSqlReports() {
    PathMatchingResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
    try {/*from w  ww . java  2  s. co  m*/
        Resource[] resources = resourceResolver
                .getResources("classpath*:/org/openmrs/module/pihmalawi/reporting/reports/sql/*");
        if (resources != null) {
            for (Resource r : resources) {
                log.info("Loading " + r.getFilename());
                List<String> lineByLineContents = IOUtils.readLines(r.getInputStream(), "UTF-8");

                ReportDefinition rd = new ReportDefinition();
                String designUuid = null;
                StringBuilder sql = new StringBuilder();

                for (String line : lineByLineContents) {
                    if (line.startsWith("-- ##")) {
                        String[] keyValue = StringUtils.splitByWholeSeparator(line.substring(5, line.length()),
                                "=");
                        String key = keyValue[0].trim().toLowerCase();
                        String value = keyValue[1].trim();
                        if (key.equals("report_uuid")) {
                            rd.setUuid(value);
                        } else if (key.equals("report_name")) {
                            rd.setName(value);
                        } else if (key.equals("report_description")) {
                            rd.setDescription(value);
                        } else if (key.equals("parameter")) {
                            String[] paramElements = StringUtils.splitByWholeSeparator(value, "|");
                            Parameter p = new Parameter();
                            p.setName(paramElements[0]);
                            p.setLabel(paramElements[1]);
                            p.setType(Context.loadClass(paramElements[2]));
                            rd.addParameter(p);
                        } else if (key.equals("design_uuid")) {
                            designUuid = value;
                        }
                    }
                    sql.append(line).append(System.getProperty("line.separator"));
                }

                if (rd.getUuid() == null || rd.getName() == null || designUuid == null) {
                    throw new IllegalArgumentException("SQL resource" + r.getFilename()
                            + " must define a report_name, report_uuid and design_uuid at minimum");
                }

                MysqlCmdDataSetDefinition dsd = new MysqlCmdDataSetDefinition();
                dsd.setSql(sql.toString());
                dsd.setParameters(rd.getParameters());

                rd.addDataSetDefinition(r.getFilename(), Mapped.mapStraightThrough(dsd));

                List<ReportDesign> designs = new ArrayList<ReportDesign>();
                designs.add(ApzuReportUtil.createExcelDesign(designUuid, rd));

                ReportManagerUtil.setupReportDefinition(rd, designs, null);
            }
        }
    } catch (Exception e) {
        throw new IllegalStateException("Unable to load SQL reports from classpath", e);
    }
}

From source file:org.openmrs.module.pihmalawi.reporting.definition.data.converter.PatientIdentifierConverter.java

/**
  * Attempts to convert a patient identifier value into a String of consistent length with leading zeros for numeric component for easier sorting.
 * @should convert a PatientIdentifier to a PIH Malawi standard representation
 *//*  w w w .ja va2s  .co  m*/
public Object convert(Object original) {
    PatientIdentifier pi = (PatientIdentifier) original;
    String id = "(none)";
    if (pi != null) {
        id = pi.getIdentifier();
        try {
            StringBuilder ret = new StringBuilder();
            DecimalFormat f = new java.text.DecimalFormat("0000");
            String[] split = StringUtils.splitByWholeSeparator(id, " ");
            for (int i = 0; i < split.length; i++) {
                ret.append(i == 0 ? "" : "-");
                ret.append(i == 1 ? f.format(Integer.valueOf(split[i])) : split[i]);
            }
            id = ret.toString();
        } catch (Exception e) {
            // If something unexpected happens, just return the identifier as is
        }
    }
    return id;
}

From source file:org.pdfsam.guiclient.configuration.services.xml.XmlGuiConfigurationService.java

public void save() throws IOException {
    if (configurationFile != null) {
        File parentDirectory = new File(XmlConfigurationService.DEFAULT_CONFIG_DIRECTORY);
        if (!parentDirectory.isDirectory() || !parentDirectory.exists()) {
            parentDirectory.mkdirs();/*from   w w w  .j  a v  a2s .com*/
        }

        Document document = DocumentHelper.createDocument();
        Element root = document.addElement(ROOT_NODE.replaceAll("/", ""));
        XmlUtility.processXPath(root, EXTENDED_STATE_XPATH, Integer.toString(extendedState));
        XmlUtility.processXPath(root, SELECTED_PLUGIN_XPATH, selectedPlugin);

        if (size != null) {
            XmlUtility.processXPath(root, SIZE_WIDTH_XPATH, Integer.toString((int) size.getWidth()));
            XmlUtility.processXPath(root, SIZE_HEIGHT_XPATH, Integer.toString((int) size.getHeight()));
        }

        if (locationOnScreen != null) {
            XmlUtility.processXPath(root, LOCATION_X_XPATH, Integer.toString((int) locationOnScreen.getX()));
            XmlUtility.processXPath(root, LOCATION_Y_XPATH, Integer.toString((int) locationOnScreen.getY()));
        }

        if (horizontalDividerLocation > 0) {
            XmlUtility.processXPath(root, HORIZONTAL_DIVIDER_LOCATION_XPATH,
                    Integer.toString(horizontalDividerLocation));
        }

        if (horizontalDividerDimension != null) {
            XmlUtility.processXPath(root, HORIZONTAL_DIVIDER_WIDTH_XPATH,
                    Integer.toString((int) horizontalDividerDimension.getWidth()));
            XmlUtility.processXPath(root, HORIZONTAL_DIVIDER_HEIGHT_XPATH,
                    Integer.toString((int) horizontalDividerDimension.getHeight()));
        }

        if (verticalDividerLocation > 0) {
            XmlUtility.processXPath(root, VERTICAL_DIVIDER_LOCATION_XPATH,
                    Integer.toString(verticalDividerLocation));
        }

        if (verticalDividerDimension != null) {
            XmlUtility.processXPath(root, VERTICAL_DIVIDER_WIDTH_XPATH,
                    Integer.toString((int) verticalDividerDimension.getWidth()));
            XmlUtility.processXPath(root, VERTICAL_DIVIDER_HEIGHT_XPATH,
                    Integer.toString((int) verticalDividerDimension.getHeight()));
        }

        Element recentEnvNode = XmlUtility.processXPath(root, RECENT_ENVS_PARENT_XPATH, null);
        String[] recentEnvTokens = StringUtils.splitByWholeSeparator(RECENT_ENVS_NODE_XPATH, "/@");
        XmlUtility.addXmlNodesAndAttribute(recentEnvNode, recentEnvTokens[0], recentEnvTokens[1],
                recentEnvironments);

        LOG.debug(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),
                "Saving GUI configuration") + "..");
        XmlUtility.writeXmlFile(document, configurationFile);
    }
}

From source file:org.pepstock.jem.jbpm.tasks.utilities.sort.DefaultComparator.java

/**
 * Loads commands from COMMAND data description
 * //from   w  w  w .j  a  v  a  2 s . co  m
 * @param records lines of data set
 * @throws ParseException if there is a mistake on command
 */
private void loadCommands(String records) throws ParseException {
    // splits all words and rejoins removing useless spaces
    String[] s = StringUtils.split(records, " ");
    String commandLine = StringUtils.join(s);
    LogAppl.getInstance().emit(JBpmMessage.JEMM045I, commandLine);

    // splits command with bracket and comma
    String[] s1 = StringUtils.splitByWholeSeparator(commandLine, "),");
    for (int i = 0; i < s1.length; i++) {
        Object[] result = null;
        // if ends with bracket, uses asis
        // otherwise adds a bracket
        String command = s1[i].endsWith(")") ? s1[i] : s1[i] + ")";
        // parses in cascade mode all message formats
        // first that matches creates result
        // otherwise there is a parse exception
        try {
            result = MESSAGE_FORMAT_1.parse(command);
        } catch (ParseException e) {
            try {
                result = MESSAGE_FORMAT_2.parse(command);
            } catch (ParseException e1) {
                try {
                    result = MESSAGE_FORMAT_2_STRING.parse(command);
                } catch (ParseException e2) {
                    try {
                        result = MESSAGE_FORMAT_1_STRING.parse(command);
                    } catch (ParseException e3) {
                        LogAppl.getInstance().emit(JBpmMessage.JEMM046W, e3, command, e3.getMessage());
                        throw e3;
                    }
                }
            }
        }
        // if has result, creates a comparator
        // and adds it to a collection
        if (result != null) {
            SingleComparator c;
            try {
                c = createSingleComparator(result);
                comparators.add(c);
            } catch (ParseException e) {
                LogAppl.getInstance().emit(JBpmMessage.JEMM046W, e, command, e.getMessage());
                throw e;
            }

        }
    }

}

From source file:org.processbase.ui.bpm.admin.AdminCaseList.java

@Override
public int load(int startPosition, int maxResults) {
    try {//from   w  w  w  .jav a2  s . c  o m
        table.removeAllItems();

        Set<InstanceState> statesFilters = new HashSet<InstanceState>();
        if (showFinished == null || !((Boolean) showFinished.getValue())) {
            statesFilters.add(InstanceState.STARTED);
        }

        // Filter words
        Set<String> filterWords = new HashSet<String>();
        if (additionalFilter != null && additionalFilter.getValue() != null
                && StringUtils.isNotBlank(additionalFilter.getValue() + "")) {
            String[] words = StringUtils.splitByWholeSeparator(additionalFilter.getValue() + "", " ");
            for (int i = 0; i < words.length; i++) {
                filterWords.add(words[i]);
            }
        }

        BPMModule bpmModule = ProcessbaseApplication.getCurrent().getBpmModule();

        List<LightProcessInstance> results = new ArrayList<LightProcessInstance>();
        results.addAll(bpmModule.getLightProcessInstances());

        // Filter process instances
        List<LightProcessInstance> filtered = new ArrayList<LightProcessInstance>();

        for (LightProcessInstance pi : results) {
            if (statesFilters.size() > 0 && !statesFilters.contains(pi.getInstanceState())) {
                continue;
            }

            if (filterWords.size() > 0) {

                String name = pi.getUUID().toString().split("--")[0] + "  #" + pi.getNb();

                boolean contains = true;
                for (String w : filterWords) {
                    if (!StringUtils.containsIgnoreCase(name, w)) {
                        contains = false;
                        break;
                    }
                }
                if (!contains) {
                    continue;
                }
            }

            filtered.add(pi);
        }

        // Let sort list
        Collections.sort(filtered, new Comparator<LightProcessInstance>() {
            public int compare(LightProcessInstance o1, LightProcessInstance o2) {
                return o2.getStartedDate().compareTo(o1.getStartedDate());
            }
        });

        int from = startPosition < filtered.size() ? startPosition : filtered.size();
        int to = (startPosition + maxResults) < filtered.size() ? (startPosition + maxResults)
                : filtered.size();

        List<LightProcessInstance> page = filtered.subList(from, to);

        for (LightProcessInstance pi : page) {

            Item woItem = table.addItem(pi);

            String pdUUID = pi.getProcessDefinitionUUID().toString();

            TableLinkButton teb = new TableLinkButton(pdUUID.split("--")[0] + "  #" + pi.getNb(), null, null,
                    pi, this, Constants.ACTION_OPEN);

            woItem.getItemProperty("name").setValue(teb);
            woItem.getItemProperty("initiator").setValue(pi.getStartedBy());
            woItem.getItemProperty("startedDate").setValue(pi.getStartedDate());
            woItem.getItemProperty("version").setValue(pdUUID.split("--")[1]);

            // Find all tasks
            List<LightTaskInstance> tasks = new ArrayList<LightTaskInstance>();
            try {
                tasks.addAll(bpmModule.getLightTasks(pi.getProcessInstanceUUID()));
            } catch (Exception e) {
                e.printStackTrace();
            }

            // Sort tasks
            Collections.sort(tasks, new Comparator<LightTaskInstance>() {

                public int compare(LightTaskInstance o2, LightTaskInstance o1) {
                    return o1.getLastUpdateDate().compareTo(o2.getLastUpdateDate());
                }
            });
            if (!tasks.isEmpty()) {
                woItem.getItemProperty("lastUpdate").setValue(tasks.get(0).getLastUpdateDate());
            } else {
                woItem.getItemProperty("lastUpdate").setValue(pi.getLastUpdate());
            }

            woItem.getItemProperty("state").setValue(getText(pi.getInstanceState().toString()));
        }

        table.setSortContainerPropertyId("lastUpdate");
        table.setSortAscending(false);
        table.sort();

        return page.size();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return 0;
}

From source file:org.processbase.ui.bpm.admin.AdminTaskList.java

@Override
public int load(int startPosition, int maxResults) {

    table.removeAllItems();/*from www. ja v a  2s  .c  o  m*/
    try {
        BPMModule bpmModule = ProcessbaseApplication.getCurrent().getBpmModule();

        Set<LightActivityInstance> ais = bpmModule.getActivityInstances();

        Set<ActivityState> stateFilters = new HashSet<ActivityState>();
        if (showFinished == null || !(Boolean) showFinished.getValue()) {
            stateFilters.add(ActivityState.READY);
            stateFilters.add(ActivityState.EXECUTING);
            stateFilters.add(ActivityState.SUSPENDED);
        }

        // Filter words
        Set<String> filterWords = new HashSet<String>();
        if (additionalFilter != null && additionalFilter.getValue() != null
                && StringUtils.isNotBlank(additionalFilter.getValue() + "")) {
            String[] words = StringUtils.splitByWholeSeparator(additionalFilter.getValue() + "", " ");
            for (int i = 0; i < words.length; i++) {
                filterWords.add(words[i]);
            }
        }

        // Filter
        List<LightActivityInstance> filtered = new ArrayList<LightActivityInstance>();
        for (LightActivityInstance ai : ais) {
            if (stateFilters.size() > 0 && !stateFilters.contains(ai.getState())) {
                continue;
            }

            if (filterWords.size() > 0) {
                String processName = ai.getProcessDefinitionUUID().toString();

                StringBuilder link = new StringBuilder(
                        ai.getActivityLabel() != null ? ai.getActivityLabel() : ai.getActivityName());

                if (ai.getDynamicLabel() != null && ai.getDynamicDescription() != null) {
                    link.append("(").append(ai.getDynamicLabel()).append(" - ")
                            .append(ai.getDynamicDescription()).append(")");
                } else if (ai.getDynamicLabel() != null && ai.getDynamicDescription() == null) {
                    link.append("(").append(ai.getDynamicLabel()).append(")");
                } else if (ai.getDynamicLabel() != null && ai.getDynamicDescription() != null) {
                    link.append("(").append(ai.getDynamicDescription()).append(")");
                }

                String taskName = link.toString();

                boolean contains = true;
                for (String w : filterWords) {
                    if (!StringUtils.containsIgnoreCase(processName, w)
                            && !StringUtils.containsIgnoreCase(taskName, w)) {
                        contains = false;
                        break;
                    }
                }
                if (!contains) {
                    continue;
                }
            }

            filtered.add(ai);
        }

        // Let sort list
        Collections.sort(filtered, new Comparator<LightActivityInstance>() {
            public int compare(LightActivityInstance o1, LightActivityInstance o2) {
                return o2.getLastUpdateDate().compareTo(o1.getLastUpdateDate());
            }
        });

        int from = startPosition < filtered.size() ? startPosition : filtered.size();
        int to = (startPosition + maxResults) < filtered.size() ? (startPosition + maxResults)
                : filtered.size();

        List<LightActivityInstance> page = filtered.subList(from, to);

        for (LightActivityInstance ai : page) {
            Item woItem = table.addItem(ai);

            LightProcessDefinition lpd = bpmModule.getLightProcessDefinition(ai.getProcessDefinitionUUID());

            String processName = lpd.getLabel() != null ? lpd.getLabel() : lpd.getName();
            String processInstanceUUID = ai.getProcessInstanceUUID().toString();
            woItem.getItemProperty("processName").setValue(processName + "  #"
                    + processInstanceUUID.substring(processInstanceUUID.lastIndexOf("--") + 2));

            StringBuilder link = new StringBuilder(
                    ai.getActivityLabel() != null ? ai.getActivityLabel() : ai.getActivityName());

            if (ai.getDynamicLabel() != null && ai.getDynamicDescription() != null) {
                link.append("(").append(ai.getDynamicLabel()).append(" - ").append(ai.getDynamicDescription())
                        .append(")");
            } else if (ai.getDynamicLabel() != null && ai.getDynamicDescription() == null) {
                link.append("(").append(ai.getDynamicLabel()).append(")");
            } else if (ai.getDynamicLabel() != null && ai.getDynamicDescription() != null) {
                link.append("(").append(ai.getDynamicDescription()).append(")");
            }

            TableLinkButton teb = new TableLinkButton(link.toString(), ai.getActivityDescription(), null, ai,
                    this, Constants.ACTION_OPEN);
            woItem.getItemProperty("label").setValue(teb);
            woItem.getItemProperty("lastUpdate").setValue(ai.getLastUpdateDate());
            woItem.getItemProperty("state").setValue(getText(ai.getState().toString()));
            if (ai.isTask()) {
                woItem.getItemProperty("type").setValue(getText("task"));
            } else if (ai.isAutomatic()) {
                woItem.getItemProperty("type").setValue(getText("automatic"));
            } else if (ai.isTimer()) {
                woItem.getItemProperty("type").setValue(getText("timer"));
            } else if (ai.isSubflow()) {
                woItem.getItemProperty("type").setValue(getText("subflow"));
            }

            if (ai.getTask() != null && ai.getTask().isTaskAssigned()) {
                woItem.getItemProperty("assigned").setValue(ai.getTask().getTaskUser());
            }

            ProcessInstanceUUID processUuid = ai.getProcessInstanceUUID();
            if (ai.getRootInstanceUUID() != null) {
                processUuid = ai.getRootInstanceUUID();
            }
            try {
                LightProcessInstance process = bpmModule.getLightProcessInstance(processUuid);
                woItem.getItemProperty("initiator").setValue(process.getStartedBy());
            } catch (Exception e) {
                e.printStackTrace();
            }

        }

        table.setSortContainerPropertyId("lastUpdate");
        table.setSortAscending(false);
        table.sort();

        return page.size();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return 0;
}