Example usage for org.apache.wicket.markup.repeater.data DataView DataView

List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.repeater.data DataView DataView.

Prototype

protected DataView(String id, IDataProvider<T> dataProvider, long itemsPerPage) 

Source Link

Usage

From source file:com.doculibre.constellio.wicket.panels.search.SearchFormCollectionPanel.java

License:Open Source License

public SearchFormCollectionPanel(String id) {
    super(id);/*from   w  w  w. jav  a2s.co m*/

    int itemsPerPage = 10;

    collectionsModel = new VisibleCollectionsModel();
    IDataProvider dataProvider = new SortableListDataProvider(collectionsModel);
    DataView dataView = new DataView("collections", dataProvider, itemsPerPage) {
        @Override
        protected void populateItem(Item item) {
            RecordCollection collection = (RecordCollection) item.getModelObject();
            final ReloadableEntityModel<RecordCollection> collectionModel = new ReloadableEntityModel<RecordCollection>(
                    collection);
            IModel labelModel = new LoadableDetachableModel() {
                @Override
                protected Object load() {
                    RecordCollection collection = collectionModel.getObject();
                    Locale displayLocale = collection.getDisplayLocale(getLocale());
                    String collectionTitle = collection.getTitle(displayLocale);
                    int depthInFederation = collection.getDepthInFederation();
                    for (int i = 0; i < depthInFederation; i++) {
                        collectionTitle = "&nbsp;&nbsp;" + collectionTitle;
                    }
                    return collectionTitle;
                }
            };
            item.add(new LinkHolder("collectionLinkHolder", labelModel) {
                @Override
                protected WebMarkupContainer newLink(String id) {
                    RecordCollection collection = collectionModel.getObject();
                    BaseSearchPage baseSearchPage = (BaseSearchPage) SearchFormCollectionPanel.this.getPage();
                    SimpleSearch clone = baseSearchPage.getSimpleSearch().clone();
                    clone.setCollectionName(collection.getName());

                    PageFactoryPlugin pageFactoryPlugin = PluginFactory.getPlugin(PageFactoryPlugin.class);
                    Class<? extends BaseSearchPage> searchPageClass;
                    PageParameters searchPageParams;
                    if (pageFactoryPlugin.isSearchResultsPage(baseSearchPage)) {
                        searchPageClass = pageFactoryPlugin.getSearchResultsPage();
                        searchPageParams = SearchResultsPage.getParameters(clone);
                    } else {
                        searchPageClass = pageFactoryPlugin.getSearchFormPage();
                        searchPageParams = SearchFormPage.getParameters(clone);
                    }
                    Link link = new BookmarkablePageLink(id, searchPageClass, searchPageParams);
                    link.add(new AttributeModifier("class", true, new LoadableDetachableModel() {
                        @Override
                        protected Object load() {
                            RecordCollection collection = collectionModel.getObject();
                            BaseSearchPage baseSearchPage = (BaseSearchPage) getPage();
                            String collectionName = baseSearchPage.getSimpleSearch().getCollectionName();
                            return collection.getName().equals(collectionName) ? "selected" : null;
                        }
                    }));
                    return link;
                }

                @Override
                public void detachModels() {
                    collectionModel.detach();
                    super.detachModels();
                }

                @Override
                protected Component newLabel(String id, IModel labelModel) {
                    return super.newLabel(id, labelModel).setEscapeModelStrings(false);
                }
            });
        }
    };
    add(dataView);

    AutoHidePagingNavigator pager = new ULAutoHidePagingNavigator("pager", dataView);
    add(pager);
}

From source file:com.gitblit.wicket.pages.FilestorePage.java

License:Apache License

