Example usage for org.apache.wicket.markup.html.basic Label setVisibilityAllowed

List of usage examples for org.apache.wicket.markup.html.basic Label setVisibilityAllowed

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.basic Label setVisibilityAllowed.

Prototype

public final Component setVisibilityAllowed(boolean allowed) 

Source Link

Document

Sets whether or not this component is allowed to be visible.

Usage

From source file:com.cloudera.recordbreaker.fisheye.FileContentsTable.java

License:Open Source License

void renderToPage(String label, List<DataTablePair> tablePairs, final boolean renderLinks) {
    final long localFid = this.fid;
    add(new ListView<DataTablePair>(label, tablePairs) {
        protected void populateItem(ListItem<DataTablePair> outerItem) {
            DataTablePair outerModelObj = outerItem.getModelObject();
            List<List<HeaderPair>> outputHeaderList = outerModelObj.getHeaderPairs();
            List<List<DataField>> outputTupleList = outerModelObj.getTupleList();

            outerItem.add(new ListView<List<HeaderPair>>("attributelabels", outputHeaderList) {
                protected void populateItem(ListItem<List<HeaderPair>> item) {
                    List<HeaderPair> myListOfFieldLabels = item.getModelObject();
                    ListView<HeaderPair> listOfFields = new ListView<HeaderPair>("fieldlist",
                            myListOfFieldLabels) {
                        protected void populateItem(ListItem<HeaderPair> item2) {
                            HeaderPair displayPair = item2.getModelObject();
                            item2.add(new Label("alabel", "" + displayPair.getString()));
                            item2.add(new AttributeModifier("colspan", true,
                                    new Model("" + displayPair.getColSpan())));
                            if (!displayPair.isBottom()) {
                                item2.add(new AttributeModifier("style", true, new Model("text-align:center")));
                            }//from w  w  w.j a va  2 s  .  co  m
                        }
                    };
                    item.add(listOfFields);
                }
            });

            outerItem.add(new ListView<List<DataField>>("schemalistview", outputTupleList) {
                protected void populateItem(ListItem<List<DataField>> item) {
                    List<DataField> myListOfSchemaElts = item.getModelObject();

                    ListView<DataField> listofTupleFields = new ListView<DataField>("tupleview",
                            myListOfSchemaElts) {
                        protected void populateItem(ListItem<DataField> item2) {
                            DataField dataField = item2.getModelObject();

                            //
                            // Build list of suggested queries for the HTML popover.
                            // 
                            // 1.  SELECT * FROM DATA WHERE ATTR = 'celltext'
                            // <others coming>
                            //
                            String totalHTML = "";
                            WebMarkupContainer popovercontent = new WebMarkupContainer("popovercontent");
                            Label celltextalone = new Label("celltextalone", "" + dataField.getDataStr());
                            item2.add(popovercontent);
                            item2.add(celltextalone);
                            if (renderLinks && dataField.getDataStr().length() > 0) {
                                String sqlQueryText = "SELECT * FROM <i>DATA</i> WHERE "
                                        + dataField.getDataFieldName() + " = "
                                        + (dataField.isStringVal() ? "'" : "") + dataField.getDataStr()
                                        + (dataField.isStringVal() ? "'" : "");
                                String selectionClause = dataField.getDataFieldName() + "+%3D+"
                                        + (dataField.isStringVal() ? "%27" : "") + dataField.getDataStr()
                                        + (dataField.isStringVal() ? "%27" : "");
                                String sqlHyperlink = "/QueryResults?fid=" + localFid + "&projectionclause=*"
                                        + "&selectionclause=" + selectionClause + "&filename="
                                        + dataField.getFilename();
                                totalHTML = "<ul><li><a href='" + sqlHyperlink + "'>" + sqlQueryText
                                        + "</a></ul>";

                                popovercontent
                                        .add(new AttributeModifier("data-content", true, new Model(totalHTML)));
                                popovercontent.add(new Label("celltext", "" + dataField.getDataStr()));
                                popovercontent.setVisibilityAllowed(true);
                                celltextalone.setVisibilityAllowed(false);
                            } else {
                                popovercontent.setVisibilityAllowed(false);
                                celltextalone.setVisibilityAllowed(true);
                            }
                        }
                    };
                    item.add(listofTupleFields);
                }
            });
        }
    });
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.security.ConfirmPage.java

License:Apache License

private void setupConfirmation(PageParameters parameters) {

    boolean confirm = false;
    IModel<String> titleText;
    IModel<String> messageText;
    IModel<String> message2Text;

    if (!parameters.get(EMAIL).isNull()) {
        titleText = ResourceUtils.getModel("pageTitle.registrationSuccessfull");
        messageText = new Model<String>(ResourceUtils.getString("text.registrationSuccessfull.youNeedConfirm")
                + parameters.get(EMAIL).toString());
        message2Text = messageText;

    } else {/* w  w w . j a  v a2  s. c  o m*/

        if (parameters.get(CONFIRM_ACTIVATION).isNull() || parameters.get(CONFIRM_ACTIVATION).isEmpty()) {
            throw new RestartResponseAtInterceptPageException(HomePage.class);
        }

        String activationHashCode = parameters.get(CONFIRM_ACTIVATION).toString();

        Person person = personFacade.getPersonByHash(activationHashCode);
        if (person == null) {
            titleText = ResourceUtils.getModel("pageTitle.registrationFalse");
            messageText = ResourceUtils.getModel("text.registrationExpired");
            message2Text = messageText;
        } else if (person.isConfirmed()) {
            titleText = ResourceUtils.getModel("pageTitle.confirmationRepeated");
            messageText = ResourceUtils.getModel("text.registrationConfirmedOnce");
            message2Text = messageText;
        } else if (confirmedInTime(System.currentTimeMillis(), person)) {
            confirm = true;
            person.setConfirmed(true);
            personFacade.update(person);
            titleText = ResourceUtils.getModel("pageTitle.confirmationSuccessfull");
            messageText = ResourceUtils.getModel("text.registrationSuccessfull.youCanLogIn.part1");
            message2Text = ResourceUtils.getModel("text.registrationSuccessfull.youCanLogIn.part2");
        } else {
            personFacade.delete(person);
            titleText = ResourceUtils.getModel("pageTitle.registrationFalse");
            messageText = ResourceUtils.getModel("text.registrationExpired");
            message2Text = messageText;
        }
    }

    Label title = new Label(TITLE_ID, titleText);
    Label message = new Label(MESSAGE_ID, messageText);
    Label message2 = new Label(MESSAGE_2_ID, message2Text);
    Link<Void> link = new Link<Void>("link") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            setResponsePage(HomePage.class);
        }
    };
    add(title, message, message2, link);
    link.setVisibilityAllowed(confirm);
    message2.setVisibilityAllowed(confirm);

}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.shoppingCart.ShoppingCartPage.java

