Search in sources :

Example 6 with StringUtils.split

use of org.apache.commons.lang3.StringUtils.split in project RFToolsDimensions by McJty.

the class DimensionDescriptor method getDimletsWithModifiers.

public List<Pair<DimletKey, List<DimletKey>>> getDimletsWithModifiers() {
    List<Pair<DimletKey, List<DimletKey>>> result = new ArrayList<>();
    String ds = descriptionString;
    if (ds.startsWith("@")) {
        ds = ds.substring(1);
    }
    if (!ds.isEmpty()) {
        List<DimletKey> modifiers = new ArrayList<>();
        String[] opcodes = StringUtils.split(ds, ",");
        for (String oc : opcodes) {
            DimletKey key;
            if (oc.startsWith("#")) {
                // First comes '#', then the type of the actual dimlet.
                key = DimletKey.parseKey(oc.substring(1));
                modifiers.add(key);
            } else if (oc.startsWith("?")) {
            } else {
                key = DimletKey.parseKey(oc);
                result.add(Pair.of(key, modifiers));
                modifiers = new ArrayList<>();
            }
        }
    }
    return result;
}
Also used : ArrayList(java.util.ArrayList) DimletKey(mcjty.rftoolsdim.dimensions.dimlets.DimletKey) Pair(org.apache.commons.lang3.tuple.Pair)

Example 7 with StringUtils.split

use of org.apache.commons.lang3.StringUtils.split in project blue by kunstmusik.

the class CSDRender method createAllNotesOffInstrument.

protected Instrument createAllNotesOffInstrument(String[] instrIds) {
    GenericInstrument instr = new GenericInstrument();
    StrBuilder buffer = new StrBuilder();
    buffer.append("koff init 0\n" + "if (koff == 0) then\n");
    for (int i = 0; i < instrIds.length; i++) {
        String id = instrIds[i];
        String[] parts = StringUtils.split(id, ",");
        for (int j = 0; j < parts.length; j++) {
            String tempId = parts[j];
            try {
                int instrIdNum = Integer.parseInt(tempId.trim());
                buffer.append("turnoff2 ").append(instrIdNum);
                buffer.append(", 0, 1\n");
            } catch (NumberFormatException nfe) {
                buffer.append("insno").append(i).append(j);
                buffer.append(" nstrnum \"").append(tempId).append("\"\n");
                buffer.append("turnoff2 insno").append(i).append(j);
                buffer.append(", 0, 1\n");
            }
        }
    }
    buffer.append("koff = 1\nelse\nturnoff\nendif\n");
    instr.setText(buffer.toString());
    return instr;
}
Also used : GenericInstrument(blue.orchestra.GenericInstrument) StrBuilder(org.apache.commons.lang3.text.StrBuilder) LinePoint(blue.components.lines.LinePoint)

Example 8 with StringUtils.split

use of org.apache.commons.lang3.StringUtils.split in project nuxeo-drive-server by nuxeo.

the class RootDefinitionsHelper method parseRootDefinitions.

/**
 * Parses the given synchronization root definitions string.
 */
public static Map<String, Set<IdRef>> parseRootDefinitions(String rootDefinitions) {
    Map<String, Set<IdRef>> lastActiveRootRefs = new LinkedHashMap<>();
    if (rootDefinitions != null) {
        String[] rootDefinitionComponents = StringUtils.split(rootDefinitions, ",");
        for (String rootDefinition : rootDefinitionComponents) {
            String[] rootComponents = StringUtils.split(rootDefinition, ":");
            String repoName = rootComponents[0].trim();
            lastActiveRootRefs.computeIfAbsent(repoName, k -> new HashSet<>()).add(new IdRef(rootComponents[1].trim()));
        }
    }
    return lastActiveRootRefs;
}
Also used : HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) IdRef(org.nuxeo.ecm.core.api.IdRef) Set(java.util.Set) StringUtils(org.apache.commons.lang3.StringUtils) HashSet(java.util.HashSet) Set(java.util.Set) IdRef(org.nuxeo.ecm.core.api.IdRef) LinkedHashMap(java.util.LinkedHashMap) HashSet(java.util.HashSet)