public FilestorePage(PageParameters params) {
    super(params);
    setupPage("", "");

    int itemsPerPage = app().settings().getInteger(Keys.web.itemsPerPage, 20);
    if (itemsPerPage <= 1) {
        itemsPerPage = 20;/*from  w  ww.j  ava 2  s.c o m*/
    }

    final int pageNumber = WicketUtils.getPage(params);
    final String filter = WicketUtils.getSearchString(params);

    int prevPage = Math.max(0, pageNumber - 1);
    int nextPage = pageNumber + 1;
    boolean hasMore = false;

    final UserModel user = (GitBlitWebSession.get().getUser() == null) ? UserModel.ANONYMOUS
            : GitBlitWebSession.get().getUser();
    final long nBytesUsed = app().filestore().getFilestoreUsedByteCount();
    final long nBytesAvailable = app().filestore().getFilestoreAvailableByteCount();
    List<FilestoreModel> files = app().filestore().getAllObjects(user);

    if (files == null) {
        files = new ArrayList<FilestoreModel>();
    }

    long nOk = 0;
    long nPending = 0;
    long nInprogress = 0;
    long nError = 0;
    long nDeleted = 0;

    for (FilestoreModel file : files) {
        switch (file.getStatus()) {
        case Available: {
            nOk++;
        }
            break;
        case Upload_Pending: {
            nPending++;
        }
            break;
        case Upload_In_Progress: {
            nInprogress++;
        }
            break;
        case Deleted: {
            nDeleted++;
        }
            break;
        default: {
            nError++;
        }
            break;
        }
    }

    BookmarkablePageLink<Void> itemOk = new BookmarkablePageLink<Void>("filterByOk", FilestorePage.class,
            WicketUtils.newFilestorePageParameter(prevPage, SortBy.ok.name()));

    BookmarkablePageLink<Void> itemPending = new BookmarkablePageLink<Void>("filterByPending",
            FilestorePage.class, WicketUtils.newFilestorePageParameter(prevPage, SortBy.pending.name()));

    BookmarkablePageLink<Void> itemInprogress = new BookmarkablePageLink<Void>("filterByInprogress",
            FilestorePage.class, WicketUtils.newFilestorePageParameter(prevPage, SortBy.inprogress.name()));

    BookmarkablePageLink<Void> itemError = new BookmarkablePageLink<Void>("filterByError", FilestorePage.class,
            WicketUtils.newFilestorePageParameter(prevPage, SortBy.error.name()));

    BookmarkablePageLink<Void> itemDeleted = new BookmarkablePageLink<Void>("filterByDeleted",
            FilestorePage.class, WicketUtils.newFilestorePageParameter(prevPage, SortBy.deleted.name()));

    List<FilestoreModel> filteredResults = new ArrayList<FilestoreModel>(files.size());

    if (filter == null) {
        filteredResults = files;
    } else if (filter.equals(SortBy.ok.name())) {
        WicketUtils.setCssClass(itemOk, "filter-on");

        for (FilestoreModel item : files) {
            if (item.getStatus() == Status.Available) {
                filteredResults.add(item);
            }
        }
    } else if (filter.equals(SortBy.pending.name())) {
        WicketUtils.setCssClass(itemPending, "filter-on");

        for (FilestoreModel item : files) {
            if (item.getStatus() == Status.Upload_Pending) {
                filteredResults.add(item);
            }
        }
    } else if (filter.equals(SortBy.inprogress.name())) {
        WicketUtils.setCssClass(itemInprogress, "filter-on");

        for (FilestoreModel item : files) {
            if (item.getStatus() == Status.Upload_In_Progress) {
                filteredResults.add(item);
            }
        }
    } else if (filter.equals(SortBy.error.name())) {
        WicketUtils.setCssClass(itemError, "filter-on");

        for (FilestoreModel item : files) {
            if (item.isInErrorState()) {
                filteredResults.add(item);
            }
        }
    } else if (filter.equals(SortBy.deleted.name())) {
        WicketUtils.setCssClass(itemDeleted, "filter-on");

        for (FilestoreModel item : files) {
            if (item.getStatus() == Status.Deleted) {
                filteredResults.add(item);
            }
        }
    }

    DataView<FilestoreModel> filesView = new DataView<FilestoreModel>("fileRow",
            new SortableFilestoreProvider(filteredResults), itemsPerPage) {
        private static final long serialVersionUID = 1L;
        private int counter;

        @Override
        protected void onBeforeRender() {
            super.onBeforeRender();
            counter = 0;
        }

        @Override
        public void populateItem(final Item<FilestoreModel> item) {
            final FilestoreModel entry = item.getModelObject();

            DateFormat dateFormater = new SimpleDateFormat(Constants.ISO8601);

            UserModel user = app().users().getUserModel(entry.getChangedBy());
            user = user == null ? UserModel.ANONYMOUS : user;

            Label icon = FilestoreUI.getStatusIcon("status", entry);
            item.add(icon);
            item.add(new Label("on", dateFormater.format(entry.getChangedOn())));
            item.add(new Label("by", user.getDisplayName()));

            item.add(new Label("oid", entry.oid));
            item.add(new Label("size", FileUtils.byteCountToDisplaySize(entry.getSize())));

            WicketUtils.setAlternatingBackground(item, counter);
            counter++;
        }

    };

    if (filteredResults.size() < itemsPerPage) {
        filesView.setCurrentPage(0);
        hasMore = false;
    } else {
        filesView.setCurrentPage(pageNumber - 1);
        hasMore = true;
    }

    add(filesView);

    add(new BookmarkablePageLink<Void>("firstPageBottom", FilestorePage.class).setEnabled(pageNumber > 1));
    add(new BookmarkablePageLink<Void>("prevPageBottom", FilestorePage.class,
            WicketUtils.newFilestorePageParameter(prevPage, filter)).setEnabled(pageNumber > 1));
    add(new BookmarkablePageLink<Void>("nextPageBottom", FilestorePage.class,
            WicketUtils.newFilestorePageParameter(nextPage, filter)).setEnabled(hasMore));

    itemOk.add(FilestoreUI.getStatusIcon("statusOkIcon", FilestoreModel.Status.Available));
    itemPending.add(FilestoreUI.getStatusIcon("statusPendingIcon", FilestoreModel.Status.Upload_Pending));
    itemInprogress
            .add(FilestoreUI.getStatusIcon("statusInprogressIcon", FilestoreModel.Status.Upload_In_Progress));
    itemError.add(FilestoreUI.getStatusIcon("statusErrorIcon", FilestoreModel.Status.Error_Unknown));
    itemDeleted.add(FilestoreUI.getStatusIcon("statusDeletedIcon", FilestoreModel.Status.Deleted));

    itemOk.add(new Label("statusOkCount", String.valueOf(nOk)));
    itemPending.add(new Label("statusPendingCount", String.valueOf(nPending)));
    itemInprogress.add(new Label("statusInprogressCount", String.valueOf(nInprogress)));
    itemError.add(new Label("statusErrorCount", String.valueOf(nError)));
    itemDeleted.add(new Label("statusDeletedCount", String.valueOf(nDeleted)));

    add(itemOk);
    add(itemPending);
    add(itemInprogress);
    add(itemError);
    add(itemDeleted);

    add(new Label("spaceAvailable", String.format("%s / %s", FileUtils.byteCountToDisplaySize(nBytesUsed),
            FileUtils.byteCountToDisplaySize(nBytesAvailable))));

    BookmarkablePageLink<Void> helpLink = new BookmarkablePageLink<Void>("filestoreHelp", FilestoreUsage.class);
    helpLink.add(new Label("helpMessage", getString("gb.filestoreHelp")));
    add(helpLink);

}