License:Apache License

private void setupComponents() {

    IModel<String> title = ResourceUtils.getModel("pageTitle.myCart");
    add(new Label("title", title));
    setPageTitle(title);/*from  w w  w . j  ava  2  s  .  c  o  m*/
    add(new ButtonPageMenu("leftMenu", ShoppingCartPageLeftMenu.values()));

    final ShoppingCart shoppingCart = EEGDataBaseSession.get().getShoppingCart();

    // empty cart
    add(new Label("emptyCart", ResourceUtils.getModel("text.emptyCart")) {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return shoppingCart.isEmpty();
        }
    });

    final WebMarkupContainer container = new WebMarkupContainer("itemsContainer") {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return !shoppingCart.isEmpty();
        }
    };
    container.setOutputMarkupId(true);

    @SuppressWarnings("serial")
    PropertyListView<OrderItem> items = new PropertyListView<OrderItem>("items",
            shoppingCart.getOrder().getItems()) {

        @Override
        protected void populateItem(final ListItem<OrderItem> item) {

            item.add(new OrderItemPanel("item", item.getModel(), true));

            // XXX price hidden for now.
            /*
             * item.add(new Label("price", item.getModel().getObject().getPrice()) {
             * 
             * @Override public <C> IConverter<C> getConverter(Class<C> type) { return new MoneyFormatConverter(Currency.getInstance("EUR"), 2); } });
             */
            item.add(new RemoveLinkPanel("removeItemLink", item.getModel()));

            Label licenseTitle = new Label("licenseTitle",
                    ResourceUtils.getModel("dataTable.heading.licenseTitle"));
            item.add(licenseTitle);

            List<License> licenses = new ArrayList<License>();
            ChoiceRenderer<License> renderer = new ChoiceRenderer<License>("title", "licenseId");
            final DropDownChoice<License> licenseChoice = new DropDownChoice<License>("license", licenses,
                    renderer);
            licenseChoice.setNullValid(false);

            if (item.getModelObject().getExperiment() != null) {

                final List<ExperimentLicence> expLicenses = experimentLicenseFacade
                        .getExperimentLicensesForExperiment(item.getModelObject().getExperiment());
                for (ExperimentLicence expLicense : expLicenses)
                    licenses.add(expLicense.getLicense());

                licenseChoice.add(new AjaxFormComponentUpdatingBehavior("onChange") {

                    @Override
                    protected void onUpdate(AjaxRequestTarget target) {
                        ExperimentLicence experimentLicense = findExperimentLicense(expLicenses,
                                licenseChoice.getModelObject());
                        item.getModelObject().setPrice(experimentLicense.getPrice());
                        target.add(container);
                        target.add(totalPriceLabel);
                    }
                });

            } else if (item.getModelObject().getExperimentPackage() != null) {

                final List<ExperimentPackageLicense> expPacLicenses = experimentPackageLicenseFacade
                        .getExperimentPackageLicensesForPackage(item.getModelObject().getExperimentPackage());
                for (ExperimentPackageLicense epl : expPacLicenses)
                    licenses.add(epl.getLicense());

                licenseChoice.add(new AjaxFormComponentUpdatingBehavior("onChange") {

                    @Override
                    protected void onUpdate(AjaxRequestTarget target) {
                        ExperimentPackageLicense expPacLicense = findExperimentPackageLicense(expPacLicenses,
                                licenseChoice.getModelObject());
                        item.getModelObject().setPrice(expPacLicense.getPrice());
                        target.add(container);
                        target.add(totalPriceLabel);
                    }
                });

            } else if (item.getModelObject().getMembershipPlan() != null) {
                licenseChoice.setVisible(false);
                licenseTitle.setVisibilityAllowed(false);
            }

            item.add(licenseChoice);

            Label price = new Label("price", new PropertyModel<String>(item.getModelObject(), "price"));
            item.add(price);
        }
    };

    items.setReuseItems(true);
    container.add(items);
    add(container);
    add(new Label("totalPriceMessage", ResourceUtils.getString("label.totalPrice") + " "));

    totalPriceLabel = new Label("totalPriceAmount", new PropertyModel<BigDecimal>(shoppingCart, "totalPrice")) {

        private static final long serialVersionUID = 1L;

        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            return new MoneyFormatConverter(Currency.getInstance("EUR"), 2);
        }
    };
    totalPriceLabel.setOutputMarkupId(true);
    add(totalPriceLabel);

    // XXX PAYPAL payment disabled - not necessary now.
    /*
     * add(new Link<Void>("PayPalExpressCheckoutLink") {
     * 
     * private static final long serialVersionUID = 1L;
     * 
     * @Override public void onClick() {
     * 
     * if (!shoppingCart.isEmpty()) { setResponsePage(new RedirectPage(PayPalTools.setExpressCheckout())); } else { // Partially fixes trouble with browser caching and back
     * button setResponsePage(ShoppingCartPage.class); }
     * 
     * } }.setVisibilityAllowed(!shoppingCart.isEmpty()));
     */
    // For now just create order and show it.

    add(new Link<Void>("createOrder") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {

            Order order = shoppingCart.getOrder();
            order.setDate(new Timestamp(new Date().getTime()));
            order.setPerson(EEGDataBaseSession.get().getLoggedUser());
            order.setOrderPrice(shoppingCart.getTotalPrice());

            for (OrderItem item : order.getItems()) {

                if (item.getPrice() == null) {
                    item.setPrice(BigDecimal.ZERO);
                }

                if (item.getMembershipPlan() != null) {
                    MembershipPlan plan = item.getMembershipPlan();
                    if (MembershipPlanType.GROUP.getType() == plan.getType()) {
                        ResearchGroup group = item.getResearchGroup();
                        ResearchGroupMembershipPlan groupPlan = new ResearchGroupMembershipPlan();
                        groupPlan.setResearchGroup(group);
                        groupPlan.setMembershipPlan(plan);
                        groupPlan.setFrom(new Timestamp(System.currentTimeMillis()));
                        groupPlan.setTo(new Timestamp(System.currentTimeMillis()
                                + (groupPlan.getMembershipPlan().getLength() * 86400000)));
                        groupPlanFacade.create(groupPlan);
                    } else {
                        Person logged = EEGDataBaseSession.get().getLoggedUser();
                        PersonMembershipPlan personPlan = new PersonMembershipPlan();
                        personPlan.setPerson(logged);
                        personPlan.setMembershipPlan(plan);
                        personPlan.setFrom(new Timestamp(System.currentTimeMillis()));
                        personPlan.setTo(new Timestamp(System.currentTimeMillis()
                                + (personPlan.getMembershipPlan().getLength() * 86400000)));
                        personPlanFacade.create(personPlan);
                    }
                }
            }

            Integer orderId = orderFacade.create(order);

            EEGDataBaseSession.get().getShoppingCart().clear();
            // flush cache with purchased items from session
            EEGDataBaseSession.get().reloadPurchasedItemCache();
            setResponsePage(OrderDetailPage.class, PageParametersUtils.getDefaultPageParameters(orderId));
        }

    }.setVisibilityAllowed(!shoppingCart.isEmpty()));

}