Example 9 with StringUtils.split

use of org.apache.commons.lang3.StringUtils.split in project plugin-prov-azure by ligoj.

the class ProvAzurePriceImportResource method installInstancesTerm.

private void installInstancesTerm(final UpdateContext context, final ProvInstancePriceTerm term, final ProvInstancePriceTerm termLow, Entry<String, AzureVmPrice> azPrice) {
    final String[] parts = StringUtils.split(azPrice.getKey(), '-');
    final VmOs os = VmOs.valueOf(parts[0].replace("redhat", "RHEL").replace("sles", "SUSE").toUpperCase());
    // Basic, Low Priority, Standard
    final String tier = parts[2];
    final boolean isBasic = "basic".equals(tier);
    final AzureVmPrice azType = azPrice.getValue();
    // Get the right term : "lowpriority" within "PayGo" or the current term
    final ProvInstancePriceTerm termU = tier.equals("lowpriority") ? termLow : term;
    final String globalCode = termU.getName() + "-" + azPrice.getKey();
    final ProvInstanceType type = installInstancePriceType(context, parts, isBasic, azType);
    // Iterate over regions enabling this instance type
    azType.getPrices().entrySet().stream().filter(pl -> isEnabledRegion(pl.getKey())).forEach(pl -> {
        final ProvInstancePrice price = installInstancePrice(context, termU, os, globalCode, type, pl.getKey());
        // Update the cost
        price.setCost(round3Decimals(pl.getValue().getValue() * 24 * 30.5));
        price.setCostPeriod(pl.getValue().getValue());
        ipRepository.save(price);
    });
}
Also used : ProvStorageType(org.ligoj.app.plugin.prov.model.ProvStorageType) Arrays(java.util.Arrays) ClassPathResource(org.springframework.core.io.ClassPathResource) HashMap(java.util.HashMap) Function(java.util.function.Function) StringUtils(org.apache.commons.lang3.StringUtils) HashSet(java.util.HashSet) ProvTenancy(org.ligoj.app.plugin.prov.model.ProvTenancy) ProvLocation(org.ligoj.app.plugin.prov.model.ProvLocation) Service(org.springframework.stereotype.Service) Map(java.util.Map) Rate(org.ligoj.app.plugin.prov.model.Rate) CurlProcessor(org.ligoj.app.resource.plugin.CurlProcessor) TypeReference(com.fasterxml.jackson.core.type.TypeReference) INamableBean(org.ligoj.bootstrap.core.INamableBean) Node(org.ligoj.app.model.Node) Set(java.util.Set) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) StandardCharsets(java.nio.charset.StandardCharsets) ProvInstancePrice(org.ligoj.app.plugin.prov.model.ProvInstancePrice) IOUtils(org.apache.commons.io.IOUtils) List(java.util.List) VmOs(org.ligoj.app.plugin.prov.model.VmOs) Slf4j(lombok.extern.slf4j.Slf4j) Entry(java.util.Map.Entry) PostConstruct(javax.annotation.PostConstruct) ProvInstancePriceTerm(org.ligoj.app.plugin.prov.model.ProvInstancePriceTerm) Optional(java.util.Optional) ProvAzurePluginResource(org.ligoj.app.plugin.prov.azure.ProvAzurePluginResource) ProvStoragePrice(org.ligoj.app.plugin.prov.model.ProvStoragePrice) AbstractImportCatalogResource(org.ligoj.app.plugin.prov.in.AbstractImportCatalogResource) ProvInstanceType(org.ligoj.app.plugin.prov.model.ProvInstanceType) ProvStorageOptimized(org.ligoj.app.plugin.prov.model.ProvStorageOptimized) VmOs(org.ligoj.app.plugin.prov.model.VmOs) ProvInstanceType(org.ligoj.app.plugin.prov.model.ProvInstanceType) ProvInstancePrice(org.ligoj.app.plugin.prov.model.ProvInstancePrice) ProvInstancePriceTerm(org.ligoj.app.plugin.prov.model.ProvInstancePriceTerm)

Example 10 with StringUtils.split