From source file:com.marc.lastweek.web.pages.classifiedadslisting.ClassifiedAdsListPanel.java

License:Open Source License

public ClassifiedAdsListPanel(String id, final FilterParameters filterParameters) {
    super(id);/*from  ww  w  . jav a  2s.  com*/

    WebMarkupContainer classifiedListBox = new WebMarkupContainer("classifiedListBox");
    DataView classifiedList = new DataView("classifiedAdsList",
            new FilterCalssifiedAdsProvider(filterParameters), RESULTS_PER_PAGE) {
        private static final long serialVersionUID = 8440379131631972878L;

        @Override
        protected void populateItem(Item item) {
            ClassifiedAd classifiedAd = (ClassifiedAd) item.getModelObject();

            PageParameters linkParameters = new PageParameters();
            linkParameters.put(PageParametersNaming.PARAM_NAME_CLASSIFIED_AD_ID, classifiedAd.getId());
            Link classifiedAdLink = (new BookmarkablePageLink("classifiedAdLink", ClassifiedAdDetailPage.class,
                    linkParameters));
            classifiedAdLink.add(new Label("classifiedAdTitle", ViewUtils.labelizer(classifiedAd.getTitle())));
            item.add(classifiedAdLink);

            item.add(new Label("classifiedAdPublicationDate",
                    ViewUtils.labelizer(classifiedAd.getPublicationDate())));

            Label description = new Label("classifiedAdDescription",
                    ViewUtils.getDigest(classifiedAd.getDescription()));
            description.setEscapeModelStrings(false);
            item.add(description);
            item.add(new Label("classifiedAdPrice", ViewUtils.labelizer(classifiedAd.getPrice())));

            if (item.getIndex() % 2 == 1) {
                item.add(new SimpleAttributeModifier("class", "classified-ad-summary-alt"));
            }
        }
    };
    classifiedListBox.add(classifiedList);
    classifiedListBox.setOutputMarkupId(true);
    this.add(classifiedListBox);

    VerticalFancyPaginator paginationLinks = new VerticalFancyPaginator("paginationLinks", classifiedList);
    this.add(paginationLinks);

    // No results
    WebMarkupContainer noResultsDiv = new WebMarkupContainer("noResults");
    this.add(noResultsDiv);

    if (classifiedList.getDataProvider().size() != 0) {
        noResultsDiv.setVisible(false);
    } else {
        paginationLinks.setVisible(false);
    }

}

