/** * @return The {@link Set} of default resource paths that the extension should export */ public Set<String> getExportedResources() { return extensionModel.getResources(); }
private Optional<ConfigurationModel> getConfigurationModel() { return extensionModel .getConfigurationModel(MODULE_CONFIG_GLOBAL_ELEMENT_NAME); }
@Override protected void onOperation(HasOperationModels owner, OperationModel operationModel) { operationModel.getModelProperty(OperationComponentModelModelProperty.class) .ifPresent(operationComponentModelModelProperty -> { searchAndValidate(extensionModel.getXmlDslModel().getPrefix(), operationModel, operationComponentModelModelProperty.getBodyComponentModel(), problemsReporter); }); } }.walk(extensionModel);
/** * Looks for an operation exposed in the current {@link ExtensionModel}. * * @param componentModel operation to look for. * @return the operation if found, {@link Optional#empty()} otherwise. */ private Optional<OperationModel> lookForOperation(ComponentModel componentModel) { return lookForOperation(componentModel.getIdentifier(), extensionModel.getXmlDslModel().getPrefix()); }
private void collectReturnTypes(ConnectableComponentModel model) { exportedClasses.addAll(collectRelativeClassesAsString(model.getOutput().getType())); exportedClasses.addAll(collectRelativeClassesAsString(model.getOutputAttributes().getType())); }
/** * @return the extension's error namespace for a given {@link ExtensionModel} */ public static String getExtensionsNamespace(ExtensionModel extensionModel) { return getExtensionsNamespace(extensionModel.getXmlDslModel()); }
/** * {@inheritDoc} */ @Override public String getOwningExtensionName() { return messageSource.getExtensionModel().getName(); } }
private Optional<List<String>> parameterNamesRequiredForMetadataCacheId(Object model) { if (model instanceof EnrichableModel) { return ((EnrichableModel) model).getModelProperty(RequiredForMetadataModelProperty.class) .map(RequiredForMetadataModelProperty::getRequiredParameters); } return empty(); }
@Override public List<ValueProviderModel> getModels(String providerName) { return getValueProviderModels(componentModel.getAllParameterModels()); } }
/** * @return The {@link Set} of artifact IDs that the extension should grant access to the privileged API. Each artifact is * defined using Maven's groupId:artifactId */ public Set<String> getPrivilegedArtifacts() { privilegedArtifacts.addAll(extensionModel.getPrivilegedArtifacts()); return privilegedArtifacts; }
private boolean hasStaticMetadataDefined(ConnectableComponentModel model, MediaType mediaTypeFromModelProperty) { if (mediaTypeFromModelProperty == null) { return hasCustomStaticMetadataDefined(model.getOutput()) || !hasJavaAsMetadataFormat(model.getOutput()); } else { return hasCustomStaticMetadataDefined(model.getOutput()) || modelMediaTypeDiffersFromMediaType(model.getOutput(), mediaTypeFromModelProperty); } }
private boolean isTransactional(M componentModel) { return componentModel instanceof ConnectableComponentModel && ((ConnectableComponentModel) componentModel).isTransactional(); } }
public ModuleExceptionHandler(ComponentModel componentModel, ExtensionModel extensionModel, ErrorTypeRepository typeRepository) { this.componentModel = componentModel; this.extensionModel = extensionModel; this.typeRepository = typeRepository; allowedErrorTypes = componentModel.getErrorModels(); extensionNamespace = MuleExtensionUtils.getExtensionsNamespace(extensionModel); }
private <T extends ModelProperty> Element getElement(EnrichableModel enrichableModel, Class<T> modelPropertyClass, Function<T, Optional<? extends Element>> elementFunction) { return enrichableModel.getModelProperty(modelPropertyClass) .flatMap(elementFunction::apply) .orElse(null); } }
private static <T, P extends ModelProperty> T fromModelProperty(EnrichableModel model, Class<P> modelPropertyType, Function<P, T> map, Supplier<? extends RuntimeException> exceptionSupplier) { return model.getModelProperty(modelPropertyType).map(map).orElseThrow(exceptionSupplier); }
/** * Sets the {@code encoding} value into the field of the {@code target} annotated {@link DefaultEncoding} if the {@code model} * contains the {@link DeclaringMemberModelProperty} property and the value is not {@code null}. * * @param model enriched with {@link DefaultEncodingModelProperty} * @param target object in which the fields are going to be set * @param encoding to be injected into the {@link String} field annotated with {@link DefaultEncoding} */ public static void injectDefaultEncoding(EnrichableModel model, Object target, String encoding) { injectFieldFromModelProperty(target, encoding, model.getModelProperty(DefaultEncodingModelProperty.class), DefaultEncoding.class); }