From source file:org.devgateway.eudevfin.reports.ui.pages.ReportsDashboardsUtils.java

License:Open Source License

public static ListView<String[]> processTableRows(List<String[]> rows, QueryResult result, String rowId,
        final String currencyParam, final String typeOfTable) {
    List<List<String>> resultSet = result.getResultset();

    if (resultSet.size() != 0 && resultSet.get(0).size() > 3) {
        // check if we have data for the 'first year' or 'second year'
        // and add null values
        if (resultSet.get(0).size() == 4) {
            for (int i = 0; i < resultSet.size(); i++) {
                if (result.getMetadata().get(1).getColName().equals("First Year")) {
                    resultSet.get(i).add(3, null);
                    resultSet.get(i).add(4, null);
                } else {
                    resultSet.get(i).add(1, null);
                    resultSet.get(i).add(2, null);
                }// w  w w .  java  2s  .  c  om
            }
        }

        // this is usually happening when we filter by both region and geography
        if (resultSet.get(0).size() == 5) {
            for (int i = 0; i < resultSet.size(); i++) {
                if (result.getMetadata().get(2).getColName().equals("First Year %")) {
                    resultSet.get(i).add(4, null);
                } else {
                    resultSet.get(i).add(2, null);
                }
            }
        }

        // delete empty rows
        List<List<String>> newResultSet = new ArrayList<>();
        for (int i = 0; i < resultSet.size(); i++) {
            if ((resultSet.get(i).size() > 1 && resultSet.get(i).get(1) != null)
                    || (resultSet.get(i).size() > 3 && resultSet.get(i).get(3) != null)) {
                newResultSet.add(resultSet.get(i));
            }
        }
        resultSet = newResultSet;

        // format the amounts as #,###.##
        // and other values like percentages
        for (int i = 0; i < resultSet.size(); i++) {
            if (resultSet.get(i).size() > 1 && resultSet.get(i).get(1) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(1))); // amounts (first year)
                resultSet.get(i).set(1, item);
            }

            if (resultSet.get(i).size() > 2 && resultSet.get(i).get(2) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(2)) * 100) + '%'; // percentages (first year)
                resultSet.get(i).set(2, item);
            }

            if (resultSet.get(i).size() > 3 && resultSet.get(i).get(3) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(3))); // amounts (second year)
                resultSet.get(i).set(3, item);
            }

            if (resultSet.get(i).size() > 4 && resultSet.get(i).get(4) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(4)) * 100) + '%'; // percentages (second year)
                resultSet.get(i).set(4, item);
            }
        }

        /*
         * country/sector table are processes differently
         */
        if (typeOfTable.equals(ReportsConstants.isCountry)) {
            // find which row is a country or a geography
            for (int i = 0; i < resultSet.size(); i++) {
                String region = resultSet.get(i).get(0);
                if (resultSet.get(i).get(resultSet.get(i).size() - 1).toLowerCase()
                        .equals(ReportsConstants.isCountry.toLowerCase())) {
                    resultSet.get(i).add(1, region);
                    resultSet.get(i).set(0, null);
                } else {
                    if (resultSet.get(i).get(resultSet.get(i).size() - 1).toLowerCase()
                            .equals(ReportsConstants.isGeography.toLowerCase())) {
                        resultSet.get(i).add(1, null);
                    }
                }
            }

            // set 'Total' as Geography
            resultSet.get(resultSet.size() - 1).set(6, ReportsConstants.isGeography.toLowerCase());
        }
        if (typeOfTable.equals(ReportsConstants.isSector)) {
            // find which row is a sector or a parent-sector
            for (int i = 0; i < resultSet.size(); i++) {
                String sector = resultSet.get(i).get(0);
                if (resultSet.get(i).get(resultSet.get(i).size() - 1).toLowerCase()
                        .equals(ReportsConstants.isSector.toLowerCase())) {
                    resultSet.get(i).add(1, sector);
                    resultSet.get(i).set(0, null);
                } else {
                    if (resultSet.get(i).get(resultSet.get(i).size() - 1).toLowerCase()
                            .equals(ReportsConstants.isParentSector.toLowerCase())) {
                        resultSet.get(i).add(1, null);
                    }
                }
            }

            // set 'Total' as Geography
            resultSet.get(resultSet.size() - 1).set(6, ReportsConstants.isParentSector.toLowerCase());
        }

        for (List<String> item : resultSet) {
            rows.add(item.toArray(new String[item.size()]));
        }
    }

    ListView<String[]> tableRows = new ListView<String[]>(rowId, rows) {
        @Override
        protected void populateItem(ListItem<String[]> item) {
            String[] row = item.getModelObject();

            // use different color for geography items
            if (row[row.length - 1].toLowerCase().equals(ReportsConstants.isGeography.toLowerCase())
                    || row[row.length - 1].toLowerCase()
                            .equals(ReportsConstants.isParentSector.toLowerCase())) {
                item.add(new AttributeModifier("class", "geography"));
            }

            // add links to second level dashboards
            PageParameters pageParameters = new PageParameters();
            if (currencyParam != null) {
                pageParameters.add(ReportsConstants.ISNATIONALCURRENCY_PARAM, currencyParam);
            }

            BookmarkablePageLink link = null;
            if (typeOfTable.equals(ReportsConstants.isCountry)) {
                // for country table create links only for Countries and not for Geography
                item.add(new Label("col0", row[0]));

                if (row[1] != null) {
                    pageParameters.add(ReportsConstants.RECIPIENT_PARAM, row[1]);
                }
                link = new BookmarkablePageLink("link", CountryDashboards.class, pageParameters);

                item.add(link);
                link.add(new Label("linkName", row[1]));

                // don't make the TOTAL row a link
                Label totalRow = new Label("total", row[1]);
                item.add(totalRow);
                if (row[1] != null && row[1].equals("TOTAL")) {
                    link.setVisibilityAllowed(Boolean.FALSE);
                } else {
                    totalRow.setVisibilityAllowed(Boolean.FALSE);
                }
            } else {
                // for sector table create links only for ParentSector
                if (row[0] != null) {
                    pageParameters.add(ReportsConstants.SECTOR_PARAM, row[0]);
                }
                if (typeOfTable.equals(ReportsConstants.isSector)) {
                    link = new BookmarkablePageLink("link", SectorDashboards.class, pageParameters);
                }

                item.add(link);
                link.add(new Label("linkName", row[0]));

                item.add(new Label("col1", row[1]));
            }

            item.add(new Label("col2", row[2]));
            item.add(new Label("col3", row[3]));
            item.add(new Label("col4", row[4]));
            item.add(new Label("col5", row[5]));
        }
    };

    return tableRows;
}