From source file:com.mikhailau.training.motordepot.webapp.page.categorylicense.panel.CategoryLicenseRegistrationListPanel.java

public CategoryLicenseRegistrationListPanel(String id) {
    super(id);/*from  ww w  .j a va 2s .  c om*/

    CategoryLicensesDataProvider categoryLicensesDataProvider = new CategoryLicensesDataProvider();
    DataView<CategoryLicense> dataView = new DataView<CategoryLicense>("rows", categoryLicensesDataProvider,
            20) {
        @Override
        protected void populateItem(Item<CategoryLicense> item) {
            CategoryLicense categoryLicense = item.getModelObject();

            item.add(new Label("category", categoryLicense.getCategory()));

            Link<Void> editLink = new Link<Void>("edit-link") {
                @Override
                public void onClick() {
                    setResponsePage(new CategoryLicenseAddPage(categoryLicense));
                }
            };

            Link<Void> deleteLink = new Link<Void>("delete-link") {
                @Override
                public void onClick() {
                    try {
                        categoryLicenseService.delete(categoryLicense.getId());
                        setResponsePage(new CategoryLicenseAddPage(new CategoryLicense()));
                    } catch (PersistenceException e) {
                        System.out.print(
                                "  ? ");
                    }
                }
            };
            item.add(deleteLink);
            item.add(editLink);

        }
    };
    add(dataView);
    add(new OrderByBorder("sort-category", CategoryLicense_.category, categoryLicensesDataProvider));
}

From source file:com.mikhailau.training.motordepot.webapp.page.driver.panel.DriverListPanel.java