use of org.apache.commons.lang3.StringUtils.split in project sponge by softelnet.

the class StandaloneEngineBuilder method build.

/**
 * Returns a new StandaloneEngine or {@code null} if help or version option is specified so the application should exit.
 */
@Override
public StandaloneSpongeEngine build() {
    try {
        if (commandLineArgs == null) {
            return super.build();
        }
        CommandLineParser parser = new DefaultParser();
        CommandLine commandLine = parser.parse(options, commandLineArgs);
        if (commandLine.hasOption(OPTION_HELP)) {
            printHelp();
            return null;
        }
        if (commandLine.hasOption(OPTION_VERSION)) {
            System.out.println(getDescription());
            return null;
        }
        if (commandLine.hasOption(OPTION_CONFIG)) {
            config(commandLine.getOptionValue(OPTION_CONFIG));
        }
        if (Stream.of(commandLine.getOptions()).filter(option -> option.getOpt().equals(OPTION_CONFIG)).count() > 1) {
            throw new StandaloneInitializationException("Only one Sponge XML configuration file may be provided.");
        }
        Stream.of(commandLine.getOptions()).filter(option -> option.getOpt().equals(OPTION_KNOWLEDGE_BASE)).forEachOrdered(option -> {
            String value = option.getValue();
            if (value == null || StringUtils.isBlank(value)) {
                throw new StandaloneInitializationException("Empty knowledge base specification.");
            }
            String[] values = StringUtils.split(value, ARGUMENT_VALUE_SEPARATOR);
            String kbName = values.length == 2 ? values[0] : DEFAULT_KNOWLEDGE_BASE_NAME;
            String kbFilesString = values.length == 2 ? values[1] : values[0];
            if (StringUtils.isBlank(kbName)) {
                throw new StandaloneInitializationException("Empty knowledge base name.");
            }
            List<String> kbFiles = SpongeUtils.split(kbFilesString, KB_FILES_SEPARATOR);
            knowledgeBase(kbName, kbFiles.toArray(new String[kbFiles.size()]));
        });
        if (!commandLine.hasOption(OPTION_CONFIG) && !commandLine.hasOption(OPTION_KNOWLEDGE_BASE)) {
            throw new StandaloneInitializationException("An Sponge XML configuration file or a knowledge base file(s) should be provided.");
        }
        // Apply standard parameters.
        super.build();
        applyDefaultParameters();
        if (commandLine.hasOption(OPTION_INTERACTIVE)) {
            InteractiveMode interactiveMode = new DefaultInteractiveMode(engine, commandLine.getOptionValue(OPTION_INTERACTIVE), interactiveModeConsoleSupplier);
            ExceptionHandler interactiveExceptionHandler = new SystemErrExceptionHandler();
            interactiveMode.setExceptionHandler(interactiveExceptionHandler);
            engine.setInteractiveMode(interactiveMode);
            if (commandLine.hasOption(OPTION_PRINT_ALL_EXCEPTIONS)) {
                engine.setExceptionHandler(new CombinedExceptionHandler(interactiveExceptionHandler, new LoggingExceptionHandler()));
            } else {
                LoggingUtils.logToConsole(false);
            }
        } else {
            if (commandLine.hasOption(OPTION_PRINT_ALL_EXCEPTIONS)) {
                throw new StandaloneInitializationException("'" + OPTION_PRINT_ALL_EXCEPTIONS + "' option may be used only if '" + OPTION_INTERACTIVE + "' is also used.");
            }
        }
        StandaloneEngineListener standaloneListener = new StandaloneEngineListener(engine);
        List<String> springConfigurationFiles = Stream.of(commandLine.getOptions()).filter(option -> option.getOpt().equals(OPTION_SPRING)).map(option -> {
            String[] values = option.getValues();
            if (values == null || values.length == 0) {
                throw new StandaloneInitializationException("No Spring configuration file provided.");
            }
            return option.getValue(0);
        }).collect(Collectors.toList());
        if (!springConfigurationFiles.isEmpty()) {
            standaloneListener.setSpringConfigurations(springConfigurationFiles);
        }
        if (commandLine.hasOption(OPTION_CAMEL)) {
            standaloneListener.setCamel(true);
        }
        engine.addOnStartupListener(standaloneListener);
        engine.addOnShutdownListener(standaloneListener);
    } catch (ParseException e) {
        throw new StandaloneInitializationException(e.getMessage(), e);
    }
    return engine;
}
Also used : VersionInfo(org.openksavi.sponge.core.VersionInfo) LoggingExceptionHandler(org.openksavi.sponge.core.engine.LoggingExceptionHandler) JLineInteractiveModeConsole(org.openksavi.sponge.standalone.interactive.JLineInteractiveModeConsole) Options(org.apache.commons.cli.Options) LoggerFactory(org.slf4j.LoggerFactory) HelpFormatter(org.apache.commons.cli.HelpFormatter) Supplier(java.util.function.Supplier) StringUtils(org.apache.commons.lang3.StringUtils) DefaultParser(org.apache.commons.cli.DefaultParser) CommandLine(org.apache.commons.cli.CommandLine) Option(org.apache.commons.cli.Option) InteractiveModeConsole(org.openksavi.sponge.engine.interactive.InteractiveModeConsole) Logger(org.slf4j.Logger) CommandLineParser(org.apache.commons.cli.CommandLineParser) InteractiveModeConstants(org.openksavi.sponge.core.engine.interactive.InteractiveModeConstants) ExceptionHandler(org.openksavi.sponge.engine.ExceptionHandler) CombinedExceptionHandler(org.openksavi.sponge.core.engine.CombinedExceptionHandler) Collectors(java.util.stream.Collectors) InteractiveMode(org.openksavi.sponge.engine.interactive.InteractiveMode) List(java.util.List) Stream(java.util.stream.Stream) ParseException(org.apache.commons.cli.ParseException) StringsCompleter(org.jline.reader.impl.completer.StringsCompleter) SpongeUtils(org.openksavi.sponge.core.util.SpongeUtils) EngineBuilder(org.openksavi.sponge.core.engine.EngineBuilder) LoggingUtils(org.openksavi.sponge.logging.LoggingUtils) DefaultInteractiveMode(org.openksavi.sponge.core.engine.interactive.DefaultInteractiveMode) LoggingExceptionHandler(org.openksavi.sponge.core.engine.LoggingExceptionHandler) LoggingExceptionHandler(org.openksavi.sponge.core.engine.LoggingExceptionHandler) ExceptionHandler(org.openksavi.sponge.engine.ExceptionHandler) CombinedExceptionHandler(org.openksavi.sponge.core.engine.CombinedExceptionHandler) CommandLine(org.apache.commons.cli.CommandLine) CombinedExceptionHandler(org.openksavi.sponge.core.engine.CombinedExceptionHandler) DefaultInteractiveMode(org.openksavi.sponge.core.engine.interactive.DefaultInteractiveMode) CommandLineParser(org.apache.commons.cli.CommandLineParser) ParseException(org.apache.commons.cli.ParseException) InteractiveMode(org.openksavi.sponge.engine.interactive.InteractiveMode) DefaultInteractiveMode(org.openksavi.sponge.core.engine.interactive.DefaultInteractiveMode) DefaultParser(org.apache.commons.cli.DefaultParser)

Aggregations

List (java.util.List)6 Map (java.util.Map)5 StringUtils (org.apache.commons.lang3.StringUtils)5 Set (java.util.Set)4 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 HashSet (java.util.HashSet)3 Collectors (java.util.stream.Collectors)3 ArrayList (java.util.ArrayList)2 Arrays (java.util.Arrays)2 Optional (java.util.Optional)2 Function (java.util.function.Function)2 Supplier (java.util.function.Supplier)2 Stream (java.util.stream.Stream)2 lombok.val (lombok.val)2 MutableObject (org.apache.commons.lang3.mutable.MutableObject)2 LinePoint (blue.components.lines.LinePoint)1 GenericInstrument (blue.orchestra.GenericInstrument)1 TypeReference (com.fasterxml.jackson.core.type.TypeReference)1 Record (com.univocity.parsers.common.record.Record)1