Example usage for org.apache.wicket.core.util.lang PropertyResolver getValue

List of usage examples for org.apache.wicket.core.util.lang PropertyResolver getValue

Introduction

In this page you can find the example usage for org.apache.wicket.core.util.lang PropertyResolver getValue.

Prototype

public static Object getValue(final String expression, final Object object) 

Source Link

Document

Looks up the value from the object with the given expression.

Usage

From source file:com.axway.ats.testexplorer.pages.model.messages.MessagesPanel.java

License:Apache License

@SuppressWarnings({ "unchecked", "rawtypes" })
public MessagesPanel(String wicketId, String idColumnValue) {

    super(wicketId);

    // Add Messages table
    List<TableColumn> columnDefinitions = getTableColumnDefinitions();
    List<IGridColumn> columns = new ArrayList<IGridColumn>();

    for (final TableColumn cd : columnDefinitions) {

        PropertyColumn col = new PropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                cd.getPropertyExpression(), cd.getSortProperty()) {

            private static final long serialVersionUID = 1L;

            @Override/*from www  .  j a v a2  s .  c  o  m*/
            public String getCellCssClass(IModel rowModel, int rowNum) {

                if ("messageType".equals(getId())) {
                    return ((Message) rowModel.getObject()).messageType.toLowerCase() + " logLevel";
                } else if ("messageContent".equals(getId())) {

                    String msgType = ((Message) rowModel.getObject()).messageType.toLowerCase();
                    if ("error".equals(msgType) || "fatal".equals(msgType)) {

                        return "preStyle";
                    }
                    return "preWrapStyle";
                }
                return null;
            }

            // Set column header class
            @Override
            public String getHeaderCssClass() {

                return cd.getHeaderCssClass();
            }

            @Override
            protected Object getProperty(Object object, String propertyExpression) {

                Message messageObject = (Message) object;
                if ("time".equals(propertyExpression) && messageObject.getTime() != null) {
                    setEscapeMarkup(false);
                    return "<span>" + messageObject.getTime() + "</span>";
                } else if ("date".equals(propertyExpression) && messageObject.getDate() != null) {
                    setEscapeMarkup(false);
                    return "<span>" + messageObject.getDate() + "</span>";
                }

                Object value = PropertyResolver.getValue(propertyExpression, object);
                if ("description".equals(propertyExpression) && value != null) {

                    value = "<span title=\"" + value + "\">" + value + "</span>";
                    setEscapeMarkup(false);
                }
                return value;
            }

        };

        col.setEscapeMarkup(true);
        // Set column initial width
        if (cd.getInitialWidth() >= 0) {
            col.setInitialSize(cd.getInitialWidth());
        }
        columns.add(col);
    }
    MainDataGrid grid;

    String idColumnName;

    if (isRun) {
        grid = new MainDataGrid("messagesTable", new RunMessagesDataSource(this), columns, columnDefinitions,
                "Run Messages");
        idColumnName = "runId";
        isRun = false;
        add(new Label("messages_table_title", "Run messages"));

    } else if (isSuite) {

        grid = new MainDataGrid("messagesTable", new SuiteMessagesDataSource(this), columns, columnDefinitions,
                "Suite Messages");
        idColumnName = "suiteId";
        isSuite = false;
        add(new Label("messages_table_title", "Suite messages"));

    } else {
        grid = new MainDataGrid("messagesTable", new MessagesDataSource(this), columns, columnDefinitions,
                "Messages");
        idColumnName = "testcaseId";
        add(new Label("messages_table_title", "Messages"));
    }
    grid.setGridColumnsState(columnDefinitions);
    grid.setAllowSelectMultiple(false);
    grid.setSelectToEdit(false);
    grid.setClickRowToSelect(false);
    grid.setClickRowToDeselect(false);
    grid.setCleanSelectionOnPageChange(true);

    add(grid);
    messageFilter = new MessageFilter("messages_search_form", grid, idColumnName, idColumnValue);
    add(messageFilter);
}

From source file:com.axway.ats.testexplorer.pages.runs.RunsPanel.java

License:Apache License