From source file:org.devgateway.eudevfin.reports.ui.pages.ReportsDashboardsUtils.java

License:Open Source License

public static ListView<String[]> processTableRowsWithoutMainCategory(List<String[]> rows, QueryResult result,
        String rowId) {//from   w w w  . ja  v  a  2s . com
    List<List<String>> resultSet = result.getResultset();

    if (resultSet.size() != 0 && resultSet.get(0).size() > 2) {
        // check if we have data for the 'first year' or 'second year'
        // and add null values
        if (resultSet.get(0).size() == 3) {
            for (int i = 0; i < resultSet.size(); i++) {
                if (result.getMetadata().get(1).getColName().equals("First Year")) {
                    resultSet.get(i).add(3, null);
                    resultSet.get(i).add(4, null);
                } else {
                    resultSet.get(i).add(1, null);
                    resultSet.get(i).add(2, null);
                }
            }
        }

        // delete empty rows
        List<List<String>> newResultSet = new ArrayList<>();
        for (int i = 0; i < resultSet.size(); i++) {
            if ((resultSet.get(i).size() > 1 && resultSet.get(i).get(1) != null)
                    || (resultSet.get(i).size() > 3 && resultSet.get(i).get(3) != null)) {
                newResultSet.add(resultSet.get(i));
            }
        }
        resultSet = newResultSet;

        // format the amounts as #,###.##
        // and other values like percentages
        for (int i = 0; i < resultSet.size(); i++) {
            if (resultSet.get(i).size() > 1 && resultSet.get(i).get(1) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(1))); // amounts (first year)
                resultSet.get(i).set(1, item);
            }

            if (resultSet.get(i).size() > 2 && resultSet.get(i).get(2) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(2)) * 100) + '%'; // percentages (first year)
                resultSet.get(i).set(2, item);
            }

            if (resultSet.get(i).size() > 3 && resultSet.get(i).get(3) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(3))); // amounts (second year)
                resultSet.get(i).set(3, item);
            }

            if (resultSet.get(i).size() > 4 && resultSet.get(i).get(4) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(4)) * 100) + '%'; // percentages (second year)
                resultSet.get(i).set(4, item);
            }
        }

        int index = 0;
        for (List<String> item : resultSet) {
            if (index % 2 == 0 && !item.get(0).equals("TOTAL")) {
                index++;
                continue;
            }

            // add the transaction ID as first element
            // we need the ID to navigate to the second level dashboard
            if (item.get(0).equals("TOTAL")) {
                item.add(0, null);
                rows.add(item.toArray(new String[item.size()]));
            } else {
                item.add(0, resultSet.get(index - 1).get(0));
                rows.add(item.toArray(new String[item.size()]));
            }

            index++;
        }
    }

    ListView<String[]> tableRows = new ListView<String[]>(rowId, rows) {
        @Override
        protected void populateItem(ListItem<String[]> item) {
            String[] row = item.getModelObject();

            // add links to second level dashboards
            PageParameters pageParameters = new PageParameters();
            if (row[0] != null) {
                pageParameters.add(ReportsConstants.PARAM_TRANSACTION_ID, row[0]);
            }
            BookmarkablePageLink link = null;
            try {
                link = new BookmarkablePageLink("link", Class.forName(
                        "org.devgateway.eudevfin.dim.pages.transaction.custom.ViewCustomTransactionPage"),
                        pageParameters);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }

            item.add(link);
            link.add(new Label("linkName", row[1]));

            // don't make the TOTAL row a link
            Label totalRow = new Label("total", row[1]);
            item.add(totalRow);
            if (row[1] != null && row[1].equals("TOTAL")) {
                link.setVisibilityAllowed(Boolean.FALSE);
            } else {
                totalRow.setVisibilityAllowed(Boolean.FALSE);
            }

            item.add(new Label("col1", row[2]));
            item.add(new Label("col2", row[3]));
            item.add(new Label("col3", row[4]));
            item.add(new Label("col4", row[5]));
        }
    };

    return tableRows;
}

