com.marc.lastweek.web.pages.main.MainPage.java Source code

Java tutorial

Introduction

Here is the source code for com.marc.lastweek.web.pages.main.MainPage.java

Source

/*
 * Copyright (c) 2009, Monte Alto Research Center, All Rights Reserved.
 *
 * This software is the confidential and proprietary information of
 * Monte Alto Research Center ("Confidential Information"). You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Monte Alto Research Center
 */
package com.marc.lastweek.web.pages.main;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.PageParameters;
import org.apache.wicket.behavior.SimpleAttributeModifier;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.ImageMap;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;

import com.marc.lastweek.business.entities.category.Category;
import com.marc.lastweek.business.entities.province.Province;
import com.marc.lastweek.web.application.LastweekApplication;
import com.marc.lastweek.web.components.selfpropaganda.CreateNewAdPropagandaPanel;
import com.marc.lastweek.web.models.LoadableCategoriesListModel;
import com.marc.lastweek.web.models.LoadableProvincesListModel;
import com.marc.lastweek.web.naming.PageParametersNaming;
import com.marc.lastweek.web.pages.BaseSearchPage;
import com.marc.lastweek.web.pages.classifiedadslisting.FilterResultsPage;

public class MainPage extends BaseSearchPage {
    public MainPage() {

        this.add(new CreateNewAdPropagandaPanel("createNewAd"));

        this.add(new ListView("categoriesList", new LoadableCategoriesListModel()) {

            private static final long serialVersionUID = -5142681180212487928L;

            @Override
            protected void populateItem(ListItem listItem) {
                Category category = (Category) listItem.getModelObject();
                PageParameters linkParameters = new PageParameters();
                linkParameters.put(PageParametersNaming.PARAM_NAME_CATEGORY_ID, category.getId());
                linkParameters.put(PageParametersNaming.PARAM_NAME_CATEGORY_NAME,
                        StringEscapeUtils.escapeHtml(category.getName()));

                BookmarkablePageLink categoryLink = new BookmarkablePageLink("categoryLink",
                        FilterResultsPage.class, linkParameters);
                categoryLink.add(new Label("categoryName", category.getName()));
                listItem.add(categoryLink);
            }
        });

        this.add(new ListView("provincesList", new LoadableProvincesListModel()) {

            private static final long serialVersionUID = -5843308083402561880L;

            @Override
            protected void populateItem(ListItem listItem) {
                Province province = (Province) listItem.getModelObject();
                PageParameters linkParameters = new PageParameters();
                linkParameters.put(PageParametersNaming.PARAM_NAME_PROVINCE_ID, province.getId());
                linkParameters.put(PageParametersNaming.PARAM_NAME_PROVINCE_NAME,
                        StringEscapeUtils.escapeHtml(province.getName()));
                BookmarkablePageLink provinceLink = new BookmarkablePageLink("provinceLink",
                        FilterResultsPage.class, linkParameters);
                provinceLink.add(new Label("provinceName", province.getName()));

                if (listItem.getIndex() % 2 == 1) {
                    listItem.add(new SimpleAttributeModifier("class", "parallel-column"));
                }

                listItem.add(provinceLink);
            }
        });

        /*
         * Clickable provinces map
         */

        ImageMap mapProvinceMap = new ImageMap("mapProvinceMap");

        for (Province province : LastweekApplication.get().getGeneralService().findAll(Province.class)) {
            String[] stringCoords = StringUtils.split(province.getCoords(), ",");
            int[] intCoords = new int[stringCoords.length];
            for (int i = 0; i < stringCoords.length; i++) {
                intCoords[i] = (new Integer(stringCoords[i].trim())).intValue();
            }
            PageParameters linkParameters = new PageParameters();
            linkParameters.put(PageParametersNaming.PARAM_NAME_PROVINCE_ID, province.getId());
            linkParameters.put(PageParametersNaming.PARAM_NAME_PROVINCE_NAME,
                    StringEscapeUtils.escapeHtml(province.getName()));
            mapProvinceMap.addPolygonLink(intCoords, new BookmarkablePageLink("imageMapLink" + province.getId(),
                    FilterResultsPage.class, linkParameters));
        }
        this.add(mapProvinceMap);

    }

}