public DriverListPanel(String id) {
    super(id);/*  w  ww. j  ava 2 s.co m*/

    VehiclesDataProvider vehiclesDataProvider = new VehiclesDataProvider();
    DataView<Vehicle> dataView = new DataView<Vehicle>("rows", vehiclesDataProvider, 5) {
        @Override
        protected void populateItem(Item<Vehicle> item) {
            Vehicle vehicle = item.getModelObject();

            item.add(new Label("lastName", vehicle.getDriver().getLastName()));
            item.add(new Label("firstName", vehicle.getDriver().getFirstName()));
            item.add(DateLabel.forDatePattern("leadTime", Model.of(vehicle.getDriver().getLeadTime()),
                    "dd-MM-yyyy"));

            CheckBox checkboxDriver = new CheckBox("stateFree", Model.of(vehicle.getDriver().getStateFree()));
            checkboxDriver.setEnabled(false);
            item.add(checkboxDriver);
            CheckBox checkboxVehicle = new CheckBox("stateAfterFreight",
                    Model.of(vehicle.getStateAfterFreight()));
            checkboxVehicle.setEnabled(false);
            item.add(checkboxVehicle);
            item.add(new Label("model", vehicle.getModel()));
            item.add(new Label("licensePlate", vehicle.getLicensePlate()));
            item.add(new Label("type", vehicle.getVehicleType().getType()));
            item.add(new Label("weight", vehicle.getMaxWeight()));
            item.add(new Label("pallets", vehicle.getNumberOfPallets()));

            item.add(new Link<Void>("edit-link") {
                @Override
                public void onClick() {

                    setResponsePage(new RegistrationDriverPage(vehicle));
                }
            });

            item.add(new Link<Void>("delete-link") {
                @Override
                public void onClick() {
                    try {
                        driverService.delete(vehicle.getId());
                    } catch (PersistenceException e) {
                        System.out.println("caughth persistance exception");
                    }
                    setResponsePage(new AllDriversPage());
                }
            });
        }
    };
    add(dataView);
    add(new PagingNavigator("paging", dataView));
    add(new OrderByBorder("sort-lastName", Driver_.lastName, vehiclesDataProvider));
    add(new OrderByBorder("sort-firstName", Driver_.firstName, vehiclesDataProvider));
    add(new OrderByBorder("sort-leadTime", Driver_.leadTime, vehiclesDataProvider));
    add(new OrderByBorder("sort-stateFree", Driver_.stateFree, vehiclesDataProvider));
    add(new OrderByBorder("sort-stateAfterFreight", Vehicle_.stateAfterFreight, vehiclesDataProvider));
    add(new OrderByBorder("sort-model", Vehicle_.model, vehiclesDataProvider));
    add(new OrderByBorder("sort-licensePlate", Vehicle_.id, vehiclesDataProvider));
    add(new OrderByBorder("sort-type", VehicleType_.type, vehiclesDataProvider));
    add(new OrderByBorder("sort-weight", Vehicle_.maxWeight, vehiclesDataProvider));
    add(new OrderByBorder("sort-pallets", Vehicle_.numberOfPallets, vehiclesDataProvider));

}

From source file:com.mycompany.PagingNavigatorPanel.java

License:Apache License

public PagingNavigatorPanel(String id, String name, final String value) {
    super(id);//from  www .  j av  a  2 s .c om
    Label output = new Label("output", name);
    output.setOutputMarkupId(true);
    add(output);

    HashMap<String, List<ListElement>> dataMap = createDataMap();

    final DataView<ListElement> view = new DataView<ListElement>("holidayData",
            new ListDataProvider<ListElement>(dataMap.get(value)), 5) {
        @Override
        protected void populateItem(Item<ListElement> item) {
            ListElement element = item.getModelObject();
            item.add(new Label("no", new PropertyModel<String>(element, "no")));
            item.add(new Label("monthDay", new PropertyModel<String>(element, "monthDay")));
            item.add(new Label("week", new PropertyModel<String>(element, "week")));
            item.add(new Label("name", new PropertyModel<String>(element, "name")));
        }
    };
    view.setOutputMarkupId(true);

    final WebMarkupContainer dataContainer = new WebMarkupContainer("dataContainer");
    dataContainer.setOutputMarkupId(true);
    dataContainer.add(new AjaxLazyLoadPanel("dataView") {
        @Override
        public Component getLazyLoadComponent(String markupId) {
            return new DataListPanel(markupId, value, view);
        }
    });

    add(dataContainer);
    add(new AjaxPagingNavigator("paging", view));
}

From source file:com.senacor.wbs.web.project.ProjectListPanel.java

License:Apache License