From source file:org.devgateway.eudevfin.reports.ui.pages.ReportsDashboardsUtils.java

License:Open Source License

public static ListView<String[]> processTableRowsWithTotal(List<String[]> rows, QueryResult result,
        String rowId, Boolean calculateTotal, final String currencyParam, final String typeOfTable,
        final Boolean addSecondLink) {
    List<List<String>> resultSet = result.getResultset();

    if (resultSet.size() != 0) {
        // check if we have data for the 'first year' or 'second year'
        // and add null values
        if (resultSet.get(0).size() == 3) {
            for (int i = 0; i < resultSet.size(); i++) {
                if (result.getMetadata().get(2).getColName().equals("First Year")) {
                    resultSet.get(i).add(3, null);
                } else {
                    resultSet.get(i).add(2, null);
                }// w  w  w  . j a  va  2  s  .  com
            }
        }

        // 'group by' operation
        // and calculate the 'Total' line for each entry
        float firstYear = 0;
        float secondYear = 0;
        for (int i = resultSet.size() - 1; i > 0; i--) {
            // calculate the total for each main category (for example institution)
            if (resultSet.get(i).size() > 2 && resultSet.get(i).get(2) != null) {
                firstYear += Float.parseFloat(resultSet.get(i).get(2));
            }
            if (resultSet.get(i).size() > 3 && resultSet.get(i).get(3) != null) {
                secondYear += Float.parseFloat(resultSet.get(i).get(3));
            }

            if (resultSet.get(i).get(0).equals(resultSet.get(i - 1).get(0))) {
                resultSet.get(i).set(0, null);
            } else {
                List<String> newElement = Arrays.asList(
                        new String[] { resultSet.get(i).get(0), "TOTAL", "" + firstYear, "" + secondYear });

                if (calculateTotal) {
                    resultSet.get(i).set(0, null);
                    resultSet.add(i, newElement);
                }

                firstYear = 0;
                secondYear = 0;
            }
        }

        // calculate total for the first element
        if (resultSet.get(0).size() > 2 && resultSet.get(0).get(2) != null) {
            firstYear += Float.parseFloat(resultSet.get(0).get(2));
        }
        if (resultSet.get(0).size() > 3 && resultSet.get(0).get(3) != null) {
            secondYear += Float.parseFloat(resultSet.get(0).get(3));
        }

        List<String> newElement = Arrays
                .asList(new String[] { resultSet.get(0).get(0), "TOTAL", "" + firstYear, "" + secondYear });

        if (calculateTotal) {
            resultSet.get(0).set(0, null);
            resultSet.add(0, newElement);
        }

        // format the amounts as #,###.##
        // and other values like percentages
        for (int i = 0; i < resultSet.size(); i++) {
            if (resultSet.get(i).size() > 2 && resultSet.get(i).get(2) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(2))); // amounts (first year)
                resultSet.get(i).set(2, item);
            }

            if (resultSet.get(i).size() > 3 && resultSet.get(i).get(3) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(3))); // amounts (second year)
                resultSet.get(i).set(3, item);
            }
        }

        for (List<String> item : resultSet) {
            rows.add(item.toArray(new String[item.size()]));
        }
    }

    final ListView<String[]> tableRows = new ListView<String[]>(rowId, rows) {
        @Override
        protected void populateItem(ListItem<String[]> item) {
            String[] row = item.getModelObject();

            // add links to second level dashboards
            PageParameters pageParameters = new PageParameters();
            if (currencyParam != null) {
                pageParameters.add(ReportsConstants.ISNATIONALCURRENCY_PARAM, currencyParam);
            }
            if (row[0] != null) {
                pageParameters.add(ReportsConstants.INSTITUTION_PARAM, row[0]);
            }
            BookmarkablePageLink link = new BookmarkablePageLink("link", InstitutionDashboards.class,
                    pageParameters);

            item.add(link);
            link.add(new Label("linkName", row[0]));

            if (addSecondLink) {
                PageParameters pageParameters2 = new PageParameters();
                if (currencyParam != null) {
                    pageParameters2.add(ReportsConstants.ISNATIONALCURRENCY_PARAM, currencyParam);
                }
                BookmarkablePageLink link2 = null;

                if (typeOfTable.equals(ReportsConstants.isCountry)) {
                    if (row[1] != null) {
                        pageParameters2.add(ReportsConstants.RECIPIENT_PARAM, row[1]);
                    }
                    link2 = new BookmarkablePageLink("link2", CountryDashboards.class, pageParameters2);
                } else {
                    if (typeOfTable.equals(ReportsConstants.isTypeOfAid)) {
                        if (row[1] != null) {
                            pageParameters2.add(ReportsConstants.TYPEOFAID_PARAM, row[1]);
                        }

                        link2 = new BookmarkablePageLink("link2", TypeOfAidDashboards.class, pageParameters2);
                    } else {
                        if (row[1] != null) {
                            pageParameters2.add(ReportsConstants.AGENCY_PARAM, row[1]);
                        }

                        link2 = new BookmarkablePageLink("link2", ChannelDashboards.class, pageParameters2);
                    }
                }

                item.add(link2);
                link2.add(new Label("linkName", row[1]));

                // don't make the TOTAL row a link
                Label totalRow = new Label("total", row[1]);
                item.add(totalRow);
                if (row[1] != null && row[1].equals("TOTAL")) {
                    link2.setVisibilityAllowed(Boolean.FALSE);
                } else {
                    totalRow.setVisibilityAllowed(Boolean.FALSE);
                }
            } else {
                item.add(new Label("col1", row[1]));
            }

            item.add(new Label("col2", row[2]));
            item.add(new Label("col3", row[3]));
        }
    };

    return tableRows;
}