@SuppressWarnings({ "unchecked", "rawtypes" })
public List<IGridColumn> getColumns(final BasePage parentPage) {

    // Add Runs table
    List<IGridColumn> columns = new ArrayList<IGridColumn>();

    columns.add(new CheckBoxColumn("check"));
    for (final TableColumn cd : columnDefinitions) {

        AbstractColumn col;/*from  w w  w .j av a2 s  . co  m*/
        if (cd.isEditable()) {

            col = new EditablePropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                // Build cell tooltips and links
                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    Run runObject = (Run) object;
                    if ("userNote".equals(propertyExpression) && runObject.userNote != null) {
                        setEscapeMarkup(false);
                        return "<span title=\"" + runObject.userNote + "\">" + runObject.userNote + "</span>";
                    } else if ("runName".equals(propertyExpression)) {

                        setEscapeMarkup(false);

                        // generate link url
                        PageParameters parameters = new PageParameters();
                        // pass the run id
                        parameters.add("runId", String.valueOf(runObject.runId));
                        if (parentPage != null) {
                            // pass database name
                            parameters.add("dbname", parentPage.getTESession().getDbName());
                        } else if (((TestExplorerSession) Session.get()) != null) {
                            parameters.add("dbname", ((TestExplorerSession) Session.get()).getDbName());
                        }
                        String href = urlFor(SuitesPage.class, parameters).toString();
                        String title = "Started from " + runObject.hostName;

                        String linkWithToolip = "<a title=\"" + title + "\" href=\"" + href + "\">"
                                + runObject.runName + "</a>";

                        String linkWithoutTooltip = "<a href=\"" + href + "\">" + runObject.runName + "</a>";

                        if (runObject.hostName == null) {
                            return linkWithoutTooltip;
                        } else {
                            if ("".equals(runObject.hostName)) {
                                return linkWithoutTooltip;
                            }
                            return linkWithToolip;
                        }

                    }
                    return PropertyResolver.getValue(propertyExpression, object);
                }

                @Override
                protected boolean isClickToEdit() {

                    return false;
                }
            };
        } else {

            col = new PropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    // we provide tooltip with full data and time
                    Run runObject = (Run) object;
                    if ("dateStart".equals(propertyExpression) && runObject.getDateStart() != null) {
                        setEscapeMarkup(false);
                        return "<span title=\"" + runObject.getDateStartLong() + "\">"
                                + runObject.getDateStart() + "</span>";
                    } else if ("dateEnd".equals(propertyExpression) && runObject.getDateEnd() != null) {
                        setEscapeMarkup(false);
                        return "<span title=\"" + runObject.getDateEndLong() + "\">" + runObject.getDateEnd()
                                + "</span>";
                    } else if ("duration".equals(propertyExpression)) {
                        setEscapeMarkup(false);
                        return "<span>" + runObject.getDurationAsString(getTESession().getCurrentTimestamp())
                                + "</span>";
                    }
                    return PropertyResolver.getValue(propertyExpression, object);
                }

                @Override
                public String getCellCssClass(IModel rowModel, int rowNum) {

                    if ("duration".equals(getId())) {
                        return "durationCell";
                    } else if ("testcasesPassedPercent".equals(getId())) {
                        return "passedCell";
                    } else if ("failed".equals(getId())) {
                        Run run = (Run) rowModel.getObject();
                        if (run.testcasesFailed > 0) {
                            return "failedBackground";
                        } else {
                            return null;
                        }
                    } else if ("scenariosSkipped".equals(getId())) {
                        Run run = (Run) rowModel.getObject();
                        if (run.scenariosSkipped > 0) {
                            return "skippedBackground";
                        } else {
                            return null;
                        }
                    } else {
                        return null;
                    }
                }

                // Set column header class
                @Override
                public String getHeaderCssClass() {

                    return cd.getHeaderCssClass();
                }
            };
        }

        // Set column initial width
        if (cd.getInitialWidth() >= 0) {
            col.setInitialSize(cd.getInitialWidth());
        }

        // set column tooltip
        col.setHeaderTooltipModel(cd.getTooltip());

        if ("User Note".equals(cd.getColumnName())) {
            col.setWrapText(true);
        }
        columns.add(col);
    }
    // Column with 'submit' and 'cancel' icons (used for editable cells)
    //        columns.add( new SubmitCancelColumn( "esd", new Model<String>( "Edit" ) ).setInitialSize( -1 )
    //                                                                                 .setMaxSize( -1 ) );

    return columns;
}

From source file:com.axway.ats.testexplorer.pages.scenarios.ScenariosPanel.java

License:Apache License