public ProjectListPanel(final String id, final List<Project> projects) {
    super(id);//w w  w .j a  va 2 s . co m
    this.locale = getLocale();
    SortableListDataProvider<Project> projectProvider = new SortableListDataProvider<Project>(projects) {
        @Override
        protected Locale getLocale() {
            return ProjectListPanel.this.getLocale();
        }

        public IModel model(final Object object) {
            return new CompoundPropertyModel(object);
        }
    };
    projectProvider.setSort("name", true);
    dataView = new DataView("projects", projectProvider, 4) {
        @Override
        protected void populateItem(final Item item) {
            Project project = (Project) item.getModelObject();
            PageParameters pageParameters = new PageParameters();
            pageParameters.put("projectId", project.getId());
            item.add(new BookmarkablePageLink("tasks", ProjectDetailsPage.class, pageParameters)
                    .add(new Label("id")));
            item.add(new Label("kuerzel"));
            item.add(new Label("titel", project.getName()));
            item.add(new Label("budget"));
            item.add(new Label("costPerHour"));
            item.add(new Label("start"));
            item.add(new Label("ende"));
            item.add(new Label("state"));
            // Alternieren der Farbe zwischen geraden und
            // ungeraden Zeilen
            item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel() {
                @Override
                public Object getObject() {
                    return (item.getIndex() % 2 == 1) ? "even" : "odd";
                }
            }));
        }
    };
    add(dataView);
    Form localeForm = new Form("localeForm");
    ImageButton deButton = new ImageButton("langde", new ResourceReference(BaseWBSPage.class, "de.png")) {
        @Override
        public void onSubmit() {
            ProjectListPanel.this.locale = Locale.GERMANY;
        }
    };
    localeForm.add(deButton);
    ImageButton usButton = new ImageButton("langus", new ResourceReference(BaseWBSPage.class, "us.png")) {
        @Override
        public void onSubmit() {
            ProjectListPanel.this.locale = Locale.US;
        }
    };
    localeForm.add(usButton);
    add(localeForm);
    final IResourceStream pdfResourceStream = new AbstractResourceStreamWriter() {
        public void write(final OutputStream output) {
            Document document = new Document();
            try {
                PdfWriter.getInstance(document, output);
                document.open();
                // document.add(new
                // Paragraph("WBS-Projektliste"));
                // document.add(new Paragraph(""));
                PdfPTable table = new PdfPTable(new float[] { 1f, 1f, 2f, 1f });
                PdfPCell cell = new PdfPCell(new Paragraph("WBS-Projektliste"));
                cell.setColspan(4);
                cell.setGrayFill(0.8f);
                table.addCell(cell);
                table.addCell("ID");
                table.addCell("Krzel");
                table.addCell("Titel");
                table.addCell("Budget in PT");
                for (Project project : projects) {
                    table.addCell("" + project.getId());
                    table.addCell(project.getKuerzel());
                    table.addCell(project.getName());
                    table.addCell("" + project.getBudget());
                }
                document.add(table);
                document.close();
            } catch (DocumentException e) {
                throw new RuntimeException(e);
            }
        }

        public String getContentType() {
            return "application/pdf";
        }
    };
    WebResource projectsResource = new WebResource() {
        {
            setCacheable(false);
        }

        @Override
        public IResourceStream getResourceStream() {
            return pdfResourceStream;
        }

        @Override
        protected void setHeaders(final WebResponse response) {
            super.setHeaders(response);
            // response.setAttachmentHeader("projekte.pdf");
        }
    };
    WebResource projectsResourceDL = new WebResource() {
        {
            setCacheable(false);
        }

        @Override
        public IResourceStream getResourceStream() {
            return pdfResourceStream;
        }

        @Override
        protected void setHeaders(final WebResponse response) {
            super.setHeaders(response);
            response.setAttachmentHeader("projekte.pdf");
        }
    };
    ResourceLink pdfDownload = new ResourceLink("pdfDownload", projectsResourceDL);
    ResourceLink pdfPopup = new ResourceLink("pdfPopup", projectsResource);
    PopupSettings popupSettings = new PopupSettings(PopupSettings.STATUS_BAR);
    popupSettings.setWidth(500);
    popupSettings.setHeight(700);
    pdfPopup.setPopupSettings(popupSettings);
    Link pdfReqTarget = new Link("pdfReqTarget") {
        @Override
        public void onClick() {
            RequestCycle.get()
                    .setRequestTarget(new ResourceStreamRequestTarget(pdfResourceStream, "projekte.pdf"));
        }
    };
    add(pdfReqTarget);
    add(pdfDownload);
    add(pdfPopup);
    add(new OrderByBorder("orderByKuerzel", "kuerzel", projectProvider));
    add(new OrderByBorder("orderByName", "name", projectProvider));
    add(new OrderByBorder("orderByBudget", "budget", projectProvider));
    add(new OrderByBorder("orderByCostPerHour", "costPerHour", projectProvider));
    add(new OrderByBorder("orderByStart", "start", projectProvider));
    add(new OrderByBorder("orderByEnde", "ende", projectProvider));
    add(new OrderByBorder("orderByState", "state", projectProvider));
    add(new PagingNavigator("projectsNavigator", dataView));
}

