private Label createStatementIndicatorLabel() { Label statementExists = new Label("statementExists", "There is at least one statement " + "in the KB which matches for this SPO."); statementExists .add(LambdaBehavior.onConfigure(component -> component.setVisible(existStatements))); return statementExists; }
private Label createStatementIndicatorLabel() { Label statementExists = new Label("statementExists", "There is at least one statement " + "in the KB which matches for this SPO."); statementExists .add(LambdaBehavior.onConfigure(component -> component.setVisible(existStatements))); return statementExists; }
private Label createNoStatementLabel() { Label statementDoesNotExist = new Label("statementDoesNotExist", "There is no statement " + "in the KB which matches this SPO."); statementDoesNotExist .add(LambdaBehavior.onConfigure(component -> component.setVisible(!existStatements))); return statementDoesNotExist; }
private Label createNoStatementLabel() { Label statementDoesNotExist = new Label("statementDoesNotExist", "There is no statement " + "in the KB which matches this SPO."); statementDoesNotExist .add(LambdaBehavior.onConfigure(component -> component.setVisible(!existStatements))); return statementDoesNotExist; }
private DropDownChoice<String> makeProjectTypeChoice() { List<String> types = projectService.listProjectTypes().stream().map(t -> t.id()) .collect(Collectors.toList()); DropDownChoice<String> projTypes = new BootstrapSelect<>("mode", types); projTypes.setRequired(true); projTypes.add(LambdaBehavior.onConfigure(_this -> { // If there is only a single project type and the project mode has not been set yet, // then we can simply select that and do not need to show the choice at all. Project project = projectModel.getObject(); if (projectTypes.getChoices().size() == 1 && project.getMode() == null) { project.setMode(projectTypes.getChoices().get(0)); } _this.setEnabled( nonNull(projectModel.getObject()) && isNull(projectModel.getObject().getId())); // If there is only a single project type, then we can simply select that and do not // need to show the choice at all. _this.setVisible(projTypes.getChoices().size() > 1); })); return projTypes; }
private DropDownChoice<String> makeProjectTypeChoice() { List<String> types = projectService.listProjectTypes().stream().map(t -> t.id()) .collect(Collectors.toList()); DropDownChoice<String> projTypes = new BootstrapSelect<>("mode", types); projTypes.setRequired(true); projTypes.add(LambdaBehavior.onConfigure(_this -> { // If there is only a single project type and the project mode has not been set yet, // then we can simply select that and do not need to show the choice at all. Project project = projectModel.getObject(); if (projectTypes.getChoices().size() == 1 && project.getMode() == null) { project.setMode(projectTypes.getChoices().get(0)); } _this.setEnabled( nonNull(projectModel.getObject()) && isNull(projectModel.getObject().getId())); // If there is only a single project type, then we can simply select that and do not // need to show the choice at all. _this.setVisible(projTypes.getChoices().size() > 1); })); return projTypes; }
public ViewMode(String aId, IModel<KBQualifier> aQualifier) { super(aId, "viewMode", QualifierEditor.this, aQualifier); CompoundPropertyModel<KBQualifier> compoundModel = new CompoundPropertyModel<>( aQualifier); add(new Label("property", aQualifier.getObject().getKbProperty().getUiLabel())); add(new Label("language", compoundModel.bind("language")).add( LambdaBehavior.onConfigure(_this -> _this.setVisible(isNotEmpty(aQualifier.getObject().getLanguage()))))); add(new Label("value", compoundModel.bind("value"))); LambdaAjaxLink editLink = new LambdaAjaxLink("edit", QualifierEditor .this::actionEdit); add(editLink); } }
public ViewMode(String aId, IModel<KBQualifier> aQualifier) { super(aId, "viewMode", QualifierEditor.this, aQualifier); CompoundPropertyModel<KBQualifier> compoundModel = new CompoundPropertyModel<>( aQualifier); add(new Label("property", aQualifier.getObject().getKbProperty().getUiLabel())); add(new Label("language", compoundModel.bind("language")).add( LambdaBehavior.onConfigure(_this -> _this.setVisible(isNotEmpty(aQualifier.getObject().getLanguage()))))); add(new Label("value", compoundModel.bind("value"))); LambdaAjaxLink editLink = new LambdaAjaxLink("edit", QualifierEditor .this::actionEdit); add(editLink); } }
private Form<?> createLearningHistory() { Form<?> learningHistoryForm = new Form<Void>(CID_LEARNING_HISTORY_FORM) { private static final long serialVersionUID = -961690443085882064L; }; learningHistoryForm.add(LambdaBehavior.onConfigure(component -> component .setVisible(alStateModel.getObject().isSessionActive()))); learningHistoryForm.setOutputMarkupPlaceholderTag(true); learningHistoryForm.setOutputMarkupId(true); learningHistoryForm.add(createLearningHistoryListView()); return learningHistoryForm; }
private Form<?> createLearningHistory() { Form<?> learningHistoryForm = new Form<Void>(CID_LEARNING_HISTORY_FORM) { private static final long serialVersionUID = -961690443085882064L; }; learningHistoryForm.add(LambdaBehavior.onConfigure(component -> component .setVisible(alStateModel.getObject().isSessionActive()))); learningHistoryForm.setOutputMarkupPlaceholderTag(true); learningHistoryForm.setOutputMarkupId(true); learningHistoryForm.add(createLearningHistoryListView()); return learningHistoryForm; }
label.setOutputMarkupPlaceholderTag(true); label.setEscapeModelStrings(false); label.add(LambdaBehavior.onConfigure(_this -> { if (layerSelector.getModelObject() != null) { List<AnnotationLayer> relLayers = annotationService
private Label createNoRecommendersMessage() { if (!alStateModel.getObject().isSessionActive()) { // Use the currently selected layer from the annotation detail editor panel as the // default choice in the active learning mode. List<AnnotationLayer> layersWithRecommenders = listLayersWithRecommenders(); if (layersWithRecommenders.contains(getModelObject().getDefaultAnnotationLayer())) { alStateModel.getObject() .setLayer(getModelObject().getDefaultAnnotationLayer()); } // If the currently selected layer has no recommenders, use the first one which has else if (!layersWithRecommenders.isEmpty()) { alStateModel.getObject().setLayer(layersWithRecommenders.get(0)); } // If there are no layers with recommenders, then choose nothing and show no // recommenders message. else { alStateModel.getObject().setLayer(null); alStateModel.getObject().setDoExistRecommenders(false); } } Label noRecommendersMessage = new Label(CID_NO_RECOMMENDERS, "None of the layers have any " + "recommenders configured. Please set the recommenders first in the Project " + "Settings."); noRecommendersMessage.add(LambdaBehavior.onConfigure(component -> component.setVisible (!alStateModel.getObject().isDoExistRecommenders()))); return noRecommendersMessage; }
private Label createNoRecommendersMessage() { if (!alStateModel.getObject().isSessionActive()) { // Use the currently selected layer from the annotation detail editor panel as the // default choice in the active learning mode. List<AnnotationLayer> layersWithRecommenders = listLayersWithRecommenders(); if (layersWithRecommenders.contains(getModelObject().getDefaultAnnotationLayer())) { alStateModel.getObject() .setLayer(getModelObject().getDefaultAnnotationLayer()); } // If the currently selected layer has no recommenders, use the first one which has else if (!layersWithRecommenders.isEmpty()) { alStateModel.getObject().setLayer(layersWithRecommenders.get(0)); } // If there are no layers with recommenders, then choose nothing and show no // recommenders message. else { alStateModel.getObject().setLayer(null); alStateModel.getObject().setDoExistRecommenders(false); } } Label noRecommendersMessage = new Label(CID_NO_RECOMMENDERS, "None of the layers have any " + "recommenders configured. Please set the recommenders first in the Project " + "Settings."); noRecommendersMessage.add(LambdaBehavior.onConfigure(component -> component.setVisible (!alStateModel.getObject().isDoExistRecommenders()))); return noRecommendersMessage; }
private void setUpDetailPreference(StatementDetailPreference aDetailPreference) { StatementDetailPreference defaultPreference = StatementDetailPreference.BASIC; boolean isDetailPreferenceUserDefinable = aDetailPreference == null; detailPreference = Model.of(isDetailPreferenceUserDefinable ? defaultPreference : aDetailPreference); // the form for setting the detail preference (and its radio group) is only shown if the // detail preference is user-definable Form<StatementDetailPreference> form = new Form<StatementDetailPreference>( "detailPreferenceForm"); form.add(LambdaBehavior .onConfigure(_this -> _this.setVisible(isDetailPreferenceUserDefinable))); add(form); // radio choice for statement detail preference BootstrapRadioGroup<StatementDetailPreference> choice = new BootstrapRadioGroup<>( "detailPreferenceChoice", Arrays.asList(StatementDetailPreference.values())); choice.setModel(detailPreference); choice.setChoiceRenderer(new EnumRadioChoiceRenderer<>(Buttons.Type.Default, this)); choice.add(new LambdaAjaxFormSubmittingBehavior("change", this::actionStatementDetailPreferencesChanged)); form.add(choice); }
private Component createReverseButton() { LambdaAjaxLink link = new LambdaAjaxLink("reverse", editorPanel::actionReverse); link.setOutputMarkupPlaceholderTag(true); link.add(LambdaBehavior.onConfigure(_this -> { AnnotatorState state = AnnotationFeatureForm.this.getModelObject(); _this.setVisible(state.getSelection().getAnnotation().isSet() && state.getSelection().isArc() && state.getSelectedAnnotationLayer() .getType().equals(WebAnnoConst.RELATION_TYPE)); // Avoid reversing in read-only layers _this.setEnabled(state.getSelectedAnnotationLayer() != null && !state.getSelectedAnnotationLayer().isReadonly()); })); return link; }
private void setUpDetailPreference(StatementDetailPreference aDetailPreference) { StatementDetailPreference defaultPreference = StatementDetailPreference.BASIC; boolean isDetailPreferenceUserDefinable = aDetailPreference == null; detailPreference = Model.of(isDetailPreferenceUserDefinable ? defaultPreference : aDetailPreference); // the form for setting the detail preference (and its radio group) is only shown if the // detail preference is user-definable Form<StatementDetailPreference> form = new Form<StatementDetailPreference>( "detailPreferenceForm"); form.add(LambdaBehavior .onConfigure(_this -> _this.setVisible(isDetailPreferenceUserDefinable))); add(form); // radio choice for statement detail preference BootstrapRadioGroup<StatementDetailPreference> choice = new BootstrapRadioGroup<>( "detailPreferenceChoice", Arrays.asList(StatementDetailPreference.values())); choice.setModel(detailPreference); choice.setChoiceRenderer(new EnumRadioChoiceRenderer<>(Buttons.Type.Default, this)); choice.add(new LambdaAjaxFormSubmittingBehavior("change", this::actionStatementDetailPreferencesChanged)); form.add(choice); }
private NumberTextField<Integer> queryLimitField(String id, IModel<Integer> aModel) { NumberTextField<Integer> queryLimit = new NumberTextField<>(id, aModel, Integer.class); queryLimit.setOutputMarkupId(true); queryLimit.setRequired(true); queryLimit.setMinimum(KnowledgeBaseProperties.HARD_MIN_RESULTS); queryLimit.setMaximum(kbProperties.getHardMaxResults()); queryLimit.add(LambdaBehavior.onConfigure(it -> { // If not setting, initialize with default if (queryLimit.getModelObject() == null || queryLimit.getModelObject() == 0) { queryLimit.setModelObject(kbProperties.getDefaultMaxResults()); } // Cap at local min results else if (queryLimit.getModelObject() < KnowledgeBaseProperties.HARD_MIN_RESULTS) { queryLimit.setModelObject(KnowledgeBaseProperties.HARD_MIN_RESULTS); } // Cap at local max results else if (queryLimit.getModelObject() > kbProperties.getHardMaxResults()) { queryLimit.setModelObject(kbProperties.getHardMaxResults()); } })); return queryLimit; }
private NumberTextField<Integer> queryLimitField(String id, IModel<Integer> aModel) { NumberTextField<Integer> queryLimit = new NumberTextField<>(id, aModel, Integer.class); queryLimit.setOutputMarkupId(true); queryLimit.setRequired(true); queryLimit.setMinimum(KnowledgeBaseProperties.HARD_MIN_RESULTS); queryLimit.setMaximum(kbProperties.getHardMaxResults()); queryLimit.add(LambdaBehavior.onConfigure(it -> { // If not setting, initialize with default if (queryLimit.getModelObject() == null || queryLimit.getModelObject() == 0) { queryLimit.setModelObject(kbProperties.getDefaultMaxResults()); } // Cap at local min results else if (queryLimit.getModelObject() < KnowledgeBaseProperties.HARD_MIN_RESULTS) { queryLimit.setModelObject(KnowledgeBaseProperties.HARD_MIN_RESULTS); } // Cap at local max results else if (queryLimit.getModelObject() > kbProperties.getHardMaxResults()) { queryLimit.setModelObject(kbProperties.getHardMaxResults()); } })); return queryLimit; }
private Form<Void> createSessionControlForm() { Form<Void> form = new Form<>(CID_SESSION_CONTROL_FORM); DropDownChoice<AnnotationLayer> layersDropdown = new BootstrapSelect<>(CID_SELECT_LAYER); layersDropdown.setModel(alStateModel.bind("layer")); layersDropdown.setChoices(LoadableDetachableModel.of(this::listLayersWithRecommenders)); layersDropdown.setChoiceRenderer(new LambdaChoiceRenderer<>(AnnotationLayer::getUiName)); layersDropdown.add(LambdaBehavior.onConfigure(it -> it.setEnabled(!alStateModel .getObject().isSessionActive()))); layersDropdown.setOutputMarkupId(true); layersDropdown.setRequired(true); form.add(layersDropdown); form.add(new LambdaAjaxSubmitLink(CID_START_SESSION_BUTTON, this::actionStartSession) .add(visibleWhen(() -> !alStateModel.getObject().isSessionActive()))); form.add(new LambdaAjaxLink(CID_STOP_SESSION_BUTTON, this::actionStopSession) .add(visibleWhen(() -> alStateModel.getObject().isSessionActive()))); form.add(visibleWhen(() -> alStateModel.getObject().isDoExistRecommenders())); return form; }
private Form<Void> createSessionControlForm() { Form<Void> form = new Form<>(CID_SESSION_CONTROL_FORM); DropDownChoice<AnnotationLayer> layersDropdown = new BootstrapSelect<>(CID_SELECT_LAYER); layersDropdown.setModel(alStateModel.bind("layer")); layersDropdown.setChoices(LoadableDetachableModel.of(this::listLayersWithRecommenders)); layersDropdown.setChoiceRenderer(new LambdaChoiceRenderer<>(AnnotationLayer::getUiName)); layersDropdown.add(LambdaBehavior.onConfigure(it -> it.setEnabled(!alStateModel .getObject().isSessionActive()))); layersDropdown.setOutputMarkupId(true); layersDropdown.setRequired(true); form.add(layersDropdown); form.add(new LambdaAjaxSubmitLink(CID_START_SESSION_BUTTON, this::actionStartSession) .add(visibleWhen(() -> !alStateModel.getObject().isSessionActive()))); form.add(new LambdaAjaxLink(CID_STOP_SESSION_BUTTON, this::actionStopSession) .add(visibleWhen(() -> alStateModel.getObject().isSessionActive()))); form.add(visibleWhen(() -> alStateModel.getObject().isDoExistRecommenders())); return form; }