public List<IGridColumn> getColumns() {

    List<IGridColumn> columns = new ArrayList<IGridColumn>();

    columns.add(new CheckBoxColumn("check"));
    for (final TableColumn cd : columnDefinitions) {

        AbstractColumn col;//from  w ww. jav  a 2  s.c o m
        if ("Scenario".equals(cd.getColumnName())) {

            col = new ScenarioTestcasesLinkColumn(cd);
        } else if (cd.isEditable()) {

            col = new EditablePropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                // Set cell tooltips
                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    Object value = PropertyResolver.getValue(propertyExpression, object);
                    if ("userNote".equals(propertyExpression) && value != null) {

                        value = "<span title=\"" + value + "\">" + value + "</span>";
                        setEscapeMarkup(false);
                    }
                    return value;
                }

                @Override
                protected boolean isClickToEdit() {

                    return false;
                }
            };
        } else {

            col = new PropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    Scenario scenarioObject = (Scenario) object;
                    if ("dateStart".equals(propertyExpression) && scenarioObject.getDateStart() != null) {
                        setEscapeMarkup(false);
                        return "<span>" + scenarioObject.getDateStart() + "</span>";
                    } else if ("dateEnd".equals(propertyExpression) && scenarioObject.getDateEnd() != null) {
                        setEscapeMarkup(false);
                        return "<span>" + scenarioObject.getDateEnd() + "</span>";
                    } else if ("duration".equals(propertyExpression)) {
                        setEscapeMarkup(false);
                        return "<span>"
                                + scenarioObject.getDurationAsString(getTESession().getCurrentTimestamp())
                                + "</span>";
                    }

                    Object value = PropertyResolver.getValue(propertyExpression, object);
                    if ("description".equals(propertyExpression) && value != null) {

                        value = "<span title=\"Click for more details\" data-description=\"" + value + "\">"
                                + value + "</span>";
                        setEscapeMarkup(false);
                    }
                    return value;
                }

                @Override
                public String getCellCssClass(IModel rowModel, int rowNum) {

                    Scenario scenario = (Scenario) rowModel.getObject();
                    if ("state".equals(getId())) {
                        if (scenario.testcaseIsRunning) {
                            return "runningState";
                        } else {
                            return scenario.state.toLowerCase() + "State";
                        }
                    } else if ("duration".equals(getId())) {
                        return "durationCell";
                    } else if ("testcasesPassedPercent".equals(getId())) {
                        return "passedCell";
                    } else if ("description".equals(getId())) {
                        return "descriptionCell";
                    } else {
                        return null;
                    }
                }

                // Set column header class
                @Override
                public String getHeaderCssClass() {

                    return cd.getHeaderCssClass();
                }
            };
        }

        // Set column initial width
        if (cd.getInitialWidth() >= 0) {
            col.setInitialSize(cd.getInitialWidth());
        }

        // set column tooltip
        col.setHeaderTooltipModel(cd.getTooltip());

        if ("User Note".equals(cd.getColumnName())) {
            col.setWrapText(true);
        }

        columns.add(col);
    }
    return columns;
}

From source file:com.axway.ats.testexplorer.pages.suites.SuitesPanel.java

License:Apache License

@SuppressWarnings({ "unchecked", "rawtypes" })
public List<IGridColumn> getColumns() {

    List<IGridColumn> columns = new ArrayList<IGridColumn>();

    columns.add(new CheckBoxColumn("check"));
    for (final TableColumn cd : columnDefinitions) {

        AbstractColumn col;/*w ww .  j a  v a2s  . c  om*/
        if ("Suite".equals(cd.getColumnName())) {

            col = new SuiteScenarioLinkColumn(cd);
        } else if (cd.isEditable()) {

            col = new EditablePropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                @Override
                protected boolean isClickToEdit() {

                    return false;
                }

                // Set cell tooltips
                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    Object value = PropertyResolver.getValue(propertyExpression, object);
                    if ("userNote".equals(propertyExpression) && value != null) {

                        value = "<span title=\"" + value + "\">" + value + "</span>";
                        setEscapeMarkup(false);
                    }
                    return value;
                }
            };
        } else {

            col = new PropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                @Override
                public String getCellCssClass(IModel rowModel, int rowNum) {

                    if ("duration".equals(getId())) {
                        return "durationCell";
                    } else if ("packageName".equals(getId())) {
                        return "packageCell";
                    } else if ("testcasesPassedPercent".equals(getId())) {
                        return "passedCell";
                    } else if ("failed".equals(getId())) {
                        Suite suite = (Suite) rowModel.getObject();
                        if (suite.testcasesFailed > 0) {
                            return "failedBackground";
                        } else {
                            return null;
                        }
                    } else if ("scenariosSkipped".equals(getId())) {
                        Suite suite = (Suite) rowModel.getObject();
                        if (suite.scenariosSkipped > 0) {
                            return "skippedBackground";
                        } else {
                            return null;
                        }
                    } else {
                        return null;
                    }
                }

                // Set column header class
                @Override
                public String getHeaderCssClass() {

                    return cd.getHeaderCssClass();
                }

                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    Suite suiteObject = (Suite) object;
                    if ("dateStart".equals(propertyExpression) && suiteObject.getDateStart() != null) {
                        setEscapeMarkup(false);
                        return "<span>" + suiteObject.getDateStart() + "</span>";
                    } else if ("dateEnd".equals(propertyExpression) && suiteObject.getDateEnd() != null) {
                        setEscapeMarkup(false);
                        return "<span>" + suiteObject.getDateEnd() + "</span>";
                    } else if ("duration".equals(propertyExpression)) {
                        setEscapeMarkup(false);
                        return "<span>" + suiteObject.getDurationAsString(getTESession().getCurrentTimestamp())
                                + "</span>";
                    }
                    return PropertyResolver.getValue(propertyExpression, object);
                }

            };
        }

        // Set column initial width
        if (cd.getInitialWidth() >= 0) {
            col.setInitialSize(cd.getInitialWidth());
        }

        // set column tooltip
        col.setHeaderTooltipModel(cd.getTooltip());

        if ("User Note".equals(cd.getColumnName())) {
            col.setWrapText(true);
        }
        columns.add(col);
    }

    return columns;
}

