private static void doParseLayoutAnnotations(AnnotatedElement annotatedElement, LayoutModelBuilder builder) { Password passwordAnnotation = annotatedElement.getAnnotation(Password.class); if (passwordAnnotation != null) { builder.asPassword(); } Text textAnnotation = annotatedElement.getAnnotation(Text.class); if (textAnnotation != null) { builder.asText(); } }
private DisplayModel getDisplayModel(ComponentModel componentModel) { final DisplayModel.DisplayModelBuilder displayModelBuilder = DisplayModel.builder(); displayModelBuilder.displayName(componentModel.getParameters().get(DISPLAY_NAME_ATTRIBUTE)); displayModelBuilder.summary(componentModel.getParameters().get(SUMMARY_ATTRIBUTE)); displayModelBuilder.example(componentModel.getParameters().get(EXAMPLE_ATTRIBUTE)); return displayModelBuilder.build(); }
private ParameterDeclaration newParameter(String name, String description, boolean shouldAddSinceMuleVersionModelProperty) { ParameterDeclaration parameter = new ParameterDeclaration(name); parameter.setRequired(false); parameter.setExpressionSupport(SUPPORTED); parameter.setType(typeLoader.load(String.class), false); parameter.setDescription(description); parameter.setLayoutModel(LayoutModel.builder().tabName(ADVANCED_TAB_NAME).build()); if (shouldAddSinceMuleVersionModelProperty) { parameter.addModelProperty(SINCE_MULE_VERSION_MODEL_PROPERTY); } return parameter; } }
@Test public void invalidLayoutPasswordForComponentId() { expectedException.expect(IllegalModelDefinitionException.class); expectedException.expectMessage(COMPONENT_ID_ERROR_PREFIX + "is also declared as 'Password'"); when(invalidParameterModel.isComponentId()).thenReturn(true); when(invalidParameterModel.getLayoutModel()).thenReturn(Optional.of(LayoutModel.builder().asPassword().build())); mockParameters(operationModel, invalidParameterModel); validate(extensionModel, validator); }
@Test public void invalidLayoutTextForComponentId() { expectedException.expect(IllegalModelDefinitionException.class); expectedException.expectMessage(COMPONENT_ID_ERROR_PREFIX + "is also declared as 'Text'"); when(invalidParameterModel.isComponentId()).thenReturn(true); when(invalidParameterModel.getLayoutModel()).thenReturn(Optional.of(LayoutModel.builder().asText().build())); mockParameters(operationModel, invalidParameterModel); validate(extensionModel, validator); }
@Test public void invalidLayoutQueryForComponentId() { expectedException.expect(IllegalModelDefinitionException.class); expectedException.expectMessage(COMPONENT_ID_ERROR_PREFIX + "is also declared as 'Query'"); when(invalidParameterModel.isComponentId()).thenReturn(true); when(invalidParameterModel.getLayoutModel()).thenReturn(Optional.of(LayoutModel.builder().asQuery().build())); mockParameters(operationModel, invalidParameterModel); validate(extensionModel, validator); }
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())); }
public static Optional<LayoutModel> parseLayoutAnnotations(WithAnnotations annotatedElement) { return parseLayoutAnnotations(annotatedElement, LayoutModel.builder()); }
public static Optional<LayoutModel> parseLayoutAnnotations(AnnotatedElement annotatedElement, LayoutModelBuilder builder) { if (isDisplayAnnotationPresent(annotatedElement)) { doParseLayoutAnnotations(annotatedElement, builder); parsePlacementAnnotation(annotatedElement, builder); return of(builder.build()); } return empty(); }
static void assertLayoutModel(String parameterName, int expectedOrder, Optional<LayoutModel> layoutModel) { assertThat(layoutModel.isPresent(), is(true)); LayoutModel layoutModel1 = layoutModel.get(); Integer order = layoutModel1.getOrder().orElse(null); assertThat("expecting parameter [" + parameterName + "] at position [" + expectedOrder + "] but was at [" + order + "]", order, is(expectedOrder)); }
private void assertParameterDisplayName(ParameterDeclaration param, String displayName) { DisplayModel display = param.getDisplayModel(); assertThat(display.getDisplayName(), is(displayName)); }
private void assertParameterSummary(ParameterDeclaration param, String summary) { DisplayModel display = param.getDisplayModel(); assertThat(display.getSummary(), is(summary)); }
private void assertParameterExample(ParameterDeclaration param, String example) { DisplayModel display = param.getDisplayModel(); assertThat(display.getExample(), is(example)); }
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()); } }
public static Optional<LayoutModel> parseLayoutAnnotations(AnnotatedElement annotatedElement) { return parseLayoutAnnotations(annotatedElement, LayoutModel.builder()); }
private static void doParseLayoutAnnotations(WithAnnotations annotatedElement, LayoutModelBuilder builder) { java.util.Optional<Password> passwordAnnotation = annotatedElement.getAnnotation(Password.class); if (passwordAnnotation.isPresent()) { builder.asPassword(); } java.util.Optional<Text> textAnnotation = annotatedElement.getAnnotation(Text.class); if (textAnnotation.isPresent()) { builder.asText(); } }
public static Optional<LayoutModel> parseLayoutAnnotations(WithAnnotations annotatedElement, LayoutModelBuilder builder) { if (isDisplayAnnotationPresent(annotatedElement)) { doParseLayoutAnnotations(annotatedElement, builder); parsePlacementAnnotation(annotatedElement, builder); return of(builder.build()); } return empty(); }
private void parseLayout(ExtensionParameter extensionParameter, ParameterDeclarer parameter) { parseLayoutAnnotations(extensionParameter, LayoutModel.builder()) .ifPresent(parameter::withLayout); }