use of org.apache.commons.lang3.StringUtils.EMPTY in project mule by mulesoft.
the class DefaultArtifactClassLoaderFilter method exportsClass.
@Override
public boolean exportsClass(String className) {
checkArgument(!StringUtils.isEmpty(className), "Class name cannot be empty");
final String packageName = getPackageName(className);
return exportedClassPackages.contains(packageName);
}
use of org.apache.commons.lang3.StringUtils.EMPTY in project mule by mulesoft.
the class XmlExtensionLoaderDelegate method declareErrorModels.
private void declareErrorModels(OperationDeclarer operationDeclarer, XmlDslModel xmlDslModel, String operationName, ComponentModel operationModel) {
Optional<ComponentModel> optionalParametersComponentModel = operationModel.getInnerComponents().stream().filter(child -> child.getIdentifier().equals(OPERATION_ERRORS_IDENTIFIER)).findAny();
optionalParametersComponentModel.ifPresent(componentModel -> componentModel.getInnerComponents().stream().filter(child -> child.getIdentifier().equals(OPERATION_ERROR_IDENTIFIER)).forEach(param -> {
final String namespace = xmlDslModel.getPrefix().toUpperCase();
final String typeName = param.getParameters().get(ERROR_TYPE_ATTRIBUTE);
if (StringUtils.isBlank(typeName)) {
throw new IllegalModelDefinitionException(format("The operation [%s] cannot have an <error> with an empty 'type' attribute", operationName));
}
if (typeName.contains(NAMESPACE_SEPARATOR)) {
throw new IllegalModelDefinitionException(format("The operation [%s] cannot have an <error> [%s] that contains a reserved character [%s]", operationName, typeName, NAMESPACE_SEPARATOR));
}
operationDeclarer.withErrorModel(ErrorModelBuilder.newError(typeName, namespace).withParent(ErrorModelBuilder.newError(ANY).build()).build());
}));
}
use of org.apache.commons.lang3.StringUtils.EMPTY in project mule by mulesoft.
the class ApplicationModel method validateErrorMappings.
private void validateErrorMappings() {
executeOnEveryComponentTree(componentModel -> {
List<ComponentModel> errorMappings = componentModel.getInnerComponents().stream().filter(c -> c.getIdentifier().equals(ERROR_MAPPING_IDENTIFIER)).collect(toList());
if (!errorMappings.isEmpty()) {
List<ComponentModel> anyMappings = errorMappings.stream().filter(this::isErrorMappingWithSourceAny).collect(toList());
if (anyMappings.size() > 1) {
throw new MuleRuntimeException(createStaticMessage("Only one mapping for 'ANY' or an empty source type is allowed."));
} else if (anyMappings.size() == 1 && !isErrorMappingWithSourceAny(errorMappings.get(errorMappings.size() - 1))) {
throw new MuleRuntimeException(createStaticMessage("Only the last error mapping can have 'ANY' or an empty source type."));
}
List<String> sources = errorMappings.stream().map(model -> model.getParameters().get(SOURCE_TYPE)).collect(toList());
List<String> distinctSources = sources.stream().distinct().collect(toList());
if (sources.size() != distinctSources.size()) {
throw new MuleRuntimeException(createStaticMessage(format("Repeated source types are not allowed. Offending types are '%s'.", on("', '").join(disjunction(sources, distinctSources)))));
}
}
});
}
use of org.apache.commons.lang3.StringUtils.EMPTY in project mule by mulesoft.
the class ApplicationModel method createConfigurationAttributeResolver.
private void createConfigurationAttributeResolver(ArtifactConfig artifactConfig, Optional<ConfigurationProperties> parentConfigurationProperties, Map<String, String> deploymentProperties) {
EnvironmentPropertiesConfigurationProvider environmentPropertiesConfigurationProvider = new EnvironmentPropertiesConfigurationProvider();
ConfigurationPropertiesProvider globalPropertiesConfigurationAttributeProvider = createProviderFromGlobalProperties(artifactConfig);
DefaultConfigurationPropertiesResolver localResolver = new DefaultConfigurationPropertiesResolver(of(new DefaultConfigurationPropertiesResolver(of(new DefaultConfigurationPropertiesResolver(empty(), environmentPropertiesConfigurationProvider)), globalPropertiesConfigurationAttributeProvider)), environmentPropertiesConfigurationProvider);
List<ConfigurationPropertiesProvider> configConfigurationPropertiesProviders = getConfigurationPropertiesProvidersFromComponents(artifactConfig, localResolver);
FileConfigurationPropertiesProvider externalPropertiesConfigurationProvider = new FileConfigurationPropertiesProvider(externalResourceProvider, "External files");
Optional<ConfigurationPropertiesResolver> parentConfigurationPropertiesResolver = of(localResolver);
if (parentConfigurationProperties.isPresent()) {
parentConfigurationPropertiesResolver = of(new DefaultConfigurationPropertiesResolver(empty(), new ConfigurationPropertiesProvider() {
@Override
public Optional<ConfigurationProperty> getConfigurationProperty(String configurationAttributeKey) {
return parentConfigurationProperties.get().resolveProperty(configurationAttributeKey).map(value -> new DefaultConfigurationProperty(parentConfigurationProperties, configurationAttributeKey, value));
}
@Override
public String getDescription() {
return "Domain properties";
}
}));
}
if (!configConfigurationPropertiesProviders.isEmpty()) {
CompositeConfigurationPropertiesProvider configurationAttributesProvider = new CompositeConfigurationPropertiesProvider(configConfigurationPropertiesProviders);
parentConfigurationPropertiesResolver = of(new DefaultConfigurationPropertiesResolver(parentConfigurationPropertiesResolver, configurationAttributesProvider));
}
DefaultConfigurationPropertiesResolver globalPropertiesConfigurationPropertiesResolver = new DefaultConfigurationPropertiesResolver(parentConfigurationPropertiesResolver, globalPropertiesConfigurationAttributeProvider);
DefaultConfigurationPropertiesResolver systemPropertiesResolver = new DefaultConfigurationPropertiesResolver(of(globalPropertiesConfigurationPropertiesResolver), environmentPropertiesConfigurationProvider);
DefaultConfigurationPropertiesResolver externalPropertiesResolver = new DefaultConfigurationPropertiesResolver(of(systemPropertiesResolver), externalPropertiesConfigurationProvider);
if (deploymentProperties.isEmpty()) {
this.configurationProperties = new PropertiesResolverConfigurationProperties(externalPropertiesResolver);
} else {
this.configurationProperties = new PropertiesResolverConfigurationProperties(new DefaultConfigurationPropertiesResolver(of(externalPropertiesResolver), new MapConfigurationPropertiesProvider(deploymentProperties, "Deployment properties")));
}
}
use of org.apache.commons.lang3.StringUtils.EMPTY in project cassandra by apache.
the class SecondaryIndexManager method indexPartition.
/**
* When building an index against existing data in sstables, add the given partition to the index
*/
public void indexPartition(DecoratedKey key, Set<Index> indexes, int pageSize) {
if (logger.isTraceEnabled())
logger.trace("Indexing partition {}", baseCfs.metadata().partitionKeyType.getString(key.getKey()));
if (!indexes.isEmpty()) {
SinglePartitionReadCommand cmd = SinglePartitionReadCommand.fullPartitionRead(baseCfs.metadata(), FBUtilities.nowInSeconds(), key);
int nowInSec = cmd.nowInSec();
boolean readStatic = false;
SinglePartitionPager pager = new SinglePartitionPager(cmd, null, ProtocolVersion.CURRENT);
while (!pager.isExhausted()) {
try (ReadExecutionController controller = cmd.executionController();
OpOrder.Group writeGroup = Keyspace.writeOrder.start();
UnfilteredPartitionIterator page = pager.fetchPageUnfiltered(baseCfs.metadata(), pageSize, controller)) {
if (!page.hasNext())
break;
try (UnfilteredRowIterator partition = page.next()) {
Set<Index.Indexer> indexers = indexes.stream().map(index -> index.indexerFor(key, partition.columns(), nowInSec, writeGroup, IndexTransaction.Type.UPDATE)).filter(Objects::nonNull).collect(Collectors.toSet());
// Short-circuit empty partitions if static row is processed or isn't read
if (!readStatic && partition.isEmpty() && partition.staticRow().isEmpty())
break;
indexers.forEach(Index.Indexer::begin);
if (!readStatic) {
if (!partition.staticRow().isEmpty())
indexers.forEach(indexer -> indexer.insertRow(partition.staticRow()));
indexers.forEach((Index.Indexer i) -> i.partitionDelete(partition.partitionLevelDeletion()));
readStatic = true;
}
MutableDeletionInfo.Builder deletionBuilder = MutableDeletionInfo.builder(partition.partitionLevelDeletion(), baseCfs.getComparator(), false);
while (partition.hasNext()) {
Unfiltered unfilteredRow = partition.next();
if (unfilteredRow.isRow()) {
Row row = (Row) unfilteredRow;
indexers.forEach(indexer -> indexer.insertRow(row));
} else {
assert unfilteredRow.isRangeTombstoneMarker();
RangeTombstoneMarker marker = (RangeTombstoneMarker) unfilteredRow;
deletionBuilder.add(marker);
}
}
MutableDeletionInfo deletionInfo = deletionBuilder.build();
if (deletionInfo.hasRanges()) {
Iterator<RangeTombstone> iter = deletionInfo.rangeIterator(false);
while (iter.hasNext()) indexers.forEach(indexer -> indexer.rangeTombstone(iter.next()));
}
indexers.forEach(Index.Indexer::finish);
}
}
}
}
}
Aggregations