From source file:com.axway.ats.testexplorer.pages.testcases.TestcasesPanel.java

License:Apache License

@SuppressWarnings({ "unchecked", "rawtypes" })
public TestcasesPanel(BasePage parentPage, String id, String suiteId, String scenarioId) {

    super(id);//from  w  w w  .j  a v  a2s.  co  m

    // Add Testcases table
    List<TableColumn> columnDefinitions = getTableColumnDefinitions();
    List<IGridColumn> columns = new ArrayList<IGridColumn>();

    columns.add(new CheckBoxColumn("check"));
    for (final TableColumn cd : columnDefinitions) {

        AbstractColumn col;
        if ("Testcase".equals(cd.getColumnName())) {

            col = new TestcasesTestcaseLinkColumn(cd);
        } else if (cd.isEditable()) {

            col = new EditablePropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                // Set cell tooltips
                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    Object value = PropertyResolver.getValue(propertyExpression, object);
                    if ("userNote".equals(propertyExpression) && value != null) {

                        value = "<span title=\"" + value + "\">" + value + "</span>";
                        setEscapeMarkup(false);
                    }
                    return value;
                }

                @Override
                protected boolean isClickToEdit() {

                    return false;
                }
            };
        } else {

            col = new PropertyColumn(cd.getColumnId(), new Model<String>(cd.getColumnName()),
                    cd.getPropertyExpression(), cd.getSortProperty()) {

                private static final long serialVersionUID = 1L;

                @Override
                public String getCellCssClass(IModel rowModel, int rowNum) {

                    if ("state".equals(getId())) {
                        return ((Testcase) rowModel.getObject()).state.toLowerCase() + "State";
                    } else if ("duration".equals(getId())) {
                        return "durationCell";
                    }
                    return null;
                }

                // Set column header class
                @Override
                public String getHeaderCssClass() {

                    return cd.getHeaderCssClass();
                }

                @Override
                protected Object getProperty(Object object, String propertyExpression) {

                    Testcase testcaseObject = (Testcase) object;
                    if ("dateStart".equals(propertyExpression) && testcaseObject.getDateStart() != null) {
                        setEscapeMarkup(false);
                        return "<span>" + testcaseObject.getDateStart() + "</span>";
                    } else if ("dateEnd".equals(propertyExpression) && testcaseObject.getDateEnd() != null) {
                        setEscapeMarkup(false);
                        return "<span>" + testcaseObject.getDateEnd() + "</span>";
                    } else if ("duration".equals(propertyExpression)) {
                        setEscapeMarkup(false);
                        return "<span>"
                                + testcaseObject.getDurationAsString(getTESession().getCurrentTimestamp())
                                + "</span>";
                    }

                    Object value = PropertyResolver.getValue(propertyExpression, object);
                    if ("description".equals(propertyExpression) && value != null) {

                        value = "<span title=\"" + value + "\">" + value + "</span>";
                        setEscapeMarkup(false);
                    }
                    return value;
                }

            };
        }

        // Set column initial width
        if (cd.getInitialWidth() >= 0) {
            col.setInitialSize(cd.getInitialWidth());
        }

        // set column tooltip
        col.setHeaderTooltipModel(cd.getTooltip());

        if ("User Note".equals(cd.getColumnName())) {
            col.setWrapText(true);
        }
        columns.add(col);
    }

    int supportedGridOperations = MainDataGrid.OPERATION_DELETE | MainDataGrid.OPERATION_EDIT
            | MainDataGrid.OPERATION_ADD_TO_COMPARE | MainDataGrid.OPERATION_CREATE_REPORT;
    if (parentPage.showTestcaseStatusChangeButtons) {
        supportedGridOperations |= MainDataGrid.OPERATION_STATUS_CHANGE;
    }

    final MainDataGrid grid = new MainDataGrid("testcasesTable", new TestcasesDataSource(suiteId, scenarioId),
            columns, columnDefinitions, "Testcases", supportedGridOperations);

    ((TestcasesDataSource) grid.getDataSource()).setDataGrid(grid);
    grid.setGridColumnsState(columnDefinitions);
    grid.setAllowSelectMultiple(true);
    grid.setSelectToEdit(false);
    grid.setClickRowToSelect(true);
    grid.setClickRowToDeselect(true);
    grid.setCleanSelectionOnPageChange(true);

    add(grid);

    parentPage.setMainGrid(grid);

    Form<Object> hiddenForm = new Form<Object>("hiddenForm");
    AjaxButton hiddenRefreshButton = new AjaxButton("hiddenRefreshButton") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            target.add(grid);
        }
    };
    hiddenForm.add(hiddenRefreshButton);
    add(hiddenForm);
}