From source file:org.devgateway.eudevfin.reports.ui.pages.ReportsDashboardsUtils.java

License:Open Source License

public static ListView<String[]> processTableRowsWithTotalOneYear(List<String[]> rows, QueryResult result,
        String rowId, Boolean calculateTotal, final String currencyParam, final String typeOfTable,
        final Boolean addSecondLink) {
    List<List<String>> resultSet = result.getResultset();

    if (resultSet.size() != 0) {
        // 'group by' operation
        // and calculate the 'Total' line for each entry
        float firstYear = 0;
        float grandTotal = 0;
        for (int i = resultSet.size() - 1; i > 0; i--) {
            // calculate the total for each main category (for example institution)
            if (resultSet.get(i).size() > 2 && resultSet.get(i).get(2) != null) {
                firstYear += Float.parseFloat(resultSet.get(i).get(2));
            }//from  ww  w .  j a v a2  s.co m

            if (resultSet.get(i).get(0).equals(resultSet.get(i - 1).get(0))) {
                resultSet.get(i).set(0, null);
            } else {
                List<String> newElement = Arrays
                        .asList(new String[] { resultSet.get(i).get(0), "TOTAL", "" + firstYear });
                grandTotal += firstYear;
                if (calculateTotal) {
                    resultSet.get(i).set(0, null);
                    resultSet.add(i, newElement);
                }

                firstYear = 0;
            }
        }

        // calculate total for the first element
        if (resultSet.get(0).size() > 2 && resultSet.get(0).get(2) != null) {
            firstYear += Float.parseFloat(resultSet.get(0).get(2));
        }

        List<String> newElement = Arrays
                .asList(new String[] { resultSet.get(0).get(0), "TOTAL", "" + firstYear });

        grandTotal += firstYear;
        if (calculateTotal) {
            resultSet.get(0).set(0, null);
            resultSet.add(0, newElement);

            newElement = Arrays.asList(new String[] { null, "GRAND TOTAL", "" + grandTotal });
            resultSet.add(0, newElement);
        }

        // format the amounts as #,###.##
        // and other values like percentages
        for (int i = 0; i < resultSet.size(); i++) {
            if (resultSet.get(i).size() > 2 && resultSet.get(i).get(2) != null) {
                String item = AmountFormat(Float.parseFloat(resultSet.get(i).get(2))); // amounts (first year)
                resultSet.get(i).set(2, item);
            }
        }

        for (List<String> item : resultSet) {
            rows.add(item.toArray(new String[item.size()]));
        }
    }

    final ListView<String[]> tableRows = new ListView<String[]>(rowId, rows) {
        @Override
        protected void populateItem(ListItem<String[]> item) {
            String[] row = item.getModelObject();

            // add links to second level dashboards
            PageParameters pageParameters = new PageParameters();
            if (currencyParam != null) {
                pageParameters.add(ReportsConstants.ISNATIONALCURRENCY_PARAM, currencyParam);
            }
            BookmarkablePageLink link = null;
            if (typeOfTable.equals(ReportsConstants.isCountry)) {
                if (row[0] != null) {
                    pageParameters.add(ReportsConstants.RECIPIENT_PARAM, row[0]);
                }

                link = new BookmarkablePageLink("link", CountryDashboards.class, pageParameters);
            }

            item.add(link);
            link.add(new Label("linkName", row[0]));

            if (addSecondLink) {
                PageParameters pageParameters2 = new PageParameters();
                if (currencyParam != null) {
                    pageParameters2.add(ReportsConstants.ISNATIONALCURRENCY_PARAM, currencyParam);
                }

                if (row[1] != null) {
                    pageParameters2.add(ReportsConstants.SECTOR_PARAM, row[1]);
                }
                BookmarkablePageLink link2 = new BookmarkablePageLink("link2", SectorDashboards.class,
                        pageParameters2);

                item.add(link2);
                link2.add(new Label("linkName", row[1]));

                // don't make the TOTAL row a link
                Label totalRow = new Label("total", row[1]);
                item.add(totalRow);
                if (row[1] != null && (row[1].equals("TOTAL") || row[1].equals("GRAND TOTAL"))) {
                    link2.setVisibilityAllowed(Boolean.FALSE);
                } else {
                    totalRow.setVisibilityAllowed(Boolean.FALSE);
                }
            } else {
                item.add(new Label("col1", row[1]));
            }

            item.add(new Label("col2", row[2]));
        }
    };

    return tableRows;
}

