Java tutorial
/** * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at license/ESCIDOC.LICENSE * or https://www.escidoc.org/license/ESCIDOC.LICENSE . * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at license/ESCIDOC.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * * Copyright 2012 Fachinformationszentrum Karlsruhe Gesellschaft * fuer wissenschaftlich-technische Information mbH and Max-Planck- * Gesellschaft zur Foerderung der Wissenschaft e.V. * All rights reserved. Use is subject to license terms. */ package org.escidoc.browser.ekinematixmodule.views; import org.escidoc.browser.ekinematixmodule.controller.Recherche; import org.escidoc.browser.model.EscidocServiceLocation; import org.escidoc.browser.model.ResourceProxy; import org.escidoc.browser.model.internal.ContainerProxyImpl; import org.escidoc.browser.repository.Repositories; import org.escidoc.browser.ui.Router; import org.escidoc.browser.ui.maincontent.View; import org.escidoc.browser.ui.view.helpers.BreadCrumbMenu; import org.escidoc.browser.ui.view.helpers.CreateResourceLinksVH; import com.google.common.base.Preconditions; import com.vaadin.ui.Panel; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.Window; import com.vaadin.ui.themes.Runo; import de.escidoc.core.client.exceptions.EscidocClientException; public class RechercheView extends View { private EscidocServiceLocation serviceLocation; private Router router; private ContainerProxyImpl resourceProxy; private Repositories repositories; private Window mainWindow; private Recherche controller; public RechercheView(final Router router, final ResourceProxy resourceProxy, final Repositories repositories, Recherche controller) throws EscidocClientException { Preconditions.checkNotNull(router, "router is null: %s", router); Preconditions.checkNotNull(resourceProxy, "resourceProxy is null: %s", resourceProxy); Preconditions.checkNotNull(repositories, "repositories is null: %s", repositories); Preconditions.checkNotNull(controller, "Controller is null: %s", controller); this.serviceLocation = router.getServiceLocation(); this.router = router; this.resourceProxy = (ContainerProxyImpl) resourceProxy; this.setViewName(resourceProxy.getName()); this.mainWindow = router.getMainWindow(); this.repositories = repositories; this.controller = controller; buildContentPanel(); } public Panel buildContentPanel() throws EscidocClientException { this.setImmediate(false); this.setWidth("100.0%"); this.setHeight("100.0%"); this.setStyleName(Runo.PANEL_LIGHT); // vlContentPanel assign a layout to this panel this.setContent(buildVlContentPanel()); return this; } private VerticalLayout buildVlContentPanel() throws EscidocClientException { // common part: create layout VerticalLayout vlContentPanel = new VerticalLayout(); vlContentPanel.setImmediate(false); vlContentPanel.setWidth("100.0%"); vlContentPanel.setHeight("100.0%"); vlContentPanel.setMargin(false, true, false, true); // breadCrumpPanel Panel breadCrump = buildBreadCrumpPanel(); vlContentPanel.addComponent(breadCrump); // Permanent Link new CreateResourceLinksVH(mainWindow.getURL().toString(), resourceProxy, vlContentPanel, router); return vlContentPanel; } private Panel buildBreadCrumpPanel() { // common part: create layout Panel breadCrumpPanel = new Panel(); breadCrumpPanel.setImmediate(false); breadCrumpPanel.setWidth("100.0%"); breadCrumpPanel.setHeight("30px"); breadCrumpPanel.setStyleName(Runo.PANEL_LIGHT); // vlBreadCrump VerticalLayout vlBreadCrump = new VerticalLayout(); vlBreadCrump.setImmediate(false); vlBreadCrump.setWidth("100.0%"); vlBreadCrump.setHeight("100.0%"); vlBreadCrump.setMargin(false); breadCrumpPanel.setContent(vlBreadCrump); // BreadCreumb new BreadCrumbMenu(breadCrumpPanel, resourceProxy); return breadCrumpPanel; } }