List of usage examples for org.apache.wicket.markup.html.list ListView ListView
public ListView(final String id, final List<T> list)
From source file:com.axway.ats.testexplorer.pages.BasePage.java
License:Apache License
public BasePage(PageParameters parameters) { super(parameters); LOG = Logger.getLogger(this.getClass()); add(new Label("page_title", "Axway ATS Test Explorer - " + getPageName())); // check DB connection and sets the current DB Name getTESession().getDbReadConnection(); WebMarkupContainer topRightContent = new WebMarkupContainer("topRightContent"); add(topRightContent);// w w w. j a v a2 s.c o m String dbName = getTESession().getDbName(); if (dbName == null || "".equals(dbName)) { topRightContent.add(new Label("dbName", "").setVisible(false)); topRightContent.add(new Label("machinesLink", "").setVisible(false)); topRightContent.add(new Label("runCopyLink", runCopyLinkModel).setVisible(false)); topRightContent.add(new Label("testcasesCopyLink", testcasesCopyLinkModel).setVisible(false)); topRightContent.add(new Label("representationLink", representationLinkModel).setVisible(false)); } else { String dbNameAndVersion = dbName; String dbVersion = getTESession().getDbVersion(); if (dbVersion != null) { dbNameAndVersion = dbNameAndVersion + ", v" + dbVersion; } topRightContent.add(new Label("dbName", "<div class=\"dbName\"><span style=\"color:#C8D5DF;\">Exploring database:</span> " + dbNameAndVersion + "</div>").setEscapeModelStrings(false)); topRightContent.add(new Label("machinesLink", "<a href=\"machines?dbname=" + dbName + "\" class=\"machinesLink\" target=\"_blank\"></a>") .setEscapeModelStrings(false)); runCopyLinkModel.setObject( "<a href=\"runCopy?dbname=" + dbName + "\" class=\"runCopyLink\" target=\"_blank\"></a>"); topRightContent.add(new Label("runCopyLink", runCopyLinkModel).setEscapeModelStrings(false)); testcasesCopyLinkModel.setObject("<a href=\"testcasesCopy?dbname=" + dbName + "\" class=\"testcasesCopyLink\" target=\"_blank\"></a>"); topRightContent.add(getTestcasesCopyButton()); representationLinkModel.setObject(createRepresentationLinkModelObject()); topRightContent .add(new Label("representationLink", representationLinkModel).setEscapeModelStrings(false)); } itemsCountLabel = new Label("itemsCount", new Model<Integer>() { private static final long serialVersionUID = 1L; @Override public Integer getObject() { return getTESession().getCompareContainer().size(); } }); itemsCountLabel.setOutputMarkupId(true); topRightContent.setVisible(!(this instanceof WelcomePage)); topRightContent.add(itemsCountLabel); FeedbackPanel feedbackPanel = new FeedbackPanel("feedback"); feedbackPanel.setOutputMarkupId(true); add(feedbackPanel); // add navigation panel add(new ListView<PagePojo>("navigation_links", navigationList) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<PagePojo> item) { final PagePojo pp = item.getModelObject(); if (pp.pageSuffix != null && !pp.pageName.endsWith("</span>")) { pp.pageName = pp.pageName + " <span class=\"locationName\">[" + pp.pageSuffix + "]</span>"; } item.add(new Link<Object>("navigation_link") { private static final long serialVersionUID = 1L; @Override protected CharSequence getURL() { // generate Bookmarkable link url return urlFor(pp.pageClass, pp.parameters); } @Override public void onClick() { // This link acts like Bookmarkable link and don't have a click handler. } }.add(new Label("navigation_link_name", pp.pageName).setEscapeModelStrings(false))); } }); add(new Label("navigation_current_page_name", getPageName())); add(getNavigationSuffixComponent()); add(getTestcaseNavigationButtons()); currentTestDetails(); // add child page TransparentWebMarkupContainer pageWrapper = new TransparentWebMarkupContainer("page_wrapper"); add(pageWrapper); if (TestExplorerUtils.extractPageParameter(parameters, "hacks") != null) { showTestcaseStatusChangeButtons = true; } add(timeOffsetField); add(dayLightSavingOnField); // AJAX handler for obtaining browser's time offset from UTC and current browser timestamp add(new AbstractDefaultAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void respond(AjaxRequestTarget target) { IRequestParameters request = RequestCycle.get().getRequest().getRequestParameters(); int timeOffset = request.getParameterValue("timeOffset").toInt(); TestExplorerSession teSession = (TestExplorerSession) Session.get(); teSession.setTimeOffset(timeOffset); teSession.setDayLightSavingOn(request.getParameterValue("dayLightSavingOn").toBoolean()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getDynamicExtraParameters().add("return {'timeOffset': $('#timeOffset').val(), " + "'dayLightSavingOn': $('#dayLightSavingOn').val() }"); } @Override public void renderHead(Component component, IHeaderResponse response) { // Date.prototype.getTimezoneOffset() returns negative value if the local time is ahead of UTC, // so we invert the result, before sending it to Wicket String getTimeOffsetScript = ";var timeOffset = $('#timeOffset');timeOffset.val(new Date().getTimezoneOffset()*60*1000*-1);" + ";var dayLightSavingOn = $('#dayLightSavingOn');dayLightSavingOn.val(isDayLightSavingOn());"; response.render(OnLoadHeaderItem.forScript(getCallbackScript().toString())); response.render(OnLoadHeaderItem.forScript(getTimeOffsetScript)); } }); }
From source file:com.axway.ats.testexplorer.pages.machines.MachinesPage.java
License:Apache License
private Form<Object> getMachinesForm(final Label noMachinesLabel) { final Form<Object> machinesForm = new Form<Object>("machinesForm"); machinesForm.setOutputMarkupId(true); machineModels = new HashMap<Integer, IModel<String>>(); ListView<Machine> machinesTable = new ListView<Machine>("machine", machines) { private static final long serialVersionUID = 1L; @Override//from w w w . ja v a 2s .c o m protected void populateItem(final ListItem<Machine> item) { if (item.getIndex() % 2 != 0) { item.add(AttributeModifier.replace("class", "oddRow")); } IModel<String> aliasModel = new Model<String>(item.getModelObject().alias); machineModels.put(item.getModelObject().machineId, aliasModel); item.add(new TextField<String>("machineAlias", aliasModel)); item.add(new Label("machineName", item.getModelObject().name).setEscapeModelStrings(false)); final Machine machine = item.getModelObject(); item.add(new AjaxButton("machineInfo") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (machine.alias == null || machine.alias.trim().length() == 0) { machineInfoDialogTitle.setDefaultModelObject(machine.name); } else { machineInfoDialogTitle.setDefaultModelObject(machine.alias + " (" + machine.name + ")"); } machineInfoDialog.setVisible(true); machineForEdit = machine; machineInfoText.setModelObject(getMachineInformation(machine)); target.add(machineInfoDialogForm); } }); } }; machinesForm.add(machinesTable); AjaxButton saveMachineAliasesButton = new AjaxButton("saveMachineAliasesButton") { private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget target, Form<?> form) { if (!form.isSubmitted()) { return; } for (Machine machine : machines) { String newMachineAlias = machineModels.get(machine.machineId).getObject(); if (newMachineAlias != null) { newMachineAlias = newMachineAlias.trim(); } if ((newMachineAlias == null && machine.alias != null) || (newMachineAlias != null && !newMachineAlias.equals(machine.alias))) { machine.alias = newMachineAlias; try { getTESession().getDbWriteConnection().updateMachineAlias(machine); } catch (DatabaseAccessException e) { LOG.error("Can't update alias of machine '" + machine.name + "'", e); target.appendJavaScript( "alert('There was an error while updating the machine aliases!');"); return; } } } target.appendJavaScript("alert('The machine aliases were successfully updated.');"); } }; boolean hasMachines = machines.size() > 0; machinesTable.setVisible(hasMachines); saveMachineAliasesButton.setVisible(hasMachines); noMachinesLabel.setVisible(!hasMachines); machinesForm.add(saveMachineAliasesButton); machinesForm.add(noMachinesLabel); return machinesForm; }
From source file:com.axway.ats.testexplorer.pages.model.BaseCopyPage.java
License:Apache License
public BaseCopyPage(PageParameters parameters) { super(parameters); this.form = new Form<Object>("form"); addCopyButton(form);/*from w ww .j a va 2 s . c o m*/ addCopyHiddenButton(form); add(form); IModel<List<String>> consoleModel = new LoadableDetachableModel<List<String>>() { private static final long serialVersionUID = 1L; protected List<String> load() { int size = webConsole.size(); if (size > MAX_CONSOLE_LINES) { webConsole.subList(0, size - MAX_CONSOLE_LINES).clear(); } return webConsole; } }; ListView<String> messages = new ListView<String>("messages", consoleModel) { private static final long serialVersionUID = 1L; protected void populateItem(ListItem<String> item) { Label label = new Label("message", item.getModelObject()); label.setEscapeModelStrings(false); item.add(label); } }; messages.setOutputMarkupId(true); consoleContainer = new WebMarkupContainer("webConsole"); consoleContainer.setOutputMarkupId(true); consoleContainer.add(messages); add(consoleContainer); }
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.c o 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.ComparePage.java
License:Apache License
private ListView<PluginParameters> getCustomRunsCompareButtons() { // Add buttons that will create some reports about the selected runs List<PluginParameters> pluginParameters = TestExplorerPluginsRepo.getInstance() .getPluginParameters(PluginConfigurationParser.PLUGIN_TYPE.COMPARE_RUNS_REPORT); // add plugin buttons, clicking a button forwards to the plugin web page ListView<PluginParameters> reportButtons = new ListView<PluginParameters>("runs_compare_plugin_buttons", pluginParameters) {/*from w ww. jav a2 s . c o m*/ private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<PluginParameters> item) { final PluginParameters pluginParameters = item.getModelObject(); AjaxLink<String> aReportButton = new AjaxLink<String>("runs_compare_plugin_button") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { StringBuilder sb = new StringBuilder(); Map<Run, Model<Boolean>> runs = getTESession().getCompareContainer().getRuns(); for (Run r : runs.keySet()) { if (runs.get(r).getObject()) { sb.append(String.valueOf(r.runId)); sb.append("_"); } } if (sb.length() > 0) { PageParameters parameters = new PageParameters(); parameters.add("runIds", sb.substring(0, sb.length() - 1)); //pass database name parameters.add("dbname", ((TestExplorerSession) Session.get()).getDbName()); setResponsePage(pluginParameters.getPluginClass(), parameters); } } }; aReportButton.add(new Label("button_name", pluginParameters.getButtonName())); item.add(aReportButton); } }; return reportButtons; }
From source file:com.axway.ats.testexplorer.pages.reports.compare.ComparePage.java
License:Apache License
private ListView<PluginParameters> getCustomTestcasesCompareButtons() { // Add buttons that will create some reports about the selected testcases List<PluginParameters> pluginParameters = TestExplorerPluginsRepo.getInstance() .getPluginParameters(PluginConfigurationParser.PLUGIN_TYPE.COMPARE_TESTCASES_REPORT); // add plugin buttons, clicking a button forwards to the plugin web page ListView<PluginParameters> reportButtons = new ListView<PluginParameters>( "testcases_compare_plugin_buttons", pluginParameters) { private static final long serialVersionUID = 1L; @Override//from w w w .j av a 2 s. c o m protected void populateItem(final ListItem<PluginParameters> item) { final PluginParameters pluginParameters = item.getModelObject(); AjaxLink<String> aReportButton = new AjaxLink<String>("testcases_compare_plugin_button") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { StringBuilder sb = new StringBuilder(); Map<Testcase, Model<Boolean>> testcases = getTESession().getCompareContainer() .getTestcases(); for (Testcase t : testcases.keySet()) { if (testcases.get(t).getObject()) { sb.append(String.valueOf(t.testcaseId)); sb.append("_"); } } if (sb.length() > 0) { PageParameters parameters = new PageParameters(); parameters.add("testcaseIds", sb.substring(0, sb.length() - 1)); setResponsePage(pluginParameters.getPluginClass(), parameters); } } }; aReportButton.add(new Label("button_name", pluginParameters.getButtonName())); item.add(aReportButton); } }; return reportButtons; }
From source file:com.axway.ats.testexplorer.pages.reports.compare.CompareRunsPage.java
License:Apache License
private ListView<List<TestcasesTableCell>> getTestcasesTable( List<List<TestcasesTableCell>> testcasesTableModel) { ListView<List<TestcasesTableCell>> statisticDetailsTable = new ListView<List<TestcasesTableCell>>( "runsDetailsRows", testcasesTableModel) { private static final long serialVersionUID = 1L; @Override/* w w w . j a va 2s.c o m*/ protected void populateItem(ListItem<List<TestcasesTableCell>> item) { // table TR List<TestcasesTableCell> tdObjects = item.getModelObject(); final int columnsCount = tdObjects.size(); if (item.getIndex() == 0) { item.add(AttributeModifier.append("class", "runName")); } else if (item.getIndex() == 1) { item.add(AttributeModifier.append("class", "runDuration")); } else if (item.getIndex() == 2) { item.add(AttributeModifier.append("class", "testStateFilter")); } else if (item.getIndex() == 3 || item.getIndex() == 4) { // this is the Apply Filter Button row, we will use colspan, so we need only one column tdObjects = item.getModelObject().subList(0, 1); } else if (item.getIndex() % 2 != 0) { item.add(AttributeModifier.append("class", "oddRow")); } else { item.add(AttributeModifier.append("class", "evenRow")); } item.add(new ListView<TestcasesTableCell>("runsDetailsColumns", tdObjects) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<TestcasesTableCell> item) { // table TD if (item.getIndex() == 0) { item.add(AttributeModifier.append("class", "compareTest_firstCell")); } TestcasesTableCell cell = item.getModelObject(); if (cell.isFilter) { item.add(new CheckBox("showOnlyTestsPresentInAllRuns").setVisible(false)); item.add(new Label("label", "").setVisible(false)); item.add(getTestStateChoices(cell.labelText)); } else if (cell.isShowOnlyTestsPresentInAllRunsCheckbox) { item.add(AttributeModifier.replace("class", "compareTest_checkboxCell")); item.add(AttributeModifier.replace("colspan", columnsCount)); item.add(new CheckBox("showOnlyTestsPresentInAllRuns", showOnlyTestsPresentInAllRunsModel).setOutputMarkupId(true) .setMarkupId("showOnlyTestsPresentInAllRuns")); item.add(new Label("label", "<label for=\"showOnlyTestsPresentInAllRuns\">Show only tests present in all runs</label>") .setEscapeModelStrings(false)); item.add(getTestStateChoices(null).setVisible(false)); } else if (cell.isFilterButton) { item.add(AttributeModifier.replace("class", "compareTest_applyFilterButtonCell")); item.add(AttributeModifier.replace("colspan", columnsCount)); item.add(new CheckBox("showOnlyTestsPresentInAllRuns").setVisible(false)); Label label = new Label("label", "<a href=\"#\" class=\"button applyFilterButton\" onclick=\"document.getElementById('applyFilterButton').click();\"><span>Apply Filter</span></a>"); label.setEscapeModelStrings(false); item.add(label); item.add(getTestStateChoices(null).setVisible(false)); } else { if (cell.cssClass != null) { item.add(AttributeModifier.append("class", cell.cssClass)); } item.add(new CheckBox("showOnlyTestsPresentInAllRuns").setVisible(false)); Label label = null; if (cell.url != null) { label = new Label("label", "<a href=\"" + cell.url + "\" target=\"_blank\">" + cell.labelText + "</a>"); } else { label = new Label("label", cell.labelText); } label.setEscapeModelStrings(false); item.add(label); item.add(getTestStateChoices(null).setVisible(false)); } } }); } }; statisticDetailsTable.setOutputMarkupId(true); return statisticDetailsTable; }
From source file:com.axway.ats.testexplorer.pages.reports.testcase.SelectTestcaseReportPage.java
License:Apache License
public SelectTestcaseReportPage(PageParameters parameters) { super(parameters); testcaseId = TestExplorerUtils.extractPageParameter(parameters, "testcaseId"); WebMarkupContainer mainContainer = new WebMarkupContainer("mainContainer"); add(mainContainer);/*from w w w . j av a 2 s. c o m*/ PageNavigation navigation; try { navigation = ((TestExplorerSession) Session.get()).getDbReadConnection() .getNavigationForTestcase(testcaseId, getTESession().getTimeOffset()); } catch (DatabaseAccessException e) { error("Could not read info about testcase with id " + testcaseId + "; CAUSE: " + e.getMessage()); mainContainer.setVisible(false); return; } // Add fields describing the selected testcase TextField<String> runNameTextField = new TextField<String>("run_name", new Model<String>(navigation.getRunName())); runNameTextField.setEnabled(false); mainContainer.add(runNameTextField); TextField<String> runIdTextField = new TextField<String>("run_id", new Model<String>(navigation.getRunId())); runIdTextField.setEnabled(false); mainContainer.add(runIdTextField); TextField<String> suiteNameTextField = new TextField<String>("suite_name", new Model<String>(navigation.getSuiteName())); suiteNameTextField.setEnabled(false); mainContainer.add(suiteNameTextField); TextField<String> scenarioNameTextField = new TextField<String>("scenario_name", new Model<String>(navigation.getScenarioName())); scenarioNameTextField.setEnabled(false); mainContainer.add(scenarioNameTextField); TextField<String> testcaseNameTextField = new TextField<String>("testcase_name", new Model<String>(navigation.getTestcaseName())); testcaseNameTextField.setEnabled(false); mainContainer.add(testcaseNameTextField); TextField<String> testcaseIdTextField = new TextField<String>("testcase_id", new Model<String>(testcaseId)); testcaseIdTextField.setEnabled(false); mainContainer.add(testcaseIdTextField); // Add buttons that will create some reports about the selected testcase List<PluginParameters> pluginParameters = TestExplorerPluginsRepo.getInstance() .getPluginParameters(PluginConfigurationParser.PLUGIN_TYPE.SINGLE_TESTCASE_REPORT); // add plugin buttons, clicking a button forwards to the plugin web page ListView<PluginParameters> reportButtons = new ListView<PluginParameters>("report_buttons", pluginParameters) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<PluginParameters> item) { final PluginParameters pluginParameters = item.getModelObject(); AjaxLink<String> aReportButton = new AjaxLink<String>("report_button") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { if (!StringUtils.isNullOrEmpty(testcaseId)) { PageParameters parameters = new PageParameters(); parameters.add("testcaseId", String.valueOf(testcaseId)); setResponsePage(pluginParameters.getPluginClass(), parameters); } } }; aReportButton.add(new Label("button_name", pluginParameters.getButtonName())); item.add(aReportButton); } }; mainContainer.add(reportButtons); }
From source file:com.axway.ats.testexplorer.pages.testcase.attachments.AttachmentsPanel.java
License:Apache License
@SuppressWarnings({ "unchecked", "rawtypes" }) public AttachmentsPanel(String id, final String testcaseId, final PageParameters parameters) { super(id);//from w w w. j a v a 2 s. c o m form = new Form<Object>("form"); buttonPanel = new WebMarkupContainer("buttonPanel"); noButtonPanel = new WebMarkupContainer("noButtonPanel"); fileContentContainer = new TextArea<String>("textFile", new Model<String>("")); imageContainer = new WebMarkupContainer("imageFile"); fileContentInfo = new Label("fileContentInfo", new Model<String>("")); buttons = getAllAttachedFiles(testcaseId); form.add(fileContentContainer); form.add(imageContainer); form.add(fileContentInfo); form.add(buttonPanel); add(noButtonPanel); add(form); buttonPanel.setVisible(!(buttons == null)); fileContentContainer.setVisible(false); imageContainer.setVisible(false); fileContentInfo.setVisible(false); noButtonPanel.setVisible(buttons == null); // if noButtonPanel is visible, do not show form and vice versa form.setVisible(!noButtonPanel.isVisible()); noButtonPanel.add(new Label("description", noButtonPanelInfo)); final ListView lv = new ListView("buttons", buttons) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem item) { if (item.getIndex() % 2 != 0) { item.add(AttributeModifier.replace("class", "oddRow")); } final String viewedFile = buttons.get(item.getIndex()); final String name = getFileSimpleName(buttons.get(item.getIndex())); final Label buttonLabel = new Label("name", name); Label fileSize = new Label("fileSize", getFileSize(viewedFile)); downloadFile = new DownloadLink("download", new File(" "), ""); downloadFile.setModelObject(new File(viewedFile)); downloadFile.setVisible(true); alink = new AjaxLink("alink", item.getModel()) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { fileContentInfo.setVisible(true); String fileContent = new String(); if (!isImage(viewedFile)) { fileContentContainer.setVisible(true); imageContainer.setVisible(false); fileContent = getFileContent(viewedFile, name); fileContentContainer.setModelObject(fileContent); } else { PageNavigation navigation = null; try { navigation = ((TestExplorerSession) Session.get()).getDbReadConnection() .getNavigationForTestcase(testcaseId, getTESession().getTimeOffset()); } catch (DatabaseAccessException e) { LOG.error("Can't get runId, suiteId and dbname for testcase with id=" + testcaseId, e); } String runId = navigation.getRunId(); String suiteId = navigation.getSuiteId(); String dbname = TestExplorerUtils.extractPageParameter(parameters, "dbname"); fileContentInfo.setDefaultModelObject("Previewing '" + name + "' image"); final String url = "AttachmentsServlet?&runId=" + runId + "&suiteId=" + suiteId + "&testcaseId=" + testcaseId + "&dbname=" + dbname + "&fileName=" + name; imageContainer.add(new AttributeModifier("src", new Model<String>(url))); imageContainer.setVisible(true); fileContentContainer.setVisible(false); } // first setting all buttons with the same state String reverseButtonsState = "var cusid_ele = document.getElementsByClassName('attachedButtons'); " + "for (var i = 0; i < cusid_ele.length; ++i) { " + "var item = cusid_ele[i]; " + "item.style.color= \"#000000\";" + "}"; // setting CSS style to the pressed button and its label String pressClickedButton = "var span = document.evaluate(\"//a[@class='button attachedButtons']/span[text()='" + name + "']\", " + "document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;" + "span.style.backgroundPosition=\"left bottom\";" + "span.style.padding=\"6px 0 4px 18px\";" + "var button = document.evaluate(\"//a[@class='button attachedButtons']/span[text()='" + name + "']/..\", " + "document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;" + "button.style.backgroundPosition=\"right bottom\";" + "button.style.color=\"#000000\";" + "button.style.outline=\"medium none\";"; // I could not figure out how it works with wicket, so i did it with JS target.appendJavaScript(reverseButtonsState); target.appendJavaScript(pressClickedButton); target.add(form); } }; alink.add(buttonLabel); item.add(alink); item.add(downloadFile); item.add(fileSize); } }; buttonPanel.add(lv); }
From source file:com.axway.ats.testexplorer.pages.testcase.loadqueues.LoadQueuesPanel.java
License:Apache License
public LoadQueuesPanel(String id, final String testcaseId) { super(id);//ww w . ja v a 2s. co m List<ComplexLoadQueue> loadQueues = getLoadQueues(testcaseId); ListView<ComplexLoadQueue> loadQueuesContainer = new ListView<ComplexLoadQueue>("loadQueuesContainer", loadQueues) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<ComplexLoadQueue> item) { final ComplexLoadQueue loadQueue = item.getModelObject(); if (item.getIndex() % 2 != 0) { item.add(AttributeModifier.replace("class", "oddRow")); } item.add(new Label("name", loadQueue.getName())); item.add(new Label("threadingPattern", loadQueue.getThreadingPattern()) .setEscapeModelStrings(false)); item.add(new Label("state", loadQueue.getState()) .add(AttributeModifier.replace("class", loadQueue.getState().toLowerCase() + "State"))); item.add(new Label("dateStart", loadQueue.getDateStart())); item.add(new Label("dateEnd", loadQueue.getDateEnd())); item.add(new Label("duration", String.valueOf(loadQueue.getDuration()))); item.add(new ListView<ComplexAction>("checkpoint_summary_info", loadQueue.getCheckpointsSummary()) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<ComplexAction> item) { if (item.getIndex() % 2 != 0) { item.add(AttributeModifier.replace("class", "oddRow")); } final ComplexAction checkpointSummary = item.getModelObject(); item.add(new Label("name", checkpointSummary.getName())); item.add(new Label("numTotal", String.valueOf(checkpointSummary.getNumTotal()))); item.add(new Label("numRunning", String.valueOf(checkpointSummary.getNumRunning()))); item.add(new Label("numPassed", String.valueOf(checkpointSummary.getNumPassed()))); item.add(new Label("numFailed", String.valueOf(checkpointSummary.getNumFailed()))); item.add(new Label("minResponseTime", checkpointSummary.getMinResponseTime())); item.add(new Label("avgResponseTime", checkpointSummary.getAvgResponseTime())); item.add(new Label("maxResponseTime", checkpointSummary.getMaxResponseTime())); String transferRateUnit = checkpointSummary.getTransferRateUnit(); if (StringUtils.isNullOrEmpty(transferRateUnit)) { // this action does not transfer data item.add(new Label("minTransferRate", "")); item.add(new Label("avgTransferRate", "")); item.add(new Label("maxTransferRate", "")); item.add(new Label("transferRateUnit", "")); } else { // this action transfers data item.add(new Label("minTransferRate", checkpointSummary.getMinTransferRate())); item.add(new Label("avgTransferRate", checkpointSummary.getAvgTransferRate())); item.add(new Label("maxTransferRate", checkpointSummary.getMaxTransferRate())); item.add(new Label("transferRateUnit", transferRateUnit)); } } }); } }; loadQueuesContainer.setVisible(!loadQueues.isEmpty()); WebMarkupContainer noLoadQueuesContainer = new WebMarkupContainer("noLoadQueuesContainer"); noLoadQueuesContainer.setVisible(loadQueues.isEmpty()); add(loadQueuesContainer); add(noLoadQueuesContainer); }