From source file:org.devgateway.eudevfin.reports.ui.pages.ReportsExport.java

License:Open Source License

public ReportsExport(final PageParameters parameters) {
    super(parameters);
    String reportType = parameters.get("reportType").toString("");

    pageTitle.setDefaultModel(new StringResourceModel("navbar.reports.export." + reportType, this, null, null));

    Label subtitleReportsExport = new Label("subtitleReportsExport",
            new StringResourceModel("navbar.reports.subtitleReportsExport", this, null, null));
    add(subtitleReportsExport);// w w  w .  java 2 s.  com

    final List<Integer> years = this.txService.findDistinctReportingYears();
    // if the list of years is empty add the current year (ODAEU-322)
    if (years.size() == 0) {
        years.add(Calendar.getInstance().get(Calendar.YEAR) - 1);
    }
    DropDownChoice<Integer> year = new DropDownChoice<Integer>("reportYear", years,
            new IChoiceRenderer<Integer>() {
                private static final long serialVersionUID = 8801460052416367398L;

                public Object getDisplayValue(Integer value) {
                    return value;
                }

                public String getIdValue(Integer object, int index) {
                    return String.valueOf(years.get(index));
                }
            });
    add(year);

    List<String> dataSources = new ArrayList<String>();
    dataSources.add(REPORT_DATASOURCE_AQ);
    dataSources.add(REPORT_DATASOURCE_CRS);

    DropDownChoice<String> dataSource = new DropDownChoice<String>("dataSource", dataSources,
            new IChoiceRenderer<String>() {

                @Override
                public Object getDisplayValue(String object) {
                    return object;
                }

                @Override
                public String getIdValue(String object, int index) {
                    return object;
                }
            });

    WebMarkupContainer dataSourceGroup = new WebMarkupContainer("dataSourceGroup");
    if (!reportType.equalsIgnoreCase(REPORT_AQ)) {
        dataSourceGroup.setVisibilityAllowed(false);
    }
    dataSourceGroup.add(dataSource);
    add(dataSourceGroup);

    HiddenField<String> field = new HiddenField<String>("reportType", Model.of(""));
    field.setModelValue(new String[] { reportType });
    add(field);

    // get the 'Approved Reports' files
    // get the name of the Country
    String serverInstance = "";
    Organization organizationForCurrentUser = AuthUtils.getOrganizationForCurrentUser();
    if (organizationForCurrentUser != null) {
        serverInstance = organizationForCurrentUser.getDonorName();
    }

    // set the files path and names
    String tmpDirPath = System.getProperty("java.io.tmpdir");
    String dirPath = tmpDirPath + File.separator + serverInstance + "Repository" + File.separator + reportType;

    File dir = new File(dirPath);

    List<File> listFiles = new ArrayList();
    if (dir.exists()) {
        for (final File reportFile : dir.listFiles()) {
            // check if there are files and that the name begins with the report type, for example 'DAC1_2013.pdf'
            if (reportFile.isFile() && reportFile.getName().startsWith(reportType.toUpperCase())) {
                listFiles.add(reportFile);
            }
        }
    }
    // sort the files name
    Collections.sort(listFiles);

    Label downloadApprovedReports = new Label("downloadApprovedReports",
            new StringResourceModel("navbar.reports.downloadApprovedReports", this, null, null));
    add(downloadApprovedReports);

    add(new ListView<File>("listFiles", listFiles) {
        public void populateItem(final ListItem<File> item) {
            final File downloadFile = item.getModelObject();
            IModel<File> fileModel = new Model(downloadFile);
            DownloadLink downloadLink = new DownloadLink("downloadLink", fileModel, downloadFile.getName());
            downloadLink.add(new Label("downloadText", downloadFile.getName()));
            item.add(downloadLink);
        }
    });

    if (listFiles == null || listFiles.size() == 0) {
        downloadApprovedReports.setVisibilityAllowed(false);
    }
}