From source file:com.evolveum.midpoint.web.component.util.LookupPropertyModel.java

License:Apache License

@Override
@SuppressWarnings("unchecked")
public T getObject() {

    final Object target = getInnermostModelOrObject();

    if (target != null) {
        String key = (String) PropertyResolver.getValue(expression, target);

        if (key == null) {
            return null;
        }/*from ww  w .ja  v a  2s .  com*/

        for (LookupTableRowType row : lookupTable.getRow()) {
            if (key.equals(row.getKey())) {
                return (T) WebMiscUtil.getOrigStringFromPoly(row.getLabel());
            }
        }
    }

    return null;
}

From source file:com.evolveum.midpoint.web.model.LookupPropertyModel.java

License:Apache License

@Override
@SuppressWarnings("unchecked")
public T getObject() {

    final Object target = getInnermostModelOrObject();

    if (target != null) {
        Object value = PropertyResolver.getValue(expression, target);
        if (value == null) {
            return null;
        }//from  w  w  w .  j  av a 2s  . c o m
        String key = value.toString();

        if (lookupTable != null) {
            for (LookupTableRowType row : lookupTable.getRow()) {
                if (key.equals(row.getKey())) {
                    return (T) WebComponentUtil.getOrigStringFromPoly(row.getLabel());
                }
            }
        }
        return (T) key;
    }

    return null;
}

From source file:com.francetelecom.clara.cloud.presentation.tools.CompoundChoiceRenderer.java

License:Apache License

@Override
public Object getDisplayValue(Object object) {
    String returnValue = "";
    if ((displayExpressions != null) && (object != null)) {

        for (int i = 0; i < displayExpressions.length; i++) {
            if (i != 0) {
                returnValue += separator;

            }//from w  w w  .ja  va  2s  .c o  m
            returnValue += PropertyResolver.getValue(displayExpressions[i], object);

        }

    }

    if (returnValue == null) {
        return "";
    }

    return returnValue;
}

From source file:com.francetelecom.clara.cloud.presentation.tools.CompoundChoiceRenderer.java

License:Apache License

@Override
public String getIdValue(Object object, int index) {
    if (idExpression == null) {
        return Integer.toString(index);
    }//from w w w  .jav  a  2 s.c o  m

    if (object == null) {
        return "";
    }

    Object returnValue = PropertyResolver.getValue(idExpression, object);
    if (returnValue == null) {
        return "";
    }

    return returnValue.toString();
}

From source file:com.googlecode.wicket.jquery.core.renderer.TextRenderer.java

License:Apache License

@Override
public String getText(T object, String expression) {
    if (expression != null) {
        Object value = PropertyResolver.getValue(expression, object); //if the object is null, null is returned

        if (value != null) {
            return value.toString();
        }/*from  w  w w.  java 2 s.c o m*/
    }

    return "";
}