use of org.apache.commons.lang3.StringUtils.isEmpty in project cuba by cuba-platform.
the class ScreensHelper method isEntityAvailable.
protected boolean isEntityAvailable(Element window, Class<? extends FrameOwner> controllerClass, Class entityClass, ScreenType filterScreenType, boolean useComplexSearch) {
Element dsContext = window.element("dsContext");
Element data = window.element("data");
if (dsContext == null && data == null) {
return false;
}
Element dataElement = data != null ? data : dsContext;
if (!useComplexSearch) {
String dataElementId = data != null ? getDataContainerId(window, controllerClass, filterScreenType) : getDatasourceId(window, filterScreenType);
if (StringUtils.isEmpty(dataElementId)) {
return false;
}
return isEntityAvailableInDataElement(entityClass, dataElement, dataElementId);
}
if (!checkWindowType(controllerClass, filterScreenType)) {
return false;
}
List<Element> dataElements = dataElement.elements();
List<String> dataElementIds = dataElements.stream().filter(de -> isEntityAvailableInDataElement(entityClass, de)).map(de -> de.attributeValue("id")).collect(Collectors.toList());
if (!ScreenType.BROWSER.equals(filterScreenType)) {
String editedEntityDataElementId = data != null ? resolveEditedEntityContainerId(controllerClass) : window.attributeValue("datasource");
dataElementIds.addAll(getDataElementsIdForComposition(dataElement, entityClass, editedEntityDataElementId));
}
return dataElementIds.size() > 0;
}
use of org.apache.commons.lang3.StringUtils.isEmpty in project syndesis by syndesisio.
the class ConnectorIconHandler method get.
@GET
@SuppressWarnings("PMD.CyclomaticComplexity")
public Response get() {
String connectorIcon = connector.getIcon();
if (connectorIcon == null) {
return Response.status(Response.Status.NOT_FOUND).build();
}
if (connectorIcon.startsWith("db:")) {
String connectorIconId = connectorIcon.substring(3);
Icon icon = getDataManager().fetch(Icon.class, connectorIconId);
if (icon == null) {
return Response.status(Response.Status.NOT_FOUND).build();
}
final StreamingOutput streamingOutput = (out) -> {
try (BufferedSink sink = Okio.buffer(Okio.sink(out));
Source source = Okio.source(iconDao.read(connectorIconId))) {
sink.writeAll(source);
}
};
return Response.ok(streamingOutput, icon.getMediaType()).build();
} else if (connectorIcon.startsWith("extension:")) {
String iconFile = connectorIcon.substring(10);
Optional<InputStream> extensionIcon = connector.getDependencies().stream().filter(Dependency::isExtension).map(Dependency::getId).findFirst().flatMap(extensionId -> extensionDataManager.getExtensionIcon(extensionId, iconFile));
if (extensionIcon.isPresent()) {
final StreamingOutput streamingOutput = (out) -> {
final BufferedSink sink = Okio.buffer(Okio.sink(out));
sink.writeAll(Okio.source(extensionIcon.get()));
sink.close();
};
return Response.ok(streamingOutput, extensionDataManager.getExtensionIconMediaType(iconFile)).build();
} else {
return Response.status(Response.Status.NOT_FOUND).build();
}
}
// font awesome class name), return 404
if (connectorIcon.startsWith("data:") || !connectorIcon.contains("/")) {
return Response.status(Response.Status.NOT_FOUND).build();
}
final OkHttpClient httpClient = new OkHttpClient();
try {
final okhttp3.Response externalResponse = httpClient.newCall(new Request.Builder().get().url(connectorIcon).build()).execute();
final String contentType = externalResponse.header(CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM);
final String contentLength = externalResponse.header(CONTENT_LENGTH);
final StreamingOutput streamingOutput = (out) -> {
final BufferedSink sink = Okio.buffer(Okio.sink(out));
sink.writeAll(externalResponse.body().source());
sink.close();
};
final Response.ResponseBuilder actualResponse = Response.ok(streamingOutput, contentType);
if (!StringUtils.isEmpty(contentLength)) {
actualResponse.header(CONTENT_LENGTH, contentLength);
}
return actualResponse.build();
} catch (final IOException e) {
throw new SyndesisServerException(e);
}
}
use of org.apache.commons.lang3.StringUtils.isEmpty in project BroadleafCommerce by BroadleafCommerce.
the class ContentProcessor method populateModelVariables.
@Override
public Map<String, Object> populateModelVariables(String tagName, Map<String, String> tagAttributes, BroadleafTemplateContext context) {
String contentType = tagAttributes.get("contentType");
String contentName = tagAttributes.get("contentName");
String maxResultsStr = tagAttributes.get("maxResults");
if (StringUtils.isEmpty(contentType) && StringUtils.isEmpty(contentName)) {
throw new IllegalArgumentException("The content processor must have a non-empty attribute value for 'contentType' or 'contentName'");
}
Integer maxResults = null;
if (maxResultsStr != null) {
maxResults = Ints.tryParse(maxResultsStr);
}
if (maxResults == null) {
maxResults = Integer.MAX_VALUE;
}
String contentListVar = getAttributeValue(tagAttributes, "contentListVar", "contentList");
String contentItemVar = getAttributeValue(tagAttributes, "contentItemVar", "contentItem");
String numResultsVar = getAttributeValue(tagAttributes, "numResultsVar", "numResults");
String fieldFilters = tagAttributes.get("fieldFilters");
final String sorts = tagAttributes.get("sorts");
BroadleafRequestContext blcContext = BroadleafRequestContext.getBroadleafRequestContext();
HttpServletRequest request = blcContext.getRequest();
Map<String, Object> mvelParameters = buildMvelParameters(blcContext.getRequest(), tagAttributes, context);
SandBox currentSandbox = blcContext.getSandBox();
List<StructuredContentDTO> contentItems;
StructuredContentType structuredContentType = null;
if (contentType != null) {
structuredContentType = structuredContentService.findStructuredContentTypeByName(contentType);
}
Locale locale = blcContext.getLocale();
Map<String, Object> newModelVars = new HashMap<>();
contentItems = getContentItems(contentName, maxResults, request, mvelParameters, currentSandbox, structuredContentType, locale, tagName, tagAttributes, newModelVars, context);
if (contentItems.size() > 0) {
// sort the resulting list by the configured property sorts on the tag
if (StringUtils.isNotEmpty(sorts)) {
final BroadleafTemplateContext finalContext = context;
// In order to use the context in a comparator it needs to be final
Collections.sort(contentItems, new Comparator<StructuredContentDTO>() {
@Override
public int compare(StructuredContentDTO o1, StructuredContentDTO o2) {
List<BroadleafAssignation> sortAssignments = finalContext.getAssignationSequence(sorts, false);
CompareToBuilder compareBuilder = new CompareToBuilder();
for (BroadleafAssignation sortAssignment : sortAssignments) {
String property = sortAssignment.getLeftStringRepresentation(finalContext);
Object val1 = o1.getPropertyValue(property);
Object val2 = o2.getPropertyValue(property);
if (sortAssignment.parseRight(finalContext).equals("ASCENDING")) {
compareBuilder.append(val1, val2);
} else {
compareBuilder.append(val2, val1);
}
}
return compareBuilder.toComparison();
}
});
}
List<Map<String, Object>> contentItemFields = new ArrayList<>();
for (StructuredContentDTO item : contentItems) {
if (StringUtils.isNotEmpty(fieldFilters)) {
List<BroadleafAssignation> assignments = context.getAssignationSequence(fieldFilters, false);
boolean valid = true;
for (BroadleafAssignation assignment : assignments) {
if (ObjectUtils.notEqual(assignment.parseRight(context), item.getValues().get(assignment.getLeftStringRepresentation(context)))) {
LOG.info("Excluding content " + item.getId() + " based on the property value of " + assignment.getLeftStringRepresentation(context));
valid = false;
break;
}
}
if (valid) {
contentItemFields.add(item.getValues());
}
} else {
contentItemFields.add(item.getValues());
}
}
Map<String, Object> contentItem = null;
if (contentItemFields.size() > 0) {
contentItem = contentItemFields.get(0);
}
newModelVars.put(contentItemVar, contentItem);
newModelVars.put(contentListVar, contentItemFields);
newModelVars.put(numResultsVar, contentItems.size());
} else {
if (LOG.isInfoEnabled()) {
LOG.info("**************************The contentItems is null*************************");
}
newModelVars.put(contentItemVar, null);
newModelVars.put(contentListVar, null);
newModelVars.put(numResultsVar, 0);
}
String deepLinksVar = tagAttributes.get("deepLinks");
if (StringUtils.isNotBlank(deepLinksVar) && contentItems.size() > 0) {
List<DeepLink> links = contentDeepLinkService.getLinks(contentItems.get(0));
extensionManager.getProxy().addExtensionFieldDeepLink(links, tagName, tagAttributes, context);
extensionManager.getProxy().postProcessDeepLinks(links);
newModelVars.put(deepLinksVar, links);
}
return newModelVars;
}
use of org.apache.commons.lang3.StringUtils.isEmpty in project azure-tools-for-java by Microsoft.
the class FunctionNode method trigger.
@AzureOperation(name = "function|trigger.start.detail", params = { "this.functionApp.name()" }, type = AzureOperation.Type.SERVICE)
private void trigger() {
final FunctionEntity.BindingEntity trigger = functionEntity.getTrigger();
final String triggerType = Optional.ofNullable(trigger).map(functionTrigger -> functionTrigger.getProperty("type")).orElse(null);
if (StringUtils.isEmpty(triggerType)) {
final String error = String.format("failed to get trigger type of function[%s].", functionApp.name());
final String action = "confirm trigger type is configured.";
throw new AzureToolkitRuntimeException(error, action);
}
switch(triggerType.toLowerCase()) {
case "httptrigger":
triggerHttpTrigger(trigger);
break;
case "timertrigger":
// no input for timer trigger
functionApp.triggerFunction(this.name, new Object());
break;
default:
final String input = DefaultLoader.getUIHelper().showInputDialog(tree.getParent(), "Please set the input value: ", String.format("Trigger function %s", this.name), null);
functionApp.triggerFunction(this.name, new TriggerRequest(input));
break;
}
}
use of org.apache.commons.lang3.StringUtils.isEmpty in project azure-tools-for-java by Microsoft.
the class FunctionUtils method patchStorageBinding.
private static void patchStorageBinding(final PsiMethod method, final List<Binding> bindings) {
final PsiAnnotation storageAccount = AnnotationUtil.findAnnotation(method, StorageAccount.class.getCanonicalName());
if (storageAccount != null) {
// todo: Remove System.out.println
System.out.println(message("function.binding.storage.found"));
final String connectionString = AnnotationUtil.getDeclaredStringAttributeValue(storageAccount, "value");
// Replace empty connection string
bindings.stream().filter(binding -> binding.getBindingEnum().isStorage()).filter(binding -> StringUtils.isEmpty((String) binding.getAttribute("connection"))).forEach(binding -> binding.setAttribute("connection", connectionString));
} else {
// todo: Remove System.out.println
System.out.println(message("function.binding.storage.notFound"));
}
}
Aggregations