From source file:org.devgateway.eudevfin.reports.ui.pages.ReportsInstitutionTypeOfAidDashboards.java

License:Open Source License

private void addTypeOfAidHumanitarianAidTable() {
    Label title = new Label("typeOfAidHumanitarianAidTableTitle", new StringResourceModel(
            "ReportsInstitutionTypeOfAidDashboards.humanitarianAidTableTitle", this, null, null));
    add(title);//from w  w w .ja va2  s  .c o m

    Table table = new Table(CdaService, "typeOfAidHumanitarianAidTable", "typeOfAidHumanitarianAidTableRows",
            "customDashboardsTypeOfAidHumanitarianAidTable") {
        @Override
        public ListView<String[]> getTableRows() {
            super.getTableRows();

            this.rows = new ArrayList<>();
            this.result = this.runQuery();

            List<List<String>> resultSet = result.getResultset();

            if (resultSet.size() != 0) {
                // add a new null row to build the same format as the first table
                for (int i = 0; i < resultSet.size(); i++) {
                    resultSet.get(i).add(1, null);
                }
                result.getMetadata().add(1, null);
            }

            return ReportsDashboardsUtils.processTableRowsWithTotal(this.rows, this.result, this.rowId, false,
                    currencyParam, ReportsConstants.isTypeOfAid, false);
        }
    };

    // add MDX queries parameters
    table.setParam("paramFIRST_YEAR", Integer.toString(tableYear - 1));
    table.setParam("paramSECOND_YEAR", Integer.toString(tableYear));
    if (currencyParam != null) {
        if (currencyParam.equals("true")) {
            table.setParam("paramcurrency", ReportsConstants.MDX_NAT_CURRENCY);
        }
    }

    Label firstYear = new Label("firstYear", tableYear - 1);
    table.getTable().add(firstYear);
    Label secondYear = new Label("secondYear", tableYear);
    table.getTable().add(secondYear);

    add(table.getTable());
    table.addTableRows();

    Label currencyFirstYear = new Label("currencyFirstYear", countryCurrency);
    table.getTable().add(currencyFirstYear);
    Label currencySecondYear = new Label("currencySecondYear", countryCurrency);
    table.getTable().add(currencySecondYear);

    if (humanitarianAidParam == null || humanitarianAidParam.equals("false")) {
        table.getTable().setVisibilityAllowed(Boolean.FALSE);
        title.setVisibilityAllowed(Boolean.FALSE);
    }
}

From source file:org.sakaiproject.scorm.ui.reporting.pages.InteractionResultsPage.java

License:Educational Community License

@Override
protected void initializePage(ContentPackage contentPackage, Learner learner, long attemptNumber,
        PageParameters pageParams) {/* ww w . jav  a  2 s .c o m*/
    String scoId = pageParams.getString("scoId");

    PageParameters uberuberparentParams = new PageParameters();
    uberuberparentParams.put("contentPackageId", contentPackage.getContentPackageId());

    PageParameters parentParams = new PageParameters();
    parentParams.put("contentPackageId", contentPackage.getContentPackageId());
    parentParams.put("learnerId", learner.getId());
    parentParams.put("attemptNumber", attemptNumber);

    // SCO-94 - deny users who do not have scorm.view.results permission
    String context = lms.currentContext();
    boolean canViewResults = lms.canViewResults(context);
    Label heading = new Label("heading3", new ResourceModel("page.heading.notAllowed"));
    add(heading);
    if (!canViewResults) {
        heading.setVisibilityAllowed(true);
        add(new WebMarkupContainer("interactionPanel"));
        add(new WebMarkupContainer("objectivePresenter"));
    } else {
        // SCO-94
        heading.setVisibilityAllowed(false);

        String interactionId = pageParams.getString("interactionId");

        Interaction interaction = resultService.getInteraction(contentPackage.getContentPackageId(),
                learner.getId(), attemptNumber, scoId, interactionId);

        add(new InteractionPanel("interactionPanel", interaction));

        IModel breadcrumbModel = new StringResourceModel("uberuberparent.breadcrumb", this,
                new Model(contentPackage));
        addBreadcrumb(breadcrumbModel, ResultsListPage.class, uberuberparentParams, true);
        addBreadcrumb(new Model(learner.getDisplayName()), LearnerResultsPage.class, parentParams, true);
        addBreadcrumb(new Model(interaction.getActivityTitle()), ScoResultsPage.class, pageParams, true);
        addBreadcrumb(new Model(interaction.getInteractionId()), InteractionResultsPage.class, pageParams,
                false);

        List<Objective> objectives = interaction.getObjectives();
        ObjectiveProvider dataProvider = new ObjectiveProvider(objectives);
        dataProvider.setTableTitle("Objectives");
        EnhancedDataPresenter presenter = new EnhancedDataPresenter("objectivePresenter", getColumns(),
                dataProvider);
        add(presenter);

        presenter.setVisible(objectives != null && objectives.size() > 0);
    }
}