From source file:com.socialsite.course.AllCoursesPanel.java

License:Open Source License

public AllCoursesPanel(String id) {
    super(id);//from www .  jav a2s. c o m

    User user = getUser();
    IDataProvider<Course> dataProvider = null;
    if (user instanceof Student) {
        dataProvider = new UserCourseDataProvider(user.getId());
    } else if (user instanceof Staff) {

        dataProvider = new StaffCourseDataProvider(user.getId());
    } else if (user instanceof Admin) {
        dataProvider = new UniversityCourseDataProvider(((Admin) user).getUniversity().getId());
    }

    final DataView<Course> courseList = new DataView<Course>("courses", dataProvider, 12) {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<Course> item) {
            Course course = item.getModelObject();
            CourseLink courseLink;
            item.add(courseLink = new CourseLink("courselink", new Model<Course>(course)));
            courseLink.add(new Label("coursename", course.getName()));

            CourseLink courseImageLink;
            item.add(courseImageLink = new CourseLink("courseimagelink", new Model<Course>(course)));
            courseImageLink.add(new ImagePanel("image", course.getId(), ImageType.COURSE,
                    course.getLastModified(), false, false));

            item.add(new Label("students", course.getStudents().size() + ""));
            item.add(new Label("questions", course.getQuestions().size() + ""));

        }

    };

    add(new PagingNavigator("paging", courseList));
    add(courseList);
}

From source file:com.socialsite.course.CoursesPanel.java

License:Open Source License

/**
 * //ww  w  .  j  a  va2 s  .c om
 * @param id
 * @param modelId
 * @param dataProvider
 */
public CoursesPanel(final String id, final IDataProvider<Course> dataProvider) {
    super(id);
    final DataView<Course> courseView = new DataView<Course>("courses", dataProvider, 9) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<Course> item) {
            final Course course = item.getModelObject();
            CourseLink courseImageLink;
            item.add(courseImageLink = new CourseLink("imagelink", item.getModel()));
            courseImageLink.add(new ImagePanel("coursethumb", course.getId(), ImageType.COURSE,
                    course.getLastModified(), true));

            // course link
            CourseLink courseLink;
            item.add(courseLink = new CourseLink("name", item.getModel()));
            courseLink.add(new Label("coursename", course.getName()));
        }
    };
    add(courseView);
    add(new ShowAllLink("showall", courseView.getDataProvider().size(), UserCoursesPage.class));
}

From source file:com.socialsite.course.question.QuestionsPanel.java

License:Open Source License

public QuestionsPanel(final String id, final IModel<Course> model) {
    super(id, model);

    final Course course = model.getObject();

    add(questionsContainer = new WebMarkupContainer("questionscontainer"));
    questionsContainer.setOutputMarkupId(true);

    final DataView<Question> questionsView = new DataView<Question>("questions",
            new QuestionDataProvider(course.getId()), 5) {

        /**// w  ww.j  a  v  a2  s  .  c o m
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<Question> item) {
            item.add(new QuestionPanel("question", item.getModel(), questionsContainer));
        }
    };

    questionsContainer.add(questionsView);

}