List of usage examples for org.apache.wicket.ajax AjaxRequestTarget add
void add(Component... components);
From source file:com.axway.ats.testexplorer.pages.model.BaseCopyPage.java
License:Apache License
private void addCopyButton(Form<Object> form) { AjaxButton button = new AjaxButton("copyButton", form) { private static final long serialVersionUID = 1L; @Override//w ww. j a va 2s. co m protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (consoleUpdateTimer == null || consoleUpdateTimer.isStopped()) { // clear current console logs webConsole.clear(); // do some input validation if (isInputValid()) { // get the thread identifier for this copy process String threadIdentifier = generateThreadIdentifier(); // if we are already running this copy process - we will not start a new copy // process, but we will simply attach to the current copy console if (!checkForThreadCopingTheSameRun(threadIdentifier)) { // create a new copy process copyThread = getNewCopyThread(threadIdentifier); if (copyThread.isInitSuccessful()) { if (copyThread.areDbVersionsDifferent()) { // ask user for confirmation target.appendJavaScript( "if ( confirm('The two databases has different versions!" + "\\nSource database version is " + copyThread.getSrcDbVersion() + " but the destinanation is " + copyThread.getDstDbVersion() + "\\nAre you sure you want to continue?') ) " + "document.getElementById('copyHiddenButtonSpan').getElementsByTagName('input')[0].click();"); } else { startCurrentCopyThread(); } } } } target.add(consoleContainer); } } }; form.add(button); }
From source file:com.axway.ats.testexplorer.pages.model.BaseCopyPage.java
License:Apache License
private void addCopyHiddenButton(Form<Object> form) { AjaxButton button = new AjaxButton("copyHiddenButton") { private static final long serialVersionUID = 1L; @Override//from w w w .jav a 2 s. c o m protected void onSubmit(AjaxRequestTarget target, Form<?> form) { startCurrentCopyThread(); target.add(consoleContainer); } }; form.add(button); }
From source file:com.axway.ats.testexplorer.pages.model.ColumnsDialog.java
License:Apache License
@SuppressWarnings({ "rawtypes" }) public ColumnsDialog(String id, final DataGrid grid, List<TableColumn> columnDefinitions) { super(id);/* w w w . ja v a2s . c o m*/ setOutputMarkupId(true); this.dbColumnDefinitions = columnDefinitions; DataView<TableColumn> table = new DataView<TableColumn>("headers", new ListDataProvider<TableColumn>(dbColumnDefinitions), 100) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<TableColumn> item) { final TableColumn column = item.getModelObject(); item.add(new CheckBox("visible", new PropertyModel<Boolean>(column, "visible"))); item.add(new Label("columnName", new PropertyModel<String>(column, "columnName"))); item.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { TableColumn tableColumn = (TableColumn) this.getComponent().getDefaultModelObject(); tableColumn.setVisible(!tableColumn.isVisible()); if (tableColumn.isVisible()) { item.add(AttributeModifier.replace("class", "selected")); } else { item.add(AttributeModifier.replace("class", "notSelected")); } grid.getColumnState().setColumnVisibility(tableColumn.getColumnId(), tableColumn.isVisible()); target.add(grid); target.add(this.getComponent()); open(target); } }); item.setOutputMarkupId(true); if (column.isVisible()) { item.add(AttributeModifier.replace("class", "selected")); } else { item.add(AttributeModifier.replace("class", "notSelected")); } } }; add(table); final Form<Void> columnDefinitionsForm = new Form<Void>("columnDefinitionsForm"); add(columnDefinitionsForm); AjaxSubmitLink saveButton = new AjaxSubmitLink("saveButton", columnDefinitionsForm) { private static final long serialVersionUID = 1L; @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("getTableColumnDefinitions(); "); attributes.getAjaxCallListeners().add(ajaxCallListener); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { String columnDefinitionsString = form.getRequest().getPostParameters() .getParameterValue("columnDefinitions").toString(); List<TableColumn> jsColDefinitions = asList(columnDefinitionsString); orderTableColumns(dbColumnDefinitions, jsColDefinitions); try { saveColumnDefinitionsToDb(jsColDefinitions); modifyDBColumnDefinitionList(jsColDefinitions); } catch (DatabaseAccessException dae) { throw new RuntimeException("Unable to save table Column definitions in db: " + ((TestExplorerSession) Session.get()).getDbName(), dae); } catch (SQLException sqle) { throw new RuntimeException("Unable to save table Column definitions in db: " + ((TestExplorerSession) Session.get()).getDbName(), sqle); } close(target); } }; add(AttributeModifier.append("class", "runsTableColDialogDivWrapper")); columnDefinitionsForm.add(saveButton); add(new Behavior() { private static final long serialVersionUID = 1L; @Override public void renderHead(Component component, IHeaderResponse response) { if (autoAddToHeader()) { String script = "jQuery.fn.center=function(){" + "this.css(\"position\",\"absolute\");" + "this.css(\"top\",(jQuery(window).height()-this.height())/2+jQuery(window).scrollTop()+\"px\");" + "this.css(\"left\",(jQuery(window).width()-this.width())/2+jQuery(window).scrollLeft()+\"px\");" + "return this};"; String css = "#settingsoverlay,.settingsoverlay,#settingsoverlay_high," + ".settingsoverlay_high{filter:Alpha(Opacity=40);" + "-moz-opacity:.4;opacity:.4;background-color:#444;display:none;position:absolute;" + "left:0;top:0;width:100%;height:100%;text-align:center;z-index:5000;}" + "#settingsoverlay_high,.settingsoverlay_high{z-index:6000;}" + "#settingsoverlaycontent,#settingsoverlaycontent_high{display:none;z-index:5500;" + "text-align:center;}.settingsoverlaycontent," + ".settingsoverlaycontent_high{display:none;z-index:5500;text-align:left;}" + "#settingsoverlaycontent_high,.settingsoverlaycontent_high{z-index:6500;}" + "#settingsoverlaycontent .modalborder," + "#settingsoverlaycontent_high .modalborder{padding:15px;width:300px;" + "border:1px solid #444;background-color:white;" + "-webkit-box-shadow:0 0 10px rgba(0,0,0,0.8);-moz-box-shadow:0 0 10px rgba(0,0,0,0.8);" + "box-shadow:0 0 10px rgba(0,0,0,0.8);" + "filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5,OffY=5,Color='gray');" + "-ms-filter:\"progid:DXImageTransform.Microsoft.dropshadow(OffX=5,OffY=5,Color='gray')\";}"; response.render(JavaScriptHeaderItem.forScript(script, null)); response.render(CssHeaderItem.forCSS(css, null)); if (isSupportIE6()) { response.render(JavaScriptHeaderItem .forReference(new PackageResourceReference(getClass(), "jquery.bgiframe.js"))); } } response.render(OnDomReadyHeaderItem.forScript(getJS())); } private String getJS() { StringBuilder sb = new StringBuilder(); sb.append("if (jQuery('#").append(getDivId()) .append("').length == 0) { jQuery(document.body).append('") .append(getDiv().replace("'", "\\'")).append("'); }"); return sb.toString(); } private String getDivId() { return getMarkupId() + "_ovl"; } private String getDiv() { if (isClickBkgToClose()) { return ("<div id=\"" + getDivId() + "\" class=\"settingsoverlayCD\" onclick=\"" + getCloseString() + "\"></div>"); } else { return ("<div id=\"" + getDivId() + "\" class=\"settingsoverlayCD\"></div>"); } } }); }
From source file:com.axway.ats.testexplorer.pages.model.messages.MessageFilter.java
License:Apache License
public MessageFilter(String wicketId, final DataGrid dataGrid, String idColumnName, String idColumnValue) { super(wicketId); this.idColumnValue = idColumnValue; searchByMessage.setOutputMarkupId(true); searchByMessage.setEscapeModelStrings(false); add(searchByMessage);// w w w. j av a2 s. c om TestExplorerDbReadAccessInterface dbAccess = ((TestExplorerSession) Session.get()).getDbReadConnection(); try { if ("runId".equals(idColumnName)) { messageFilterDetails = dbAccess.getRunMessageFilterDetails(idColumnValue); } else if ("suiteId".equals(idColumnName)) { messageFilterDetails = dbAccess.getSuiteMessageFilterDetails(idColumnValue); } else { messageFilterDetails = dbAccess.getTestcaseMessageFilterDetails(idColumnValue); } } catch (DatabaseAccessException e) { LOG.error("Can't get message filter details", e); } add(getThreadChoices()); add(getMachineChoices()); add(getLevelChoices()); // search button AjaxButton searchButton = new AjaxButton("search_button") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { target.add(dataGrid); } }; add(searchButton); AjaxButton hiddenSearchButton = new AjaxButton("hiddenSearchButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { target.add(dataGrid); } }; add(hiddenSearchButton); // search button is the button to trigger when user hit the enter key this.setDefaultButton(searchButton); // reset button add(new AjaxButton("reset_button") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // reset the filter searchByMessage.setModelObject(""); target.add(searchByMessage); selectedThreads.setObject(new TreeSet<String>(messageFilterDetails.getThreads())); target.add(threadChoices); selectedMachines.setObject(new TreeSet<String>(messageFilterDetails.getMachines())); target.add(machineChoices); selectedLevels.setObject(messageFilterDetails.getSelectedLevels()); target.add(levelChoices); // automatically trigger a new search target.add(dataGrid); } }); // if there are error log messages, show only them at page load if (messageFilterDetails.getSelectedLevels().contains("error")) { List<String> errorListObject = new ArrayList<String>(); errorListObject.add("error"); selectedLevels.setObject(errorListObject); } }
From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java
License:Apache License
private void addColumnsDialog(final List<TableColumn> dbColumnDefinitions) { final MainDataGrid grid = getDataGrid(); Form<Object> form = new Form<Object>("columnsForm"); add(form);//from w ww . ja va2 s . c o m final ColumnsDialog dialog = new ColumnsDialog("modal", grid, dbColumnDefinitions); dialog.setClickBkgToClose(true); form.add(dialog); AjaxButton openChColumnsDialogButton = new AjaxButton("chColsButton", new Model<String>("Change columns")) { private static final long serialVersionUID = 1L; @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("getTableColumnDefinitions(); "); attributes.getAjaxCallListeners().add(ajaxCallListener); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // get column definitions from the JavaScript String columnDefinitionString = form.getRequest().getPostParameters() .getParameterValue("columnDefinitions").toString(); // as List List<TableColumn> jsColumnDefinitions = dialog.asList(columnDefinitionString); for (TableColumn colDefinition : dbColumnDefinitions) { if (jsColumnDefinitions.contains(colDefinition)) { // add column id jsColumnDefinitions.get(jsColumnDefinitions.indexOf(colDefinition)) .setColumnId(colDefinition.getColumnId()); } } //update column indexes according to the JavaScript result ColumnsState cs = grid.getColumnState(); int index; if (cs.getEntry("check") != null) { index = 1; } else { index = 0; } for (TableColumn col : jsColumnDefinitions) { cs.setColumnIndex(col.getColumnId(), index++); cs.setColumnWidth(col.getColumnId(), col.getInitialWidth()); } grid.setColumnState(cs); //reload grid target.add(grid); //open column selection dialog dialog.open(target); } }; form.add(openChColumnsDialogButton); }
From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java
License:Apache License
private void addToolbarButtons(int supportedOperations) { final MainDataGrid grid = getDataGrid(); final IDataSource<?> dataSource = grid.getDataSource(); buttonsForm = new Form<Object>("toolbarButtonsForm"); buttonsForm.setOutputMarkupId(true); add(buttonsForm);/*from w w w .ja va 2s . c om*/ defaultMode = new WebMarkupContainer("defaultMode"); defaultMode.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0); editMode = new WebMarkupContainer("editMode"); editMode.setVisible(false); buttonsForm.add(defaultMode); buttonsForm.add(editMode); // add DELETE button for DEFAULT mode AjaxButton deleteButton = new AjaxButton("deleteButton") { private static final long serialVersionUID = 1L; // Add user confirmation dialog on the delete event @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); int selectedItems = grid.getSelectedItems().size(); if (selectedItems > 0) { ajaxCallListener.onPrecondition("return confirm('" + "Are you sure you want to delete the selected " + "item(s)?" + "');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // collect the objects to delete List<Object> objectsToDelete = new ArrayList<Object>(); for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) { objectsToDelete.add(model.getObject()); } // delete deleteObjects(objectsToDelete); // the selected items were deleted, unselect them grid.resetSelectedItems(); target.add(grid); } }; deleteButton.setVisible((supportedOperations & MainDataGrid.OPERATION_DELETE) > 0); defaultMode.add(deleteButton); // add EDIT button for DEFAULT mode AjaxButton editButton = new AjaxButton("editButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (grid.getSelectedItems().size() > 0) { for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) { grid.setItemEdit(model, true); } grid.switchToEditMode(); target.add(grid); } } }; editButton.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0); defaultMode.add(editButton); //add MESSAGE button for run and suite AjaxButton messageButton = new AjaxButton("messageButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { PageParameters parameters = new PageParameters(); // pass database name parameters.add("dbname", ((TestExplorerSession) Session.get()).getDbName()); String id = null; if (dataSource instanceof ScenariosDataSource) { id = ((ScenariosDataSource) dataSource).getSuiteId(); parameters.add("suiteId", id); setResponsePage(SuiteMessagePage.class, parameters); } else if (dataSource instanceof SuitesDataSource) { id = ((SuitesDataSource) dataSource).getRunId(); parameters.add("runId", id); setResponsePage(RunMessagePage.class, parameters); } } }; if (dataSource instanceof ScenariosDataSource) { messageButton.add(new Label("button_label", "Suite messages")); } else if (dataSource instanceof SuitesDataSource) { messageButton.add(new Label("button_label", "Run messages")); } messageButton.setVisible((supportedOperations & MainDataGrid.OPERATION_GET_LOG) > 0); defaultMode.add(messageButton); // add ADD TO COMPARE BASKET button for DEFAULT mode AjaxButton addToCompareButton = new AjaxButton("addToCompareButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) { ((TestExplorerSession) Session.get()).getCompareContainer().addObject(model.getObject(), ((BasePage) getPage()).getCurrentPath()); } target.add(((BasePage) getPage()).getItemsCountLabel()); // unselect the items grid.resetSelectedItems(); target.add(grid); target.appendJavaScript( "$(\".arrowUpIndicator\").stop(true,true).removeAttr('style').show().effect(\"shake\",{times:2},300).fadeOut('slow');"); } }; addToCompareButton.setVisible((supportedOperations & MainDataGrid.OPERATION_ADD_TO_COMPARE) > 0); defaultMode.add(addToCompareButton); // add CREATE REPORT button for DEFAULT mode AjaxButton createReportButton = new AjaxButton("createReportButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { TestExplorerSession session = (TestExplorerSession) Session.get(); Collection<IModel<?>> selectedItems = grid.getSelectedItems(); if (selectedItems.isEmpty()) { error("Please select a test to create a report for"); return; } boolean workingWithScenarios = selectedItems.iterator().next().getObject() instanceof Scenario; String testcaseId = null; if (workingWithScenarios) { // get the ID of the first selected scenario int firstSuiteId = Integer.MAX_VALUE; String firstScenarioName = ""; for (IModel<?> model : selectedItems) { Object obj = model.getObject(); int thisSuiteId = Integer.parseInt(((Scenario) obj).suiteId); if (thisSuiteId < firstSuiteId) { firstSuiteId = thisSuiteId; firstScenarioName = ((Scenario) obj).name; } } try { // get the ID of the first testcase List<Testcase> testcases = session.getDbReadConnection().getTestcases(0, 1, "where suiteId=" + firstSuiteId, "testcaseId", true, ((TestExplorerSession) Session.get()).getTimeOffset()); if (testcases.size() < 1) { error("Could not find testcase(s) for scenario with name '" + firstScenarioName + "'and suite id " + firstSuiteId + "."); return; } testcaseId = testcases.get(0).testcaseId; } catch (DatabaseAccessException e) { error("Could not fetch testcase(s) for scenario with name '" + firstScenarioName + "'and suite id " + firstSuiteId + "."); return; } } else { testcaseId = ((Testcase) selectedItems.iterator().next().getObject()).testcaseId; } PageParameters parameters = new PageParameters(); parameters.add("testcaseId", testcaseId); setResponsePage(SelectTestcaseReportPage.class, parameters); } }; createReportButton.setVisible((supportedOperations & MainDataGrid.OPERATION_CREATE_REPORT) > 0); defaultMode.add(createReportButton); // add APPLY button for EDIT mode AjaxButton applyButton = new AjaxButton("applyButton", grid.getForm()) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { boolean hasError = false; for (IModel<?> model : (Collection<IModel<?>>) grid.getSelectedItems()) { if (updateObject(model.getObject())) { grid.setItemEdit(model, false); } else { hasError = true; } } if (!hasError) { grid.switchToDefaultMode(); } grid.resetSelectedItems(); target.add(grid); } }; applyButton.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0); editMode.add(applyButton); // add CANCEL button for DEFAULT mode AjaxButton cancelButton = new AjaxButton("cancelButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) { grid.setItemEdit(model, false); } grid.switchToDefaultMode(); grid.resetSelectedItems(); target.add(grid); } }; cancelButton.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0); cancelButton.setDefaultFormProcessing(false); editMode.add(cancelButton); // add STATUS CHANGE buttons for DEFAULT mode AjaxButton statusChangePassButton = new AjaxButton("statusChangePassButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // collect the objects to change state to PASS List<Object> objectsToPass = new ArrayList<Object>(); for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) { objectsToPass.add(model.getObject()); } changeTestcaseStatus(objectsToPass, 1); // unselect the selected items grid.resetSelectedItems(); target.add(grid); } }; statusChangePassButton.setVisible((supportedOperations & MainDataGrid.OPERATION_STATUS_CHANGE) > 0); defaultMode.add(statusChangePassButton); AjaxButton statusChangeFailButton = new AjaxButton("statusChangeFailButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // collect the objects to change state to FAIL List<Object> objectsToFail = new ArrayList<Object>(); for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) { objectsToFail.add(model.getObject()); } changeTestcaseStatus(objectsToFail, 0); // unselect the selected items grid.resetSelectedItems(); target.add(grid); } }; statusChangeFailButton.setVisible((supportedOperations & MainDataGrid.OPERATION_STATUS_CHANGE) > 0); defaultMode.add(statusChangeFailButton); AjaxButton statusChangeSkipButton = new AjaxButton("statusChangeSkipButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // collect the objects to change state to SKIP List<Object> objectsToSkip = new ArrayList<Object>(); for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) { objectsToSkip.add(model.getObject()); } changeTestcaseStatus(objectsToSkip, 2); // unselect the selected items grid.resetSelectedItems(); target.add(grid); } }; statusChangeSkipButton.setVisible((supportedOperations & MainDataGrid.OPERATION_STATUS_CHANGE) > 0); defaultMode.add(statusChangeSkipButton); }
From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java
License:Apache License
private Component getResultsPerPageDropDown() { SelectOption[] options = new SelectOption[] { new SelectOption("20", "20"), new SelectOption("50", "50"), new SelectOption("100", "100"), new SelectOption("500", "500") }; ChoiceRenderer<SelectOption> choiceRenderer = new ChoiceRenderer<SelectOption>("value", "key"); DropDownChoice<SelectOption> dropDown = new DropDownChoice<SelectOption>("resultsPerPage", getDataGrid().getRowsPerPageModel(), Arrays.asList(options), choiceRenderer); dropDown.add(new AjaxFormComponentUpdatingBehavior("change") { private static final long serialVersionUID = 1L; protected void onUpdate(AjaxRequestTarget target) { SelectOption newSelectOption = (SelectOption) getComponent().getDefaultModel().getObject(); MainDataGrid grid = getDataGrid(); grid.setRowsPerPage(Integer.parseInt(newSelectOption.getKey())); target.add(grid); }// w w w. j a va 2 s . c o m }); dropDown.setOutputMarkupId(true); return dropDown; }
From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java
License:Apache License
public void reloadButtons() { AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class); target.add(buttonsForm); }
From source file:com.axway.ats.testexplorer.pages.reports.compare.ComparePage.java
License:Apache License
private Form<Object> getItemsToCompareForm(final Label noRunsLabel, final Label noTestcasesLabel) { final Form<Object> itemsToCompareForm = new Form<Object>("itemsToCompareForm"); itemsToCompareForm.setOutputMarkupId(true); IModel<? extends List<Run>> runsListModel = new LoadableDetachableModel<List<Run>>() { private static final long serialVersionUID = 1L; protected List<Run> load() { return getTESession().getCompareContainer().getRunsList(); }/*from w w w .j a v a 2 s .co m*/ }; final ListView<Run> runsToCompare = new ListView<Run>("runsToCompare", runsListModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Run> item) { final ListView<Run> runsToCompareComponent = this; if (item.getIndex() % 2 != 0) { item.add(AttributeModifier.replace("class", "oddRow")); } Map<Run, Model<Boolean>> runs = getTESession().getCompareContainer().getRuns(); item.add(new CheckBox("checkbox", runs.get(item.getModelObject()))); item.add(new Label("runName", item.getModelObject().runName).setEscapeModelStrings(false)); item.add(new Label("version", item.getModelObject().versionName).setEscapeModelStrings(false)); item.add(new Label("build", item.getModelObject().buildName).setEscapeModelStrings(false)); item.add(new Label("startDate", item.getModelObject().getDateStart()).setEscapeModelStrings(false)); item.add(new Label("endDate", item.getModelObject().getDateEnd()).setEscapeModelStrings(false)); item.add(new AjaxButton("removeIcon") { private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget target, Form<?> form) { CompareContainer compareContainer = getTESession().getCompareContainer(); compareContainer.removeObject(item.getModelObject()); runsToCompareComponent.setModelObject(compareContainer.getRunsList()); noRunsLabel.setVisible(compareContainer.getRuns().size() == 0); target.add(noRunsLabel); target.add(itemsToCompareForm); } }); } }; itemsToCompareForm.add(runsToCompare); AjaxButton removeAllRunsButton = new AjaxButton("removeAllRuns") { private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget target, Form<?> form) { CompareContainer compareContainer = getTESession().getCompareContainer(); compareContainer.getRuns().clear(); runsToCompare.setModelObject(compareContainer.getRunsList()); noRunsLabel.setVisible(true); target.add(noRunsLabel); target.add(itemsToCompareForm); } }; itemsToCompareForm.add(removeAllRunsButton); IModel<? extends List<Testcase>> testcasesListModel = new LoadableDetachableModel<List<Testcase>>() { private static final long serialVersionUID = 1L; protected List<Testcase> load() { return getTESession().getCompareContainer().getTestcasesList(); } }; final TestcaseListView<Testcase> testcasesToCompare = new TestcaseListView<Testcase>("testcasesToCompare", testcasesListModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Testcase> item) { final ListView<Testcase> testcasesToCompareComponent = this; if (item.getIndex() % 2 != 0) { item.add(AttributeModifier.replace("class", "oddRow")); } Map<Testcase, Model<Boolean>> testcases = getTESession().getCompareContainer().getTestcases(); item.add(new CheckBox("checkbox", testcases.get(item.getModelObject()))); item.add(new Label("runName", item.getModelObject().runName).setEscapeModelStrings(false)); item.add(new Label("suiteName", item.getModelObject().suiteName).setEscapeModelStrings(false)); item.add( new Label("scenarioName", item.getModelObject().scenarioName).setEscapeModelStrings(false)); item.add(new Label("testcaseName", item.getModelObject().name).setEscapeModelStrings(false)); item.add(new Label("dateStart", item.getModelObject().getDateStart()).setEscapeModelStrings(false)); item.add(new TextField<String>("testcaseAlias", new PropertyModel<String>(item.getModelObject(), "alias"))); item.add(moveLinkUp("moveUpLink", item)); item.add(new AjaxButton("removeIcon") { private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget target, Form<?> form) { CompareContainer compareContainer = getTESession().getCompareContainer(); compareContainer.removeObject(item.getModelObject()); testcasesToCompareComponent.setModelObject(compareContainer.getTestcasesList()); noTestcasesLabel.setVisible(compareContainer.getTestcases().size() == 0); target.add(noTestcasesLabel); target.add(itemsToCompareForm); } }); } }; itemsToCompareForm.add(testcasesToCompare); AjaxButton removeAllTestcasesButton = new AjaxButton("removeAllTestcases") { private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget target, Form<?> form) { CompareContainer compareContainer = getTESession().getCompareContainer(); compareContainer.getTestcases().clear(); testcasesToCompare.setModelObject(compareContainer.getTestcasesList()); noTestcasesLabel.setVisible(true); target.add(noTestcasesLabel); target.add(itemsToCompareForm); } }; itemsToCompareForm.add(removeAllTestcasesButton); // Standard Runs Compare buttons itemsToCompareForm.add(getStandardRunsCompareButtons()); // Custom Runs Compare buttons itemsToCompareForm.add(getCustomRunsCompareButtons()); // Standard Testcases Compare buttons itemsToCompareForm.add(getStandardTestcasesCompareButtons()); // Custom Testcases Compare buttons itemsToCompareForm.add(getCustomTestcasesCompareButtons()); noRunsLabel.setVisible(getTESession().getCompareContainer().getRuns().size() == 0); itemsToCompareForm.add(noRunsLabel); noTestcasesLabel.setVisible(getTESession().getCompareContainer().getTestcases().size() == 0); itemsToCompareForm.add(noTestcasesLabel); return itemsToCompareForm; }
From source file:com.axway.ats.testexplorer.pages.reports.compare.CompareRunsPage.java
License:Apache License
public CompareRunsPage(PageParameters parameters) { super(parameters); final String runIds = extractParameter(parameters, "runIds").replace("_", ","); final WebMarkupContainer testsComparisonContainer = new WebMarkupContainer("testsComparison"); testsComparisonContainer.setOutputMarkupId(true); add(testsComparisonContainer);/*from ww w . jav a 2 s . c o m*/ Form<Object> testsComparisonForm = new Form<Object>("testsComparisonForm"); testsComparisonForm.setOutputMarkupId(true); testsComparisonForm.setMarkupId("testsComparisonForm"); List<List<TestcasesTableCell>> testcasesTableModel = getTestcasesTableModel(runIds); final ListView<List<TestcasesTableCell>> testcasesTable = getTestcasesTable(testcasesTableModel); testsComparisonForm.add(testcasesTable); testsComparisonContainer.add(testsComparisonForm); AjaxButton applyFilterButton = new AjaxButton("applyFilterButton") { private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget target, Form<?> form) { List<List<TestcasesTableCell>> testcasesTableModel = getTestcasesTableModel(runIds); testcasesTable.setDefaultModelObject(testcasesTableModel); target.add(testsComparisonContainer); } }; applyFilterButton.setOutputMarkupId(true); applyFilterButton.setMarkupId("applyFilterButton"); testsComparisonForm.add(applyFilterButton); testsComparisonForm.setDefaultButton(applyFilterButton); }