private void updateGeneralGroupOrder(ParameterizedDeclaration declaration, int minGroupOrder) { Optional<ParameterGroupDeclaration> general = declaration.getParameterGroups().stream() .filter(pg -> ((ParameterGroupDeclaration) pg).getName().equals(DEFAULT_GROUP_NAME)).findFirst(); general.map(ParameterGroupDeclaration::getLayoutModel).flatMap(LayoutModel::getOrder).filter(order -> order > minGroupOrder) .ifPresent(order -> general.get() .setLayoutModel(builderFrom(general.get().getLayoutModel()).order(minGroupOrder - 1).build())); }
private int addMissingParameterOrders(List<AbstractParameterDeclaration> declarations) { AtomicInteger minOrder = new AtomicInteger(INITIAL_ORDER); Set<Integer> takenOrders = new HashSet<>(); List<AbstractParameterDeclaration> nonOrderedParams = new ArrayList<>(); declarations.forEach(param -> { LayoutModel layoutModel = param.getLayoutModel(); if (layoutModel != null && layoutModel.getOrder().isPresent()) { takenOrders.add(layoutModel.getOrder().get()); minOrder.set(min(layoutModel.getOrder().get(), minOrder.get())); } else { nonOrderedParams.add(param); } }); AtomicInteger currentOrder = new AtomicInteger(INITIAL_ORDER); nonOrderedParams.forEach(param -> param.setLayoutModel( builderFrom(param.getLayoutModel()) .order(getNextOrder(currentOrder, takenOrders)) .build())); return minOrder.get(); }
private static void parsePlacementAnnotation(WithAnnotations annotatedElement, LayoutModelBuilder builder) { java.util.Optional<Placement> placementAnnotation = annotatedElement.getAnnotation(Placement.class); if (placementAnnotation.isPresent()) { Placement placement = placementAnnotation.get(); builder.order(placement.order()).tabName(placement.tab()); } }
private int addMissingParameterOrders(List<AbstractParameterDeclaration> declarations) { AtomicInteger minOrder = new AtomicInteger(INITIAL_ORDER); Set<Integer> takenOrders = new HashSet<>(); List<AbstractParameterDeclaration> nonOrderedParams = new ArrayList<>(); declarations.forEach(param -> { LayoutModel layoutModel = param.getLayoutModel(); if (layoutModel != null && layoutModel.getOrder().isPresent()) { takenOrders.add(layoutModel.getOrder().get()); minOrder.set(min(layoutModel.getOrder().get(), minOrder.get())); } else { nonOrderedParams.add(param); } }); AtomicInteger currentOrder = new AtomicInteger(INITIAL_ORDER); nonOrderedParams.forEach(param -> param.setLayoutModel( builderFrom(param.getLayoutModel()) .order(getNextOrder(currentOrder, takenOrders)) .build())); return minOrder.get(); }
private void updateGeneralGroupOrder(ParameterizedDeclaration declaration, int minGroupOrder) { Optional<ParameterGroupDeclaration> general = declaration.getParameterGroups().stream() .filter(pg -> ((ParameterGroupDeclaration) pg).getName().equals(DEFAULT_GROUP_NAME)).findFirst(); general.map(ParameterGroupDeclaration::getLayoutModel).flatMap(LayoutModel::getOrder).filter(order -> order > minGroupOrder) .ifPresent(order -> general.get() .setLayoutModel(builderFrom(general.get().getLayoutModel()).order(minGroupOrder - 1).build())); }
private static void parsePlacementAnnotation(AnnotatedElement annotatedElement, LayoutModelBuilder builder) { Placement placement = annotatedElement.getAnnotation(Placement.class); if (placement != null) { builder.order(placement.order()).tabName(placement.tab()); } }
private static void parsePlacementAnnotation(WithAnnotations annotatedElement, LayoutModelBuilder builder) { java.util.Optional<Placement> placementAnnotation = annotatedElement.getAnnotation(Placement.class); if (placementAnnotation.isPresent()) { Placement placement = placementAnnotation.get(); builder.order(placement.order()).tabName(placement.tab()); } }
.build()) .withDsl(ParameterDslConfiguration.getDefaultInstance()) .withLayout(LayoutModel.builder().order(2).tabName(TRANSPORT).build()) .withDisplayModel(DisplayModel.builder() .displayName(HEADERS_DISPLAY_NAME)
/** * Declares a new connection provider for a configuration given a {@link SoapServiceProviderWrapper} declaration. * * @param configDeclarer the configuration declarer that will own the provider * @param provider a {@link SoapServiceProviderWrapper} that describes the {@link SoapServiceProvider} Type. * @param hasCustomTransports if declares custom transport or not. */ public void declare(ConfigurationDeclarer configDeclarer, SoapServiceProviderWrapper provider, boolean hasCustomTransports) { String description = provider.getDescription(); // Declares the Service Provider as a Connection Provider. ConnectionProviderDeclarer providerDeclarer = configDeclarer.withConnectionProvider(provider.getAlias()) .describedAs(description) .withModelProperty(new ConnectionTypeModelProperty(ForwardingSoapClient.class)) //TODO - MULE-14311 - Make loader work in compile time .withModelProperty(new ImplementingTypeModelProperty(provider.getDeclaringClass().get())) .withConnectionManagementType(POOLING) .supportsConnectivityTesting(provider.supportsConnectivityTesting()); ParameterDeclarationContext context = new ParameterDeclarationContext("Service Provider", providerDeclarer.getDeclaration()); parametersLoader.declare(providerDeclarer, provider.getParameters(), context); if (hasCustomTransports) { providerDeclarer.onParameterGroup(TRANSPORT_GROUP) .withRequiredParameter(TRANSPORT_PARAM) .withDisplayModel(DisplayModel.builder().displayName(TRANSPORT_GROUP).build()) .ofType(typeLoader.load(MessageDispatcherProvider.class)) .withLayout(LayoutModel.builder().order(1).tabName(TRANSPORT).build()) .withExpressionSupport(NOT_SUPPORTED); } }
private void extractParameter(ParameterizedDeclarer parameterizedDeclarer, ComponentModel param, ParameterRole role) { Map<String, String> parameters = param.getParameters(); String receivedInputType = parameters.get(TYPE_ATTRIBUTE); final LayoutModel.LayoutModelBuilder layoutModelBuilder = builder(); if (parseBoolean(parameters.get(PASSWORD))) { layoutModelBuilder.asPassword(); } layoutModelBuilder.order(getOrder(parameters.get(ORDER_ATTRIBUTE))); layoutModelBuilder.tabName(getTab(parameters.get(TAB_ATTRIBUTE))); final DisplayModel displayModel = getDisplayModel(param); MetadataType parameterType = extractType(receivedInputType); ParameterDeclarer parameterDeclarer = getParameterDeclarer(parameterizedDeclarer, parameters); parameterDeclarer.describedAs(getDescription(param)) .withLayout(layoutModelBuilder.build()) .withDisplayModel(displayModel) .withRole(role) .ofType(parameterType); }
private LayoutModel getLayout(int order) { return LayoutModel.builder().order(order).build(); } }
private static void parsePlacementAnnotation(AnnotatedElement annotatedElement, LayoutModelBuilder builder) { Placement placement = annotatedElement.getAnnotation(Placement.class); if (placement != null) { builder.order(placement.order()).tabName(placement.tab()); } }