Example usage for com.vaadin.ui HorizontalLayout setWidth

List of usage examples for com.vaadin.ui HorizontalLayout setWidth

Introduction

In this page you can find the example usage for com.vaadin.ui HorizontalLayout setWidth.

Prototype

@Override
    public void setWidth(String width) 

Source Link

Usage

From source file:es.mdef.clientmanager.ui.GestionClientesUI.java

License:Apache License

private Component getMenuTitleComponent() {

    final HorizontalLayout top = new HorizontalLayout();
    top.setWidth("100%");
    top.setDefaultComponentAlignment(Alignment.MIDDLE_LEFT);
    top.addStyleName("valo-menu-title");

    final Label title = new Label("<h3><strong>Gesti&oacute;n de clientes</strong></h3>", ContentMode.HTML);
    title.setSizeUndefined();/*w  ww  .  j a v a  2 s .  c o m*/
    top.addComponent(title);
    top.setExpandRatio(title, 1);
    return top;
}

From source file:eu.lod2.LOD2Demo.java

License:Apache License

@Override
public void init() {
    state = new LOD2DemoState();

    mainWindow = new Window("LOD2 Prototype");
    setTheme("lod2");
    mainContainer = new VerticalLayout();
    mainWindow.addComponent(mainContainer);
    mainContainer.setSizeFull();//from  w w w .  ja  va  2 s .c o m

    final AbsoluteLayout welcomeSlagzin = new AbsoluteLayout();
    welcomeSlagzin.setWidth("370px");
    welcomeSlagzin.setHeight("75px");
    final Link homepage = new Link();
    homepage.setResource(new ExternalResource("http://lod2.eu"));
    final ThemeResource logo = new ThemeResource("app_images/logo-lod2-small.png");
    homepage.setIcon(logo);
    welcomeSlagzin.addComponent(homepage, "top:0px; left:5px");
    homepage.setSizeFull();
    homepage.addStyleName("logo");

    // the current graph as label
    /*
    currentgraphlabel = new Label("no current graph selected");
    currentgraphlabel.addStyleName("currentgraphlabel");
    */

    Button homeb = new Button("home");
    homeb.setDebugId(this.getClass().getSimpleName() + "_homeb");
    homeb.addListener(new ClickListener() {
        public void buttonClick(ClickEvent event) {
            home();
        }
    });
    homeb.setStyleName(BaseTheme.BUTTON_LINK);
    homeb.addStyleName("currentgraphlabel");

    currentgraphlabel = state.cGraph;
    currentgraphlabel.addStyleName("currentgraphlabel");
    // Create an horizontal container
    HorizontalLayout welcomeContainer = new HorizontalLayout();

    //menubarContainer.addComponent(lod2logo);
    welcomeContainer.addComponent(welcomeSlagzin);
    welcomeContainer.setComponentAlignment(welcomeSlagzin, Alignment.TOP_LEFT);
    welcomeContainer.addComponent(homeb);
    welcomeContainer.setComponentAlignment(homeb, Alignment.TOP_RIGHT);
    welcomeContainer.addComponent(currentgraphlabel);
    welcomeContainer.setComponentAlignment(currentgraphlabel, Alignment.TOP_RIGHT);

    final VerticalLayout welcome = new VerticalLayout();
    welcome.addComponent(welcomeContainer);
    // unfortunately, we need to be able to build components from outside
    // this initialization function and the welcome component needs to be
    // resized properly afterward
    this.welcome = welcome;

    mainContainer.addComponent(welcome);

    //************************************************************************
    //  menu bar style
    //
    MenuBar menubar = new MenuBar();
    menubar.setDebugId(this.getClass().getSimpleName() + "_menubar");

    // First define all menu commands

    MenuBar.Command me1c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            ELoadRDFFile content = new ELoadRDFFile(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command me3c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            EXML me3c_content = new EXML(state);
            workspace.addComponent(me3c_content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            me3c_content.setSizeFull();
        }
    };
    MenuBar.Command me3cbis = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            EXMLExtended content = new EXMLExtended(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
        }
    };

    MenuBar.Command me4c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            ESpotlight content = new ESpotlight(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command me5c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            EPoolPartyExtractor me5c_content = new EPoolPartyExtractor(state);
            workspace.addComponent(me5c_content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            me5c_content.setHeight("90%");
        }
    };

    MenuBar.Command me6c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            D2RCordis content = new D2RCordis(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command me7c_1 = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            IframedUrl content = new IframedUrl(state, "http://publicdata.eu/dataset?res_format=RDF&q=rdf");
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command me7c_2 = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            IframedUrl content = new IframedUrl(state, "http://datahub.io/dataset?groups=lodcloud");
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command me8c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            EURL content = new EURL(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setHeight("90%");
        }
    };

    MenuBar.Command me9c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            EPoolPartyLabel content = new EPoolPartyLabel(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setHeight("90%");
        }
    };

    MenuBar.Command silk = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            LinkingTab lsilk = new LinkingTab(state);
            workspace.addComponent(lsilk);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            lsilk.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(lsilk, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command limes = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            Limes limes = new Limes(state);
            workspace.addComponent(limes);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            limes.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(limes, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command sameaslinking = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            SameAsLinking content = new SameAsLinking(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
        }
    };

    MenuBar.Command ore = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            ORE content = new ORE(state);
            workspace.addComponent(content);
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command lodrefine = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            Lodrefine content = new Lodrefine(state);
            workspace.addComponent(content);
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mconfiguration = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            ConfigurationTab content = new ConfigurationTab(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setHeight("500px");
        }
    };

    MenuBar.Command mabout = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            About content = new About(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
        }
    };

    MenuBar.Command mau = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            OntoWiki content = new OntoWiki(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mq1c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            SesameSPARQL content = new SesameSPARQL(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mq2c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            OntoWikiQuery content = new OntoWikiQuery(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mq3c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            VirtuosoSPARQL content = new VirtuosoSPARQL(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mq4c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            VirtuosoISPARQL content = new VirtuosoISPARQL(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    /** Deprecated temporarily
    MenuBar.Command mq5c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            GeoSpatial content = new GeoSpatial(state);
            workspace.addComponent(content);
          resetSizeFull(workspace);
            welcome.setHeight("110px");
          workspace.setSizeFull();
          workspace.setHeight("500px");
          workspace.setExpandRatio(content,1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
        }
    };
            
    MenuBar.Command mq_s_6c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
           workspace.removeAllComponents();
            Sparqled content = new Sparqled(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };
            
    MenuBar.Command mq_s_7c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
           workspace.removeAllComponents();
            SparqledManager content = new SparqledManager(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };
    */

    MenuBar.Command mo1c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            SameAs content = new SameAs(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setHeight("500px");
        }
    };

    /** Deprecated temporarily
    MenuBar.Command mo2c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            Sigma content = new Sigma(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };
    */

    MenuBar.Command mo3c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            LODCloud content = new LODCloud(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mo4c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            DBpedia content = new DBpedia(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mo5c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            SPARQLPoolParty content = new SPARQLPoolParty(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mo6c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            OnlinePoolParty content = new OnlinePoolParty(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mo7c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            MondecaSPARQLList content = new MondecaSPARQLList(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mo8c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            CKAN content = new CKAN(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command mo9c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            IframedUrl content = new IframedUrl(state, "http://publicdata.eu");
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    /** Deprecated temporarily
    MenuBar.Command mo10c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            IframedUrl content = new IframedUrl(state, "http://sig.ma");
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };
    */

    MenuBar.Command mo11c = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            IframedUrl content = new IframedUrl(state, "http://sindice.com");
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setSizeFull();
            workspace.setSizeFull();
            workspace.setExpandRatio(content, 1.0f);
            mainContainer.setExpandRatio(workspace, 2.0f);
            mainWindow.getContent().setSizeFull();
        }
    };

    MenuBar.Command userinfoCommand = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(/*new Authenticator(*/new UserInformation(state)/*, state)*/);
        }
    };

    MenuBar.Command publishCommand = new Command() {
        public void menuSelected(MenuItem selectedItem) {
            // publishing should be protected with an authenticator, otherwise a store could be published
            // without provenance information!
            showInWorkspace(/*new Authenticator(*/new CKANPublisherPanel(state)/*, state)*/);
        }
    };

    MenuBar.Command mDeleteGraphs = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(/*new Authenticator(*/new DeleteGraphs(state)/*, state)*/);
        }
    };

    // Secondly define menu layout
    // root menu's
    MenuBar.MenuItem extraction = menubar.addItem("Extraction & Loading", null, null);
    MenuBar.MenuItem querying = menubar.addItem("Querying & Exploration", null, null);
    MenuBar.MenuItem authoring = menubar.addItem("Authoring", null, null);
    MenuBar.MenuItem linking = menubar.addItem("Linking", null, null);
    MenuBar.MenuItem enrichment = menubar.addItem("Enrichment & Data Cleaning", null, null);
    MenuBar.MenuItem onlinetools = menubar.addItem("Online Tools & Services", null, null);
    MenuBar.MenuItem configuration = menubar.addItem("Configuration", null, null);

    // sub menu's 
    MenuBar.MenuItem me1 = extraction.addItem("Upload RDF file or RDF from URL", null, me1c);
    //       MenuBar.MenuItem me1b = extraction.addItem("Import RDF data from URL", null, me8c);
    MenuBar.MenuItem me2_1 = extraction.addItem("Load RDF data from publicdata.eu", null, me7c_1);
    MenuBar.MenuItem me2_2 = extraction.addItem("Load LOD cloud RDF data from the Data Hub", null, me7c_2);
    MenuBar.MenuItem me3 = extraction.addItem("Extract RDF from XML", null, null);
    MenuBar.MenuItem me6 = extraction.addItem("Extract RDF from SQL", null, me6c);
    MenuBar.MenuItem me4 = extraction.addItem("Extract RDF from text w.r.t. DBpedia", null, me4c);
    MenuBar.MenuItem me5 = extraction.addItem("Extract RDF from text w.r.t. a controlled vocabulary", null,
            me5c);
    //       MenuBar.MenuItem me9  = extraction.addItem("Complete RDF w.r.t. a controlled vocabulary", null, me9c);

    MenuBar.MenuItem exml = me3.addItem("Basic extraction", null, me3c);
    MenuBar.MenuItem extended = me3.addItem("Extended extraction", null, me3cbis);

    MenuBar.MenuItem mq1 = querying.addItem("SPARQL querying", null, null);
    // Deprecated temporarily
    //MenuBar.MenuItem mq2 = querying.addItem("Sig.ma EE", null, mo2c);
    //MenuBar.MenuItem mq3 = querying.addItem("Geo-spatial exploration", null, mq5c);
    // TODO: replace this with a menu with two entries, editor and manager, after stephane fixes the manager
    //MenuBar.MenuItem mqs5 = mq1.addItem("SparQLed - Assisted Querying", null, mq_s_6c);
    //MenuBar.MenuItem mqsparqled1 = mqs5.addItem("Use currently selected graph", null, mq_s_6c);
    //MenuBar.MenuItem mqsparqled2 = mqs5.addItem("Use manager to calculate summary graph", null, mq_s_7c);
    //MenuBar.MenuItem mqs1 = mq1.addItem("Direct via Sesame API", null, mq1c);
    MenuBar.MenuItem mqs2 = mq1.addItem("OntoWiki SPARQL endpoint", null, mq2c);
    MenuBar.MenuItem mqs3 = mq1.addItem("Virtuoso SPARQL endpoint", null, mq3c);
    MenuBar.MenuItem mqs4 = mq1.addItem("Virtuoso interactive SPARQL endpoint", null, mq4c);

    MenuBar.MenuItem ma = authoring.addItem("OntoWiki", null, mau);
    MenuBar.MenuItem publishing = authoring.addItem("Publish to CKAN", null, publishCommand);

    MenuBar.MenuItem linking1 = linking.addItem("Silk", null, silk);
    MenuBar.MenuItem linking2 = linking.addItem("Limes", null, limes);
    MenuBar.MenuItem linking3 = linking.addItem("SameAs Linking", null, sameaslinking);

    MenuBar.MenuItem enrichment1 = enrichment.addItem("ORE", null, ore);
    MenuBar.MenuItem enrichment2 = enrichment.addItem("LOD enabled Refine", null, lodrefine);

    MenuBar.MenuItem sameAs = onlinetools.addItem("SameAs", null, mo1c);
    MenuBar.MenuItem sindice = onlinetools.addItem("Sindice", null, mo11c);
    //Deprecated temporarily
    //MenuBar.MenuItem sigmaOnline  = onlinetools.addItem("Sigma", null, mo10c);
    MenuBar.MenuItem ckan = onlinetools.addItem("CKAN", null, mo8c);
    MenuBar.MenuItem publicdata = onlinetools.addItem("Europe's Public Data", null, mo9c);
    MenuBar.MenuItem poolparty = onlinetools.addItem("PoolParty", null, mo6c);
    MenuBar.MenuItem sparqlonline = onlinetools.addItem("Online SPARQL endpoints", null, null);
    MenuBar.MenuItem lodcloud = sparqlonline.addItem("LOD cloud", null, mo3c);
    MenuBar.MenuItem dbpedia = sparqlonline.addItem("DBpedia", null, mo4c);
    MenuBar.MenuItem sparqlpoolparty = sparqlonline.addItem("PoolParty SPARQL endpoint", null, mo5c);
    MenuBar.MenuItem mondecalist = sparqlonline.addItem("Mondeca SPARQL endpoint Collection", null, mo7c);

    MenuBar.MenuItem conf = configuration.addItem("Demonstrator configuration", null, mconfiguration);
    MenuBar.MenuItem userconf = configuration.addItem("UserConfiguration", null, userinfoCommand);
    MenuBar.MenuItem about = configuration.addItem("About", null, mabout);
    MenuBar.MenuItem delgraphs = configuration.addItem("Delete Graphs", null, mDeleteGraphs);

    HorizontalLayout menubarContainer = new HorizontalLayout();
    menubarContainer.addComponent(menubar);
    menubarContainer.addStyleName("menubarContainer");
    menubarContainer.setWidth("100%");
    welcome.addComponent(menubarContainer);
    welcome.setHeight("110px");

    //************************************************************************
    // add workspace
    workspace = new VerticalLayout();

    mainContainer.addComponent(workspace);

    //create login/logout component that shows currently logged in user
    LoginStatus login = new LoginStatus(state, this.workspace);
    welcomeContainer.addComponent(login);
    welcomeContainer.setComponentAlignment(login, Alignment.TOP_RIGHT);
    welcomeContainer.setWidth("100%");

    /*
    workspace.setHeight("80%");
            
    HorizontalLayout introH = new HorizontalLayout();
    Embedded lod2cycle = new Embedded("", new ThemeResource("app_images/lod-lifecycle-small.png"));
    lod2cycle.setMimeType("image/png");
    introH.addComponent(lod2cycle);
    introH.setComponentAlignment(lod2cycle, Alignment.MIDDLE_LEFT);
            
    VerticalLayout introV =  new VerticalLayout();
    introH.addComponent(introV);
            
    Label introtextl =  new Label(introtext, Label.CONTENT_XHTML);
    introV.addComponent(introtextl);
    introtextl.setWidth("400px");
            
    HorizontalLayout introVH =  new HorizontalLayout();
    introV.addComponent(introVH);
            
    Embedded euflag = new Embedded("", new ThemeResource("app_images/eu-flag.gif"));
    euflag.setMimeType("image/gif");
    introVH.addComponent(euflag);
    euflag.addStyleName("eugif");
    euflag.setHeight("50px");
    Embedded fp7 = new Embedded("", new ThemeResource("app_images/fp7-gen-rgb_small.gif"));
    fp7.setMimeType("image/gif");
    fp7.addStyleName("eugif");
    fp7.setHeight("50px");
    introVH.addComponent(fp7);
            
    workspace.addComponent(introH);
    */
    home();

    // Create a tracker for the demo.lod2.eu domain.
    if (!state.googleAnalyticsID.equals("")) {
        //            GoogleAnalyticsTracker tracker = new GoogleAnalyticsTracker("UA-26375798-1", "demo.lod2.eu");
        GoogleAnalyticsTracker tracker = new GoogleAnalyticsTracker(state.googleAnalyticsID,
                state.googleAnalyticsDomain);
        mainWindow.addComponent(tracker);
        tracker.trackPageview("/lod2statworkbench");
    }
    ;

    setMainWindow(mainWindow);

    //       mainWindow.setExpandRatio(workspace, 1.0f);

    if (!state.InitStatus) {
        mainWindow.showNotification("Initialization Demonstration Failed", state.ErrorMessage,
                Notification.TYPE_ERROR_MESSAGE);
    }
    ;

}

From source file:eu.lod2.stat.dsdrepo.DSDRepoComponent.java

public DSDRepoComponent(Repository repository, String dataGraph, String repoGraph) {
    this.repository = repository;
    this.dataGraph = dataGraph;
    this.repoGraph = repoGraph;

    initializeRepoGraph();//  www .  j  av  a 2 s . c  o m

    dcRepo = new SparqlDCRepository(repository);
    graph = new SparqlDCGraph(repository, dataGraph);

    setSizeFull();
    VerticalLayout rootLayout = new VerticalLayout();
    rootLayout.setSizeFull();
    rootLayout.setSpacing(true);
    setDebugId("dsd-repo");

    mainLayout = new VerticalLayout();
    mainLayout.setSizeUndefined();
    mainLayout.setWidth("100%");
    //        mainLayout.setHeight("800px");
    mainLayout.setSpacing(true);

    HorizontalLayout menuLayout = new HorizontalLayout();
    menuLayout.setSpacing(true);
    menuLayout.setWidth("100%");
    rootLayout.addComponent(menuLayout);
    rootLayout.setExpandRatio(menuLayout, 0.0f);

    final MenuBar menu = new MenuBar();
    menu.addStyleName("dsd");
    cmdFindDSD = new MenuBar.Command() {
        public void menuSelected(MenuBar.MenuItem selectedItem) {
            for (MenuBar.MenuItem item : menu.getItems()) {
                if (item == selectedItem) {
                    if (!item.getStyleName().contains("selected")) {
                        if (ds != null)
                            item.setStyleName("selected");
                        findDSDs();
                    }
                } else
                    item.setStyleName("bleja");
            }
        }
    };
    menu.addItem("Find Suitable DSDs", cmdFindDSD).setStyleName("bleja");
    cmdCreateDSD = new MenuBar.Command() {
        public void menuSelected(MenuBar.MenuItem selectedItem) {
            for (MenuBar.MenuItem item : menu.getItems()) {
                if (item == selectedItem) {
                    if (!item.getStyleName().contains("selected")) {
                        if (ds != null)
                            item.setStyleName("selected");
                        createDSD();
                    }
                } else
                    item.setStyleName("bleja");
            }
        }
    };
    menu.addItem("Create DSD", cmdCreateDSD).setStyleName("bleja");
    cmdStoreDSD = new MenuBar.Command() {
        public void menuSelected(MenuBar.MenuItem selectedItem) {
            for (MenuBar.MenuItem item : menu.getItems()) {
                if (item == selectedItem) {
                    if (!item.getStyleName().contains("selected")) {
                        if (ds != null)
                            item.setStyleName("selected");
                        storeDSD();
                    }
                } else
                    item.setStyleName("bleja");
            }
        }
    };
    menu.addItem("Store DSD", cmdStoreDSD).setStyleName("bleja");

    menuLayout.addComponent(menu);
    Label spaceLbl = new Label("");
    menuLayout.addComponent(spaceLbl);
    menuLayout.setExpandRatio(spaceLbl, 2.0f);
    Label lbl = new Label("Choose dataset: ");
    lbl.setSizeUndefined();
    menuLayout.addComponent(lbl);

    Collection<DataSet> colDataSets = graph.getDataSets();
    if (colDataSets == null)
        colDataSets = new LinkedList<DataSet>();
    selectDataSet = new ComboBox(null, colDataSets);
    selectDataSet.setImmediate(true);
    selectDataSet.setNewItemsAllowed(false);
    selectDataSet.setNullSelectionAllowed(false);
    selectDataSet.setWidth("300px");
    selectDataSet.addListener(new Property.ValueChangeListener() {
        public void valueChange(Property.ValueChangeEvent event) {
            ds = (DataSet) event.getProperty().getValue();
        }
    });
    menuLayout.addComponent(selectDataSet);

    Panel mainPanel = new Panel(mainLayout);
    mainPanel.setSizeFull();
    mainPanel.setScrollable(true);
    mainPanel.setStyleName(Reindeer.PANEL_LIGHT);

    Label hrLabel = new Label("<hr/>", Label.CONTENT_XHTML);
    rootLayout.addComponent(hrLabel);
    rootLayout.setExpandRatio(hrLabel, 0.0f);
    rootLayout.addComponent(mainPanel);
    rootLayout.setExpandRatio(mainPanel, 2.0f);
    rootLayout.setMargin(true, false, true, false);

    setCompositionRoot(rootLayout);
}

From source file:eu.lod2.stat.StatLOD2Demo.java

License:Apache License

@Override
public void init() {
    ensureState();/*from  ww  w .  java2  s  .  c o m*/

    customComponentFactory = new CustomComponentFactory(state);

    mainWindow = new Window("LOD2 Statistical Workbench DEMO");
    setTheme("lod2");
    mainContainer = new VerticalLayout();
    mainWindow.addComponent(mainContainer);
    mainContainer.setSizeFull();

    final AbsoluteLayout welcomeSlagzin = new AbsoluteLayout();
    welcomeSlagzin.setWidth("370px");
    welcomeSlagzin.setHeight("75px");
    final Link homepage = new Link();
    homepage.setResource(new ExternalResource("http://lod2.eu"));
    final ThemeResource logo = new ThemeResource("app_images/logo-lod2-small.png");
    homepage.setIcon(logo);
    welcomeSlagzin.addComponent(homepage, "top:0px; left:5px");
    homepage.setSizeFull();
    homepage.addStyleName("logo");

    // the current graph as label
    /*
    currentgraphlabel = new Label("no current graph selected");
    currentgraphlabel.addStyleName("currentgraphlabel");
    */

    Button homeb = new Button("home");
    homeb.setDebugId(this.getClass().getSimpleName() + "_homeb");
    homeb.addListener(new ClickListener() {
        public void buttonClick(ClickEvent event) {
            home();
        }
    });
    homeb.setStyleName(BaseTheme.BUTTON_LINK);
    homeb.addStyleName("currentgraphlabel");

    currentgraphlabel = state.cGraph;
    currentgraphlabel.addStyleName("currentgraphlabel");
    // Create an horizontal container
    HorizontalLayout welcomeContainer = new HorizontalLayout();
    HorizontalLayout stateContainer = new HorizontalLayout();
    VerticalLayout toolsContainer = new VerticalLayout();
    toolsContainer.setWidth("100%");
    welcomeContainer.setWidth("100%");

    //menubarContainer.addComponent(lod2logo);
    welcomeContainer.addComponent(welcomeSlagzin);
    welcomeContainer.addComponent(toolsContainer);
    toolsContainer.addComponent(stateContainer);
    welcomeContainer.setComponentAlignment(welcomeSlagzin, Alignment.TOP_LEFT);
    stateContainer.addComponent(homeb);
    welcomeContainer.setComponentAlignment(toolsContainer, Alignment.TOP_RIGHT);
    stateContainer.addComponent(currentgraphlabel);
    stateContainer.setComponentAlignment(homeb, Alignment.TOP_LEFT);
    stateContainer.setComponentAlignment(currentgraphlabel, Alignment.TOP_RIGHT);

    final VerticalLayout welcome = new VerticalLayout();
    welcome.addComponent(welcomeContainer);
    // unfortunately, we need to be able to build components from outside
    // this initialization function and the welcome component needs to be
    // resized properly afterward
    this.welcome = welcome;

    mainContainer.addComponent(welcome);

    //************************************************************************
    //  menu bar style
    //
    MenuBar menubar = new MenuBar();
    menubar.setDebugId(this.getClass().getSimpleName() + "_menubar");

    // First define all menu commands

    String sparqlAuthURL;
    if (state.getHostName().equals("http://localhost:8080")) {
        sparqlAuthURL = "http://localhost:8890/sparql-auth";
    } else {
        sparqlAuthURL = state.getHostName() + "/virtuoso/sparql-auth";
    }
    ;

    MenuBar.Command cmdOntoWikiCreateKB = getCustomComponentCommand(CompType.CreateKB);
    MenuBar.Command cmdOntoWikiImport = getCustomComponentCommand(CompType.ImportCSV);

    MenuBar.Command cmdSearchCubes = getCustomComponentCommand(CompType.SearchCubes);
    //        MenuBar.Command cmdConfigGUI = getCustomComponentCommand(CompType.ConfigGUIStat);
    MenuBar.Command cmdManageDSD = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new DSDRepoComponentWrapper(state, workspace));
            //                showInWorkspace(new DSDRepoComponent(state.getRdfStore(), state.getCurrentGraph()));
        }
    };
    MenuBar.Command cmdValidation = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new Validation(state, workspace));
        }
    };
    //MenuBar.Command cmdUploadRDF = getCustomComponentCommand(CompType.UploadRDF);
    //MenuBar.Command cmdExtractXML = getCustomComponentCommand(CompType.ExtractFromXML, false);
    //MenuBar.Command cmdExtractXMLE = getCustomComponentCommand(CompType.ExtractFromXMLExtended, false);
    MenuBar.Command cmdLoadFromPublicData = getFramedUrlCommand(
            "http://publicdata.eu/dataset?q=statistical&res_format=application%2Frdf%2Bxml&_res_format_limit=0&sort=relevance+asc");
    MenuBar.Command cmdLoadFromDataHub = getFramedUrlCommand(
            "http://datahub.io/dataset?tags=statistics&q=&groups=lodcloud");
    //MenuBar.Command cmdD2R = getCustomComponentCommand(CompType.D2R);
    MenuBar.Command cmdSparqled = getCustomComponentCommand(CompType.Sparqled);
    MenuBar.Command cmdSparqledManager = getCustomComponentCommand(CompType.SparqledManager);
    MenuBar.Command cmdSparqlOntowiki = getCustomComponentCommand(CompType.SparqlOW);
    MenuBar.Command cmdSparqlVirtuoso = getCustomComponentCommand(CompType.SparqlVirtuoso);
    MenuBar.Command cmdSparqlVirtuosoI = getCustomComponentCommand(CompType.SparqlIVirtuoso);
    MenuBar.Command cmdOntoWikiEdit = getCustomComponentCommand(CompType.EditWithOW);
    MenuBar.Command cmdSparqlUpdateVirtuoso = getFramedUrlCommand(sparqlAuthURL);
    MenuBar.Command cmdPoolPartyEdit = getCustomComponentCommand(CompType.OnlinePoolParty);
    MenuBar.Command cmdMergeDatasets = getCustomComponentCommand(CompType.MergeDatasets);
    MenuBar.Command cmdMergeDimensions = getCustomComponentCommand(CompType.MergeDimensions);
    MenuBar.Command cmdSliceDatasets = getCustomComponentCommand(CompType.SliceDatasets);
    //MenuBar.Command cmdCkan = getCustomComponentCommand(CompType.CKAN);
    MenuBar.Command cmdGeoSpatial = getCustomComponentCommand(CompType.GeoSpatial);
    MenuBar.Command cmdSilk = getCustomComponentCommand(CompType.Silk);
    MenuBar.Command cmdLodRefine = getCustomComponentCommand(CompType.LodRefine);
    MenuBar.Command cmdLimes = getCustomComponentCommand(CompType.Limes);
    MenuBar.Command cmdSameAs = getCustomComponentCommand(CompType.SameAs);
    //MenuBar.Command cmdPublicData = getFramedUrlCommand("http://publicdata.eu");
    //MenuBar.Command cmdSigMa = getFramedUrlCommand("http://sig.ma");
    MenuBar.Command cmdSindice = getFramedUrlCommand("http://sindice.com/main/submit");
    //MenuBar.Command cmdLODCloud = getCustomComponentCommand(CompType.LODCloud);
    MenuBar.Command cmdDBPedia = getCustomComponentCommand(CompType.DBPedia);
    MenuBar.Command cmdSPARQLPoolParty = getCustomComponentCommand(CompType.SPARQLPoolParty);
    MenuBar.Command cmdMondecaSPARQLList = getCustomComponentCommand(CompType.MondecaSPARQLList);
    MenuBar.Command cmdEditDataset = this.getEditDatasetCommand(this.state);
    MenuBar.Command cmdEditStructureDef = this.getEditStructureDefinition(this.state);
    MenuBar.Command cmdEditComponentProp = this.getEditComponentPropertyCommand(this.state);
    MenuBar.Command cmdVisualizeCubeviz = getCustomComponentCommand(CompType.VisualizeCubeviz);

    MenuBar.Command cmdDemoConfig = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            workspace.removeAllComponents();
            ConfigurationTab content = new ConfigurationTab(state);
            workspace.addComponent(content);
            // stretch the content to the full workspace area
            welcome.setHeight("110px");
            content.setHeight("500px");
        }
    };
    /*MenuBar.Command userinfoCommand = new MenuBar.Command() {
    public void menuSelected(MenuItem selectedItem) {
        showInWorkspace(new Authenticator(new UserInformation(state), new HashSet<String>(Arrays.asList(state.userRole)), state));
    }
    }; removed due to WebID issues */

    MenuBar.Command publishCommand = new Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new CKANPublisherPanel(state));
        }
    };

    MenuBar.Command publishDataHubCommand = new Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new DataHubPublisher(state));
        }
    };

    MenuBar.Command mDeleteGraphs = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new DeleteGraphs(state));
        }
    };

    MenuBar.Command extractXML = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new EXML(state));
        }
    };
    MenuBar.Command extractXMLExtended = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new EXMLExtended(state));
        }
    };
    MenuBar.Command extractSDMX = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new LinkedSDMX(state));
        }
    };

    MenuBar.Command importDirectly = new MenuBar.Command() {
        public void menuSelected(MenuItem selectedItem) {
            showInWorkspace(new OntoWikiPathExtended(state, "/model/add", true));
        }
    };

    MenuBar.Command exportRDFXML = getOWExportCommand("rdfxml");
    MenuBar.Command exportTurtle = getOWExportCommand("turtle");
    MenuBar.Command exportRDFJson = getOWExportCommand("rdfjson");
    MenuBar.Command exportRDFN3 = getOWExportCommand("rdfn3");

    MenuBar.Command cmdExamples = getFramedUrlCommand(
            "http://wiki.lod2.eu/display/LOD2DOC/LOD2+Statistical+Workbench");

    /*
     legend for menu item names:
     - *: stub
     - !: incomplete functionality
     */

    // root menus
    MenuBar.MenuItem menuGraph = menubar.addItem("Manage Graph", null, null);
    MenuBar.MenuItem menuExtraction = menubar.addItem("Find more Data Online", null, null);
    MenuBar.MenuItem menuEdit = menubar.addItem("Edit & Transform", null, null);
    //MenuBar.MenuItem menuQuery      = menubar.addItem("Querying & Exploration", null, null);
    MenuBar.MenuItem menuEnrich = menubar.addItem("Enrich Datacube", null, null);
    //MenuBar.MenuItem menuOnline      = menubar.addItem("Online Tools & Services", null, null);
    MenuBar.MenuItem menuPresent = menubar.addItem("Present & Publish", null, null);
    MenuBar.MenuItem menuHelp = menubar.addItem("Help", null, null);

    //graph menu
    menuGraph.addItem("Select Default Graph", null, cmdDemoConfig);
    menuGraph.addItem("Create Graph", null, cmdOntoWikiCreateKB);
    menuGraph.addItem("Search Cubes", cmdSearchCubes);
    //        menuGraph.addItem("Configure URIs", cmdConfigGUI);
    MenuBar.MenuItem menuImport = menuGraph.addItem("Import", null, null);
    menuImport.addItem("Import from CSV", null, cmdOntoWikiImport);
    MenuBar.MenuItem excelImport = menuImport.addItem("Import from XML", null, null);
    MenuBar.MenuItem directImport = menuImport.addItem("Import triples from file", null, importDirectly);
    excelImport.addItem("From Text", null, extractXML);
    excelImport.addItem("From File", null, extractXMLExtended);
    excelImport.addItem("From SDMX", null, extractSDMX);
    MenuBar.MenuItem menuExport = menuGraph.addItem("Export", null, null);
    menuExport.addItem("Export as RDF/XML", null, exportRDFXML);
    menuExport.addItem("Export as Turtle", null, exportTurtle);
    menuExport.addItem("Export as RDF/JSON", null, exportRDFJson);
    menuExport.addItem("Export as Notation 3", null, exportRDFN3);
    menuGraph.addItem("DSD Management", cmdManageDSD);
    menuGraph.addItem("Validate", null, cmdValidation);
    menuGraph.addItem("Remove Graphs", null, mDeleteGraphs);

    // edit menu
    MenuItem editmenu = menuEdit.addItem("Edit Graph (OntoWiki)", null, cmdOntoWikiEdit);
    editmenu.addItem("Edit qb:Dataset", null, cmdEditDataset);
    editmenu.addItem("Edit qb:StructureDefinition", null, cmdEditStructureDef);
    editmenu.addItem("Edit qb:ComponentProperty", null, cmdEditComponentProp);
    menuEdit.addItem("Edit Code Lists (PoolParty)", null, cmdPoolPartyEdit);
    menuEdit.addItem("Reconcile dimensions", null, cmdMergeDimensions);
    menuEdit.addItem("Merge datasets", null, cmdMergeDatasets);
    menuEdit.addItem("Slice datasets", null, cmdSliceDatasets);
    menuEdit.addItem("Transform and Update Graph (SPARQL Update Endpoint)", null, cmdSparqlUpdateVirtuoso);
    menuEdit.addItem("Transform and Update Graph (R2R rules)", null, getCustomComponentCommand(CompType.R2R));

    // extraction menus
    //menuExtraction.addItem("Upload RDF File or RDF from URL", null, cmdUploadRDF);
    //MenuBar.MenuItem itemExtractFromXML = menuExtraction.addItem("Extract RDF from XML", null, null);
    //itemExtractFromXML.addItem("Basic extraction", null, cmdExtractXML);
    //itemExtractFromXML.addItem("Extended extraction", null, cmdExtractXMLE);
    menuExtraction.addItem("Load RDF data from publicdata.eu", null, cmdLoadFromPublicData);
    menuExtraction.addItem("Load RDF data from Data Hub", null, cmdLoadFromDataHub);
    //menuExtraction.addItem("Extract RDF from SQL", null, cmdD2R);

    // querying menu
    // many sparql query frontends are attached to the same endpoint (virtuoso) Removing duplicates
    //MenuBar.MenuItem itemSparqlQuerying = menuEdit.addItem("SPARQL querying", null, null);
    //Deprecated temporarily
    //MenuBar.MenuItem itemSparqled = menuEdit.addItem("SparQLed - Assisted Querying", null, cmdSparqled);
    //itemSparqled.addItem("Use currently selected graph", null, cmdSparqled);
    //itemSparqled.addItem("Use manager to calculate summary graph", null, cmdSparqledManager);
    //itemSparqlQuerying.addItem("OntoWiki SPARQL endpoint", null, cmdSparqlOntowiki);
    //itemSparqlQuerying.addItem("Virtuoso SPARQL endpoint", null, cmdSparqlVirtuoso);
    //itemSparqlQuerying.addItem("Virtuoso interactive SPARQL endpoint", null, cmdSparqlVirtuosoI);
    //        menuQuery.addItem("Find RDF Data Cubes", null, null);
    //        menuQuery.addItem("RDF Data Cube Matching Analysis", null, null);
    menuPresent.addItem("Visualization with CubeViz", null, cmdVisualizeCubeviz);
    // seems like duplicate of publicdata.eu
    //menuQuery.addItem("CKAN", null, cmdCkan);
    //menuPresent.addItem("Geo-Spatial exploration", null, cmdGeoSpatial);
    menuPresent.addItem("Publish to CKAN", null, publishCommand);
    menuPresent.addItem("Publish to datahub.io", null, publishDataHubCommand);

    // enrichment menu
    menuEnrich.addItem("Interlinking dimensions (Silk)", null, cmdSilk);
    menuEnrich.addItem("Data enrichment and reconciliation (LODRefine)", null, cmdLodRefine);
    menuEnrich.addItem("Interlinking with Limes", null, cmdLimes);
    menuEnrich.addItem("Interlinking with SameAs", null, cmdSameAs);

    // online menu
    //moved to present and publish
    menuPresent.addItem("Publish to Sindice", null, cmdSindice);
    //menuOnline.addItem("Sig.ma", null, cmdSigMa); // not a fitting case for stat wb?
    // duplicate?
    //menuOnline.addItem("Europe's Public Data", null, cmdPublicData);
    //MenuBar.MenuItem itemOnlineSparql = menuOnline.addItem("Online SPARQL Endpoints", null, null);
    // no longer working
    //itemOnlineSparql.addItem("LOD cloud", null, cmdLODCloud);
    // moved to find more data
    menuExtraction.addItem("DBPedia", null, cmdDBPedia);
    // moved to sparql querying
    menuEdit.addItem("PoolParty Code Lists SPARQL endpoint", null, cmdSPARQLPoolParty);
    // moved to extract
    menuExtraction.addItem("Mondeca SPARQL endpoint Collection", null, cmdMondecaSPARQLList);

    // help menu
    /* menuHelp.addItem("User Configuration", null, userinfoCommand); removed due to WebID issues */
    //menuHelp.addItem("*Documentation", null, null);
    menuHelp.addItem("Examples", null, cmdExamples);
    //menuHelp.addItem("*About", null, null);

    HorizontalLayout menubarContainer = new HorizontalLayout();
    menubarContainer.addComponent(menubar);
    menubarContainer.addStyleName("menubarContainer");
    menubarContainer.setWidth("100%");
    welcome.addComponent(menubarContainer);
    welcome.setHeight("110px");

    //************************************************************************
    // add workspace
    workspace = new VerticalLayout();

    mainContainer.addComponent(workspace);

    //create login/logout component that shows currently logged in user
    LoginStatus login = new LoginStatus(state, workspace);
    toolsContainer.addComponent(login);
    //welcome.setComponentAlignment(login, Alignment.TOP_RIGHT);

    /*
        workspace.setHeight("80%");
            
        HorizontalLayout introH = new HorizontalLayout();
        Embedded lod2cycle = new Embedded("", new ThemeResource("app_images/lod-lifecycle-small.png"));
        lod2cycle.setMimeType("image/png");
        introH.addComponent(lod2cycle);
        introH.setComponentAlignment(lod2cycle, Alignment.MIDDLE_LEFT);
            
        VerticalLayout introV =  new VerticalLayout();
        introH.addComponent(introV);
            
        Label introtextl =  new Label(introtext, Label.CONTENT_XHTML);
        introV.addComponent(introtextl);
        introtextl.setWidth("400px");
            
        HorizontalLayout introVH =  new HorizontalLayout();
        introV.addComponent(introVH);
            
        Embedded euflag = new Embedded("", new ThemeResource("app_images/eu-flag.gif"));
        euflag.setMimeType("image/gif");
        introVH.addComponent(euflag);
        euflag.addStyleName("eugif");
        euflag.setHeight("50px");
        Embedded fp7 = new Embedded("", new ThemeResource("app_images/fp7-gen-rgb_small.gif"));
        fp7.setMimeType("image/gif");
        fp7.addStyleName("eugif");
        fp7.setHeight("50px");
        introVH.addComponent(fp7);
            
        workspace.addComponent(introH);
        */
    home();

    // Create a tracker for the demo.lod2.eu domain.
    if (!state.googleAnalyticsID.equals("")) {
        //            GoogleAnalyticsTracker tracker = new GoogleAnalyticsTracker("UA-26375798-1", "demo.lod2.eu");
        GoogleAnalyticsTracker tracker = new GoogleAnalyticsTracker(state.googleAnalyticsID,
                state.googleAnalyticsDomain);
        mainWindow.addComponent(tracker);
        tracker.trackPageview("/lod2statworkbench");
    }
    ;

    setMainWindow(mainWindow);

    //       mainWindow.setExpandRatio(workspace, 1.0f);

    if (!state.InitStatus) {
        mainWindow.showNotification("Initialization Demonstration Failed", state.ErrorMessage,
                Notification.TYPE_ERROR_MESSAGE);
    }
    ;

}

From source file:eu.maxschuster.vaadin.signaturefield.demo.DemoUI.java

License:Apache License

@Override
protected void init(VaadinRequest request) {

    getPage().setTitle(pageTitle);// ww  w  .  j  a va2s. c o  m

    final VerticalLayout margin = new VerticalLayout();
    setContent(margin);

    final VerticalLayout layout = new VerticalLayout();
    layout.setMargin(true);
    layout.setSpacing(true);
    layout.setWidth("658px");
    margin.addComponent(layout);
    margin.setComponentAlignment(layout, Alignment.TOP_CENTER);

    final Label header1 = new Label(pageTitle);
    header1.addStyleName("h1");
    header1.setSizeUndefined();
    layout.addComponent(header1);
    layout.setComponentAlignment(header1, Alignment.TOP_CENTER);

    final TabSheet tabSheet = new TabSheet();
    tabSheet.setWidth("100%");
    layout.addComponent(tabSheet);
    layout.setComponentAlignment(tabSheet, Alignment.TOP_CENTER);

    final Panel signaturePanel = new Panel();
    signaturePanel.addStyleName("signature-panel");
    signaturePanel.setWidth("100%");
    tabSheet.addTab(signaturePanel, "Demo");

    final VerticalLayout signatureLayout = new VerticalLayout();
    signatureLayout.setMargin(true);
    signatureLayout.setSpacing(true);
    signatureLayout.setSizeFull();
    signaturePanel.setContent(signatureLayout);

    final SignatureField signatureField = new SignatureField();
    signatureField.setWidth("100%");
    signatureField.setHeight("318px");
    signatureField.setPenColor(Color.ULTRAMARINE);
    signatureField.setBackgroundColor("white");
    signatureField.setConverter(new StringToDataUrlConverter());
    signatureField.setPropertyDataSource(dataUrlProperty);
    signatureField.setVelocityFilterWeight(0.7);
    signatureLayout.addComponent(signatureField);
    signatureLayout.setComponentAlignment(signatureField, Alignment.MIDDLE_CENTER);

    final HorizontalLayout buttonLayout = new HorizontalLayout();
    buttonLayout.setSpacing(true);
    buttonLayout.setWidth("100%");
    signatureLayout.addComponent(buttonLayout);

    final Button clearButton = new Button("Clear", new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            signatureField.clear();
        }
    });
    buttonLayout.addComponent(clearButton);
    buttonLayout.setComponentAlignment(clearButton, Alignment.MIDDLE_LEFT);

    final Label message = new Label("Sign above");
    message.setSizeUndefined();
    buttonLayout.addComponent(message);
    buttonLayout.setComponentAlignment(message, Alignment.MIDDLE_CENTER);

    final ButtonLink saveButtonLink = new ButtonLink("Save", null);
    saveButtonLink.setTargetName("_blank");
    buttonLayout.addComponent(saveButtonLink);
    buttonLayout.setComponentAlignment(saveButtonLink, Alignment.MIDDLE_RIGHT);

    final Panel optionsPanel = new Panel();
    optionsPanel.setSizeFull();
    tabSheet.addTab(optionsPanel, "Options");

    final FormLayout optionsLayout = new FormLayout();
    optionsLayout.setMargin(true);
    optionsLayout.setSpacing(true);
    optionsPanel.setContent(optionsLayout);

    final ComboBox mimeTypeComboBox = new ComboBox(null, mimeTypeContainer);
    optionsLayout.addComponent(mimeTypeComboBox);
    mimeTypeComboBox.setItemCaptionPropertyId("mimeType");
    mimeTypeComboBox.setNullSelectionAllowed(false);
    mimeTypeComboBox.addValueChangeListener(new ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            MimeType mimeType = (MimeType) event.getProperty().getValue();
            signatureField.setMimeType(mimeType);
        }
    });
    mimeTypeComboBox.setValue(MimeType.PNG);
    mimeTypeComboBox.setCaption("Result MIME-Type");

    final CheckBox immediateCheckBox = new CheckBox("immediate", false);
    optionsLayout.addComponent(immediateCheckBox);
    immediateCheckBox.addValueChangeListener(new ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            boolean immediate = (Boolean) event.getProperty().getValue();
            signatureField.setImmediate(immediate);
        }
    });

    final CheckBox readOnlyCheckBox = new CheckBox("readOnly", false);
    optionsLayout.addComponent(readOnlyCheckBox);
    readOnlyCheckBox.addValueChangeListener(new ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            boolean readOnly = (Boolean) event.getProperty().getValue();
            signatureField.setReadOnly(readOnly);
            mimeTypeComboBox.setReadOnly(readOnly);
            clearButton.setEnabled(!readOnly);
        }
    });

    final CheckBox requiredCheckBox = new CheckBox("required (causes bug that clears field)", false);
    optionsLayout.addComponent(requiredCheckBox);
    requiredCheckBox.addValueChangeListener(new ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            boolean required = (Boolean) event.getProperty().getValue();
            signatureField.setRequired(required);
        }
    });

    final CheckBox clearButtonEnabledButton = new CheckBox("clearButtonEnabled", false);
    optionsLayout.addComponent(clearButtonEnabledButton);
    clearButtonEnabledButton.addValueChangeListener(new ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            boolean clearButtonEnabled = (Boolean) event.getProperty().getValue();
            signatureField.setClearButtonEnabled(clearButtonEnabled);
        }
    });

    final Panel resultPanel = new Panel("Results:");
    resultPanel.setWidth("100%");
    layout.addComponent(resultPanel);

    final VerticalLayout resultLayout = new VerticalLayout();
    resultLayout.setMargin(true);
    resultPanel.setContent(resultLayout);

    final Image stringPreviewImage = new Image("String preview image:");
    stringPreviewImage.setWidth("500px");
    resultLayout.addComponent(stringPreviewImage);

    final Image dataUrlPreviewImage = new Image("DataURL preview image:");
    dataUrlPreviewImage.setWidth("500px");
    resultLayout.addComponent(dataUrlPreviewImage);

    final TextArea textArea = new TextArea("DataURL:");
    textArea.setWidth("100%");
    textArea.setHeight("300px");
    resultLayout.addComponent(textArea);

    final Label emptyLabel = new Label();
    emptyLabel.setCaption("Is Empty:");
    emptyLabel.setValue(String.valueOf(signatureField.isEmpty()));
    resultLayout.addComponent(emptyLabel);

    signatureField.addValueChangeListener(new ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            String signature = (String) event.getProperty().getValue();
            stringPreviewImage.setSource(signature != null ? new ExternalResource(signature) : null);
            textArea.setValue(signature);
            emptyLabel.setValue(String.valueOf(signatureField.isEmpty()));
        }
    });
    dataUrlProperty.addValueChangeListener(new ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            try {
                final DataUrl signature = (DataUrl) event.getProperty().getValue();
                dataUrlPreviewImage.setSource(
                        signature != null ? new ExternalResource(serializer.serialize(signature)) : null);
                StreamResource streamResource = null;
                if (signature != null) {
                    StreamSource streamSource = new StreamSource() {

                        @Override
                        public InputStream getStream() {
                            return new ByteArrayInputStream(signature.getData());
                        }
                    };
                    MimeType mimeType = MimeType.valueOfMimeType(signature.getMimeType());
                    String extension = null;

                    switch (mimeType) {
                    case JPEG:
                        extension = "jpg";
                        break;
                    case PNG:
                        extension = "png";
                        break;
                    }

                    streamResource = new StreamResource(streamSource, "signature." + extension);
                    streamResource.setMIMEType(signature.getMimeType());
                    streamResource.setCacheTime(0);
                }
                saveButtonLink.setResource(streamResource);
            } catch (MalformedURLException e) {
                logger.error(e.getMessage(), e);
            }
        }
    });
}

From source file:fi.jasoft.remoteconnection.ServerExampleUI.java

License:Apache License

private void buildUI() {
    FormLayout vl = new FormLayout();
    setContent(vl);/*w w  w  . ja v  a2  s . co m*/

    // Our id
    myId = new Label("Connecting...");
    myId.setCaption("My id:");
    vl.addComponent(myId);

    // Remote id
    final TextField remoteId = new TextField();
    remoteId.setWidth("100%");
    NativeButton connectToRemote = new NativeButton("Connect", new Button.ClickListener() {

        @Override
        public void buttonClick(final ClickEvent event) {
            final RemoteChannel channel = peer.openChannel(remoteId.getValue());
            channel.addConnectedListener(new ConnectedListener() {

                @Override
                public void connected(String channelId) {
                    remoteId.setReadOnly(true);
                    event.getButton().setVisible(false);
                    Notification.show("Connected to " + channelId, Type.TRAY_NOTIFICATION);
                }
            });
        }
    });

    HorizontalLayout hl = new HorizontalLayout(remoteId, connectToRemote);
    hl.setExpandRatio(remoteId, 1);
    hl.setWidth("100%");
    hl.setCaption("Remote id: ");
    vl.addComponent(hl);

    // Message display where messages are displayed
    messages = new TextArea();
    messages.setWidth("100%");
    vl.addComponent(messages);

    // Message field
    final TextField message = new TextField();
    message.setWidth("100%");
    NativeButton send = new NativeButton("Send", new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {

            // Show message in message window
            messages.setValue(
                    messages.getValue() + peer.getConfiguration().getId() + " >> " + message.getValue() + "\n");

            // Broadcast the message to all connected peers
            peer.broadcast(message.getValue());

            message.setValue("");
        }
    });

    hl = new HorizontalLayout(message, send);
    hl.setExpandRatio(message, 1);
    hl.setWidth("100%");
    hl.setCaption("Send message: ");
    vl.addComponent(hl);
}

From source file:fi.jasoft.simplecalendar.demo.SimpleCalendarDemoUI.java

License:Apache License

@Override
protected void init(VaadinRequest request) {

    setLocale(DEFAULT_LOCALE);/*from w  w  w  .  ja v a 2s.c  o m*/

    VerticalLayout content = new VerticalLayout();
    content.setMargin(true);
    content.setSpacing(true);

    Label lbl = new Label("SimpleCalendar");
    lbl.setStyleName(Reindeer.LABEL_H1);
    content.addComponent(lbl);

    HorizontalLayout layout = new HorizontalLayout();
    layout.setWidth("100%");
    layout.setSpacing(true);

    final SimpleCalendar calendar = new SimpleCalendar();
    calendar.setImmediate(true);
    calendar.addValueChangeListener(new Property.ValueChangeListener() {
        public void valueChange(ValueChangeEvent event) {
            Notification.show(calendar.getValue().toString());
        }
    });

    calendar.setMultiSelect(true);

    layout.addComponent(calendar);

    Label description = new Label("A calendar component that supports the following features:<ul>"
            + "<li>Selecting multiple dates by control click</li>" + "<li>Range selection with shift click</li>"
            + "<li>Keyboard navigation with arrow keys</li>" + "<li>Possibility to disable certain dates</li>"
            + "<li>Date tooltips</li>" + "<li>Limit start and end dates of calendar</li>"
            + "<li>Selecting multiple locales", ContentMode.HTML);
    layout.addComponent(description);
    layout.setExpandRatio(description, 1);

    content.addComponent(layout);

    BeanItemContainer<Locale> locales = new BeanItemContainer<Locale>(Locale.class);
    locales.addAll(Arrays.asList(Locale.getAvailableLocales()));

    NativeSelect localeSelect = new NativeSelect();
    localeSelect.setContainerDataSource(locales);
    localeSelect.setValue(DEFAULT_LOCALE);
    localeSelect.setImmediate(true);
    localeSelect.setItemCaptionMode(ItemCaptionMode.PROPERTY);
    localeSelect.setItemCaptionPropertyId("displayName");
    localeSelect.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            calendar.setLocale((Locale) event.getProperty().getValue());
        }
    });
    content.addComponent(new HorizontalLayout(new Label("Locale:"), localeSelect));

    final CheckBox disableWeekends = new CheckBox("Disable weekends", false);
    disableWeekends.setImmediate(true);
    disableWeekends.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            if (disableWeekends.getValue()) {
                calendar.setDisabledWeekDays(Weekday.SATURDAY, Weekday.SUNDAY);
            } else {
                calendar.setDisabledWeekDays();
            }
        }
    });
    content.addComponent(disableWeekends);

    final CheckBox disable15th = new CheckBox("Disable 15th each month", false);
    disable15th.setImmediate(true);
    disable15th.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            if (disable15th.getValue()) {
                calendar.setDisabledMonthlyDates(15);
            } else {
                calendar.setDisabledMonthlyDates();
            }
        }
    });
    content.addComponent(disable15th);

    final CheckBox disableToday = new CheckBox("Disable todays date", false);
    disableToday.setImmediate(true);
    disableToday.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            if (disableToday.getValue()) {
                calendar.setDisabledDates(new Date());
            } else {
                calendar.setDisabledDates();
            }
        }
    });
    content.addComponent(disableToday);

    final CheckBox allowFutureDate = new CheckBox("Only allow future dates", false);
    allowFutureDate.setImmediate(true);
    allowFutureDate.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            if (allowFutureDate.getValue()) {
                calendar.setStartDate(new Date());
            } else {
                calendar.setStartDate(null);
            }
        }
    });
    content.addComponent(allowFutureDate);

    final CheckBox allowPastDate = new CheckBox("Only allow past dates", false);
    allowPastDate.setImmediate(true);
    allowPastDate.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            if (allowPastDate.getValue()) {
                calendar.setEndDate(new Date());
            } else {
                calendar.setEndDate(null);
            }
        }
    });
    content.addComponent(allowPastDate);

    setContent(content);
}

From source file:fi.semantum.strategia.Main.java

License:Open Source License

@Override
protected void init(VaadinRequest request) {

    getPage().addUriFragmentChangedListener(new UriFragmentChangedListener() {
        public void uriFragmentChanged(UriFragmentChangedEvent source) {
            applyFragment(source.getUriFragment(), true);
        }/* w w w.  j ava2s .c  om*/
    });

    String pathInfo = request.getPathInfo();
    if (pathInfo.startsWith("/"))
        pathInfo = pathInfo.substring(1);
    if (pathInfo.endsWith("/"))
        pathInfo = pathInfo.substring(0, pathInfo.length() - 1);

    String databaseId = validatePathInfo(pathInfo);

    setWindowWidth(Page.getCurrent().getBrowserWindowWidth(), Page.getCurrent().getBrowserWindowHeight());

    // Find the application directory
    String basepath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath();

    // Image as a file resource
    redResource = new FileResource(new File(basepath + "/WEB-INF/images/bullet_red.png"));
    greenResource = new FileResource(new File(basepath + "/WEB-INF/images/bullet_green.png"));
    blackResource = new FileResource(new File(basepath + "/WEB-INF/images/bullet_black.png"));
    mapMagnify = new FileResource(new File(basepath + "/WEB-INF/images/map_magnify.png"));

    abs = new AbsoluteLayout();

    final VerticalLayout vs = new VerticalLayout();
    vs.setSizeFull();

    abs.addComponent(vs);
    setContent(abs);

    // This will set the login cookie
    Wiki.login(this);

    // Make sure that the printing directory exists
    new File(Main.baseDirectory(), "printing").mkdirs();

    database = Database.load(this, databaseId);
    database.getOrCreateTag("Tavoite");
    database.getOrCreateTag("Painopiste");

    for (Strategiakartta map : Strategiakartta.enumerate(database)) {
        Strategiakartta parent = map.getPossibleParent(database);
        if (parent == null)
            uiState.setCurrentMap(parent);
    }

    if (uiState.getCurrentMap() == null)
        uiState.setCurrentMap(database.getRoot());

    uiState.currentPosition = uiState.getCurrentMap();

    uiState.currentItem = uiState.getCurrentMap();

    setPollInterval(10000);

    addPollListener(new PollListener() {

        @Override
        public void poll(PollEvent event) {

            if (database.checkChanges()) {
                String curr = uiState.getCurrentMap().uuid;
                database = Database.load(Main.this, database.getDatabaseId());
                uiState.setCurrentMap((Strategiakartta) database.find(curr));
                Updates.updateJS(Main.this, false);
            }

        }

    });

    js.addListener(new MapListener(this, false));
    js2.addListener(new MapListener(this, true));

    browser_.addListener(new BrowserListener() {

        @Override
        public void select(double x, double y, String uuid) {
            Base b = database.find(uuid);
            Actions.selectAction(Main.this, x, y, null, b);
        }

        @Override
        public void save(String name, Map<String, BrowserNodeState> states) {

            UIState state = getUIState().duplicate(name);
            state.browserStates = states;

            account.uiStates.add(state);

            Updates.update(Main.this, true);

        }

    });

    Page.getCurrent().addBrowserWindowResizeListener(new BrowserWindowResizeListener() {

        @Override
        public void browserWindowResized(BrowserWindowResizeEvent event) {
            setWindowWidth(event.getWidth(), event.getHeight());
            Updates.updateJS(Main.this, false);
        }
    });

    modeLabel = new Label("Katselutila");
    modeLabel.setWidth("95px");
    modeLabel.addStyleName("viewMode");

    mode = new Button();
    mode.setDescription("Siirry tiedon sytttilaan");
    mode.setIcon(FontAwesome.EYE);
    mode.addStyleName(ValoTheme.BUTTON_TINY);

    mode.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {

            if ("Siirry tiedon sytttilaan".equals(mode.getDescription())) {

                mode.setDescription("Siirry katselutilaan");
                mode.setIcon(FontAwesome.PENCIL);
                modeLabel.setValue("Sytttila");
                modeLabel.removeStyleName("viewMode");
                modeLabel.addStyleName("editMode");

                UIState s = uiState.duplicate(Main.this);
                s.input = true;
                setFragment(s, true);

            } else {

                mode.setDescription("Siirry tiedon sytttilaan");
                mode.setIcon(FontAwesome.EYE);
                modeLabel.setValue("Katselutila");
                modeLabel.removeStyleName("editMode");
                modeLabel.addStyleName("viewMode");

                UIState s = uiState.duplicate(Main.this);
                s.input = false;
                setFragment(s, true);

            }

        }

    });

    meterMode = new Button();
    meterMode.setDescription("Vaihda toteumamittareihin");
    meterMode.setCaption("Ennuste");
    meterMode.addStyleName(ValoTheme.BUTTON_TINY);

    meterMode.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {

            if ("Vaihda toteumamittareihin".equals(meterMode.getDescription())) {

                meterMode.setDescription("Vaihda ennustemittareihin");
                meterMode.setCaption("Toteuma");

                UIState s = uiState.duplicate(Main.this);
                s.setActualMeters();
                setFragment(s, true);

            } else {

                meterMode.setDescription("Vaihda toteumamittareihin");
                meterMode.setCaption("Ennuste");

                UIState s = uiState.duplicate(Main.this);
                s.setForecastMeters();
                setFragment(s, true);

            }

        }

    });

    pdf = new PDFButton();
    pdf.setDescription("Tallenna kartta PDF-muodossa");
    pdf.setIcon(FontAwesome.PRINT);
    pdf.addStyleName(ValoTheme.BUTTON_TINY);

    pdf.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {

            Utils.print(Main.this);

        }

    });

    propertyExcelButton = new Button();
    propertyExcelButton.setDescription("Tallenna tiedot Excel-tiedostona");
    propertyExcelButton.setIcon(FontAwesome.PRINT);
    propertyExcelButton.addStyleName(ValoTheme.BUTTON_TINY);

    OnDemandFileDownloader dl = new OnDemandFileDownloader(new OnDemandStreamSource() {

        private static final long serialVersionUID = 981769438054780731L;

        File f;
        Date date = new Date();

        @Override
        public InputStream getStream() {

            String uuid = UUID.randomUUID().toString();
            File printing = new File(Main.baseDirectory(), "printing");
            f = new File(printing, uuid + ".xlsx");

            Workbook w = new XSSFWorkbook();
            Sheet sheet = w.createSheet("Sheet1");
            int row = 1;
            for (List<String> cells : propertyCells) {
                Row r = sheet.createRow(row++);
                for (int i = 0; i < cells.size(); i++) {
                    String value = cells.get(i);
                    r.createCell(i).setCellValue(value);
                }
            }

            try {
                FileOutputStream s = new FileOutputStream(f);
                w.write(s);
                s.close();
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                return new FileInputStream(f);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

            throw new IllegalStateException();

        }

        @Override
        public void onRequest() {
        }

        @Override
        public long getFileSize() {
            return f.length();
        }

        @Override
        public String getFileName() {
            return "Strategiakartta_" + Utils.dateString(date) + ".xlsx";
        }

    });

    dl.getResource().setCacheTime(0);
    dl.extend(propertyExcelButton);

    states = new ComboBox();
    states.setWidth("250px");
    states.addStyleName(ValoTheme.COMBOBOX_TINY);
    states.setInvalidAllowed(false);
    states.setNullSelectionAllowed(false);

    states.addValueChangeListener(statesListener);

    saveState = new Button();
    saveState.setEnabled(false);
    saveState.setDescription("Tallenna nykyinen nkym");
    saveState.setIcon(FontAwesome.BOOKMARK);
    saveState.addStyleName(ValoTheme.BUTTON_TINY);
    saveState.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            Utils.saveCurrentState(Main.this);
        }

    });

    class SearchTextField extends TextField {
        public boolean hasFocus = false;
    }

    final SearchTextField search = new SearchTextField();
    search.setWidth("100%");
    search.addStyleName(ValoTheme.TEXTFIELD_TINY);
    search.addStyleName(ValoTheme.TEXTFIELD_BORDERLESS);
    search.setInputPrompt("hae vapaasanahaulla valitun asian alta");
    search.setId("searchTextField");
    search.addShortcutListener(new ShortcutListener("Shortcut Name", ShortcutAction.KeyCode.ENTER, null) {
        @Override
        public void handleAction(Object sender, Object target) {

            if (!search.hasFocus)
                return;

            String text = search.getValue().toLowerCase();
            try {

                Map<String, String> content = new HashMap<String, String>();
                List<String> hits = Lucene.search(database.getDatabaseId(), text + "*");
                for (String uuid : hits) {
                    Base b = database.find(uuid);
                    if (b != null) {
                        String report = "";
                        Map<String, String> map = b.searchMap(database);
                        for (Map.Entry<String, String> e : map.entrySet()) {
                            if (e.getValue().contains(text)) {
                                if (!report.isEmpty())
                                    report += ", ";
                                report += e.getKey();
                            }
                        }
                        if (!report.isEmpty())
                            content.put(uuid, report);
                    }
                }

                uiState.setCurrentFilter(new SearchFilter(Main.this, content));

                Updates.updateJS(Main.this, false);

                switchToBrowser();

            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    });
    search.addFocusListener(new FocusListener() {

        @Override
        public void focus(FocusEvent event) {
            search.hasFocus = true;
        }
    });
    search.addBlurListener(new BlurListener() {

        @Override
        public void blur(BlurEvent event) {
            search.hasFocus = false;
        }
    });

    hallinnoi = new Button("Hallinnoi");
    hallinnoi.setWidthUndefined();
    hallinnoi.setVisible(false);
    hallinnoi.addStyleName(ValoTheme.BUTTON_TINY);
    hallinnoi.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            if (account != null) {
                if (account.isAdmin()) {
                    Utils.manage(Main.this);
                }
            }
        }

    });

    tili = new Button("Kyttjtili");
    tili.setWidthUndefined();
    tili.setVisible(false);
    tili.addStyleName(ValoTheme.BUTTON_TINY);
    tili.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            if (account != null) {
                Utils.modifyAccount(Main.this);
            }
        }

    });

    duplicate = new Button("Avaa ikkunassa");
    duplicate2 = new Button("Avaa alas");

    duplicate.setWidthUndefined();
    duplicate.addStyleName(ValoTheme.BUTTON_TINY);
    duplicate.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {

            MapVis model = js2.getModel();
            if (model == null) {

                UIState s = uiState.duplicate(Main.this);
                s.reference = s.current;

                mapDialog = new Window(s.reference.getText(database), new VerticalLayout());
                mapDialog.setWidth(dialogWidth());
                mapDialog.setHeight(dialogHeight());
                mapDialog.setResizable(true);
                mapDialog.setContent(js2Container);
                mapDialog.setVisible(true);
                mapDialog.setResizeLazy(false);
                mapDialog.addCloseListener(new CloseListener() {

                    @Override
                    public void windowClose(CloseEvent e) {

                        duplicate.setCaption("Avaa ikkunassa");
                        duplicate2.setVisible(true);

                        UIState s = uiState.duplicate(Main.this);
                        mapDialog.close();
                        mapDialog = null;
                        s.reference = null;
                        setFragment(s, true);

                    }

                });
                mapDialog.addResizeListener(new ResizeListener() {

                    @Override
                    public void windowResized(ResizeEvent e) {
                        Updates.updateJS(Main.this, false);
                    }

                });

                setFragment(s, true);

                addWindow(mapDialog);

                duplicate.setCaption("Sulje referenssi");
                duplicate2.setVisible(false);

            } else {

                UIState s = uiState.duplicate(Main.this);
                if (mapDialog != null) {
                    mapDialog.close();
                    mapDialog = null;
                }

                panelLayout.removeComponent(js2Container);

                s.reference = null;
                setFragment(s, true);

                duplicate.setCaption("Avaa ikkunassa");
                duplicate2.setVisible(true);

            }

        }

    });

    duplicate2.setWidthUndefined();
    duplicate2.addStyleName(ValoTheme.BUTTON_TINY);
    duplicate2.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {

            MapVis model = js2.getModel();
            assert (model == null);

            UIState s = uiState.duplicate(Main.this);
            s.reference = s.current;
            setFragment(s, true);

            panelLayout.addComponent(js2Container);

            duplicate.setCaption("Sulje referenssi");
            duplicate2.setVisible(false);

        }

    });

    login = new Button("Kirjaudu");
    login.setWidthUndefined();
    login.addStyleName(ValoTheme.BUTTON_TINY);
    login.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            if (account != null) {
                account = null;
                hallinnoi.setVisible(false);
                tili.setVisible(false);
                Updates.update(Main.this, true);
                login.setCaption("Kirjaudu");
            } else {
                Login.login(Main.this);
            }
        }

    });

    times = new ComboBox();
    times.setWidth("130px");
    times.addStyleName(ValoTheme.COMBOBOX_SMALL);
    times.addItem(Property.AIKAVALI_KAIKKI);
    times.addItem("2016");
    times.addItem("2017");
    times.addItem("2018");
    times.addItem("2019");
    times.select("2016");
    times.setInvalidAllowed(false);
    times.setNullSelectionAllowed(false);

    times.addValueChangeListener(timesListener);

    final HorizontalLayout hl0 = new HorizontalLayout();
    hl0.setWidth("100%");
    hl0.setHeight("32px");
    hl0.setSpacing(true);

    hl0.addComponent(pdf);
    hl0.setComponentAlignment(pdf, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(pdf, 0.0f);

    hl0.addComponent(propertyExcelButton);
    hl0.setComponentAlignment(propertyExcelButton, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(propertyExcelButton, 0.0f);

    hl0.addComponent(states);
    hl0.setComponentAlignment(states, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(states, 0.0f);

    hl0.addComponent(saveState);
    hl0.setComponentAlignment(saveState, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(saveState, 0.0f);

    hl0.addComponent(times);
    hl0.setComponentAlignment(times, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(times, 0.0f);

    hl0.addComponent(search);
    hl0.setComponentAlignment(search, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(search, 1.0f);

    hl0.addComponent(modeLabel);
    hl0.setComponentAlignment(modeLabel, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(modeLabel, 0.0f);

    hl0.addComponent(mode);
    hl0.setComponentAlignment(mode, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(mode, 0.0f);

    hl0.addComponent(meterMode);
    hl0.setComponentAlignment(meterMode, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(meterMode, 0.0f);

    hl0.addComponent(hallinnoi);
    hl0.setComponentAlignment(hallinnoi, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(hallinnoi, 0.0f);

    hl0.addComponent(tili);
    hl0.setComponentAlignment(tili, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(tili, 0.0f);

    hl0.addComponent(duplicate);
    hl0.setComponentAlignment(duplicate, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(duplicate, 0.0f);

    hl0.addComponent(duplicate2);
    hl0.setComponentAlignment(duplicate2, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(duplicate2, 0.0f);

    hl0.addComponent(login);
    hl0.setComponentAlignment(login, Alignment.MIDDLE_LEFT);
    hl0.setExpandRatio(login, 0.0f);

    propertiesPanel = new Panel();
    propertiesPanel.setSizeFull();

    properties = new VerticalLayout();
    properties.setSpacing(true);
    properties.setMargin(true);

    propertiesPanel.setContent(properties);
    propertiesPanel.setVisible(false);

    tags = new VerticalLayout();
    tags.setSpacing(true);
    Updates.updateTags(this);

    AbsoluteLayout tabs = new AbsoluteLayout();
    tabs.setSizeFull();

    {
        panel = new Panel();
        panel.addStyleName(ValoTheme.PANEL_BORDERLESS);
        panel.setSizeFull();
        panel.setId("mapContainer1");
        panelLayout = new VerticalLayout();
        panelLayout.addComponent(js);
        panelLayout.setHeight("100%");

        js2Container = new VerticalLayout();
        js2Container.setHeight("100%");
        js2Container.addComponent(new Label("<hr />", ContentMode.HTML));
        js2Container.addComponent(js2);

        panel.setContent(panelLayout);
        tabs.addComponent(panel);
    }

    wiki = new BrowserFrame();
    wiki.setSource(new ExternalResource(Wiki.wikiAddress() + "/"));
    wiki.setWidth("100%");
    wiki.setHeight("100%");

    {

        wiki_ = new VerticalLayout();
        wiki_.setSizeFull();
        Button b = new Button("Palaa sovellukseen");
        b.setWidth("100%");
        b.addClickListener(new ClickListener() {
            @Override
            public void buttonClick(ClickEvent event) {
                applyFragment(backFragment, true);
                String content = Wiki.get(wikiPage);
                if (content == null)
                    return;
                int first = content.indexOf("<rev contentformat");
                if (first == -1)
                    return;
                content = content.substring(first);
                int term = content.indexOf(">");
                content = content.substring(term + 1);
                int end = content.indexOf("</rev>");
                content = content.substring(0, end);
                if (wikiBase.modifyMarkup(Main.this, content)) {
                    Updates.update(Main.this, true);
                }
            }
        });
        wiki_.addComponent(b);
        wiki_.addComponent(wiki);
        wiki_.setVisible(false);

        wiki_.setExpandRatio(b, 0.0f);
        wiki_.setExpandRatio(wiki, 1.0f);

        tabs.addComponent(wiki_);

    }

    hs = new HorizontalSplitPanel();
    hs.setSplitPosition(0, Unit.PIXELS);
    hs.setHeight("100%");
    hs.setWidth("100%");

    browser = new VerticalLayout();
    browser.setSizeFull();

    HorizontalLayout browserWidgets = new HorizontalLayout();
    browserWidgets.setWidth("100%");

    hori = new Button();
    hori.setDescription("Nyt asiat taulukkona");
    hori.setEnabled(true);
    hori.setIcon(FontAwesome.ARROW_RIGHT);
    hori.addStyleName(ValoTheme.BUTTON_TINY);
    hori.addClickListener(new ClickListener() {

        boolean right = false;

        @Override
        public void buttonClick(ClickEvent event) {
            if (right) {
                hs.setSplitPosition(0, Unit.PIXELS);
                hori.setIcon(FontAwesome.ARROW_RIGHT);
                hori.setDescription("Nyt asiat taulukkona");
                right = false;
            } else {
                hs.setSplitPosition(windowWidth / 2, Unit.PIXELS);
                hori.setIcon(FontAwesome.ARROW_LEFT);
                hori.setDescription("Piilota taulukko");
                right = true;
            }
        }

    });

    more = new Button();
    more.setDescription("Laajenna nytettvien asioiden joukkoa");
    more.setIcon(FontAwesome.PLUS_SQUARE);
    more.addStyleName(ValoTheme.BUTTON_TINY);
    more.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            uiState.level++;
            Updates.updateJS(Main.this, false);
            if (uiState.level >= 2)
                less.setEnabled(true);
        }

    });

    less = new Button();
    less.setDescription("Supista nytettvien asioiden joukkoa");
    less.setIcon(FontAwesome.MINUS_SQUARE);
    less.addStyleName(ValoTheme.BUTTON_TINY);
    less.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            if (uiState.level > 1) {
                uiState.level--;
                Updates.updateJS(Main.this, false);
            }
            if (uiState.level <= 1)
                less.setEnabled(false);
        }

    });

    reportAllButton = new Button();
    reportAllButton.setCaption("Nkyvt tulokset");
    reportAllButton.addStyleName(ValoTheme.BUTTON_TINY);
    reportAllButton.addClickListener(new ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            if (uiState.reportAll) {
                reportAllButton.setCaption("Nkyvt tulokset");
                uiState.reportAll = false;
            } else {
                reportAllButton.setCaption("Kaikki tulokset");
                uiState.reportAll = true;
            }
            Updates.updateJS(Main.this, false);
        }

    });

    reportStatus = new Label("0 tulosta.");
    reportStatus.setWidth("100px");

    filter = new ComboBox();
    filter.setWidth("100%");
    filter.addStyleName(ValoTheme.COMBOBOX_SMALL);
    filter.setInvalidAllowed(false);
    filter.setNullSelectionAllowed(false);

    filter.addValueChangeListener(filterListener);

    browserWidgets.addComponent(hori);
    browserWidgets.setComponentAlignment(hori, Alignment.MIDDLE_LEFT);
    browserWidgets.setExpandRatio(hori, 0.0f);

    browserWidgets.addComponent(more);
    browserWidgets.setComponentAlignment(more, Alignment.MIDDLE_LEFT);
    browserWidgets.setExpandRatio(more, 0.0f);

    browserWidgets.addComponent(less);
    browserWidgets.setComponentAlignment(less, Alignment.MIDDLE_LEFT);
    browserWidgets.setExpandRatio(less, 0.0f);

    browserWidgets.addComponent(reportAllButton);
    browserWidgets.setComponentAlignment(reportAllButton, Alignment.MIDDLE_LEFT);
    browserWidgets.setExpandRatio(reportAllButton, 0.0f);

    browserWidgets.addComponent(reportStatus);
    browserWidgets.setComponentAlignment(reportStatus, Alignment.MIDDLE_LEFT);
    browserWidgets.setExpandRatio(reportStatus, 0.0f);

    browserWidgets.addComponent(filter);
    browserWidgets.setComponentAlignment(filter, Alignment.MIDDLE_LEFT);
    browserWidgets.setExpandRatio(filter, 1.0f);

    browser.addComponent(browserWidgets);
    browser.addComponent(hs);

    browser.setExpandRatio(browserWidgets, 0.0f);
    browser.setExpandRatio(hs, 1.0f);

    browser.setVisible(false);

    tabs.addComponent(browser);

    {
        gridPanelLayout = new VerticalLayout();
        gridPanelLayout.setMargin(false);
        gridPanelLayout.setSpacing(false);
        gridPanelLayout.setSizeFull();
        hs.addComponent(gridPanelLayout);
    }

    CssLayout browserLayout = new CssLayout();

    browserLayout.setSizeFull();

    browserLayout.addComponent(browser_);

    hs.addComponent(browserLayout);

    tabs.addComponent(propertiesPanel);

    vs.addComponent(hl0);
    vs.addComponent(tabs);

    vs.setExpandRatio(hl0, 0.0f);
    vs.setExpandRatio(tabs, 1.0f);

    // Ground state
    fragments.put("", uiState);

    setCurrentItem(uiState.currentItem, (Strategiakartta) uiState.currentItem);

}

From source file:fi.semantum.strategia.Updates.java

License:Open Source License

private static void updateQueryGrid(final Main main, final FilterState state) {

    main.gridPanelLayout.removeAllComponents();
    main.gridPanelLayout.setMargin(false);

    final List<String> keys = state.reportColumns;
    if (keys.isEmpty()) {
        Label l = new Label("Kysely ei tuottanut yhtn tulosta.");
        l.addStyleName(ValoTheme.LABEL_BOLD);
        l.addStyleName(ValoTheme.LABEL_HUGE);
        main.gridPanelLayout.addComponent(l);
        return;/*from w w  w .j  av  a2 s  .  co m*/
    }

    final IndexedContainer container = new IndexedContainer();

    for (String key : keys) {
        container.addContainerProperty(key, String.class, "");
    }

    rows: for (Map<String, ReportCell> map : state.report) {
        Object item = container.addItem();
        for (String key : keys)
            if (map.get(key) == null)
                continue rows;

        for (Map.Entry<String, ReportCell> entry : map.entrySet()) {
            @SuppressWarnings("unchecked")
            com.vaadin.data.Property<String> p = container.getContainerProperty(item, entry.getKey());
            p.setValue(entry.getValue().get());
        }

    }

    HorizontalLayout hl = new HorizontalLayout();
    hl.setWidth("100%");

    final TextField filter = new TextField();
    filter.addStyleName(ValoTheme.TEXTFIELD_TINY);
    filter.setInputPrompt("rajaa hakutuloksia - kirjoitetun sanan tulee lyty rivin teksteist");
    filter.setWidth("100%");

    final Image clipboard = new Image();
    clipboard.setSource(new ThemeResource("page_white_excel.png"));
    clipboard.setHeight("24px");
    clipboard.setWidth("24px");

    hl.addComponent(filter);
    hl.setExpandRatio(filter, 1.0f);
    hl.setComponentAlignment(filter, Alignment.BOTTOM_CENTER);
    hl.addComponent(clipboard);
    hl.setComponentAlignment(clipboard, Alignment.BOTTOM_CENTER);
    hl.setExpandRatio(clipboard, 0.0f);

    main.gridPanelLayout.addComponent(hl);
    main.gridPanelLayout.setExpandRatio(hl, 0f);

    filter.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 3033918399018888150L;

        @Override
        public void valueChange(ValueChangeEvent event) {
            container.removeAllContainerFilters();
            container.addContainerFilter(new QueryFilter(filter.getValue(), true, false));
        }
    });

    AbsoluteLayout abs = new AbsoluteLayout();
    abs.setSizeFull();

    final Grid queryGrid = new Grid(container);
    queryGrid.setSelectionMode(SelectionMode.NONE);
    queryGrid.setHeightMode(HeightMode.CSS);
    queryGrid.setHeight("100%");
    queryGrid.setWidth("100%");

    for (String key : keys) {
        Column col = queryGrid.getColumn(key);
        col.setExpandRatio(1);
    }

    abs.addComponent(queryGrid);

    OnDemandFileDownloader dl = new OnDemandFileDownloader(new OnDemandStreamSource() {

        private static final long serialVersionUID = 981769438054780731L;

        File f;
        Date date = new Date();

        @Override
        public InputStream getStream() {

            String uuid = UUID.randomUUID().toString();
            File printing = new File(Main.baseDirectory(), "printing");
            f = new File(printing, uuid + ".xlsx");

            Workbook w = new XSSFWorkbook();
            Sheet sheet = w.createSheet("Sheet1");
            Row header = sheet.createRow(0);
            for (int i = 0; i < keys.size(); i++) {
                Cell cell = header.createCell(i);
                cell.setCellValue(keys.get(i));
            }

            int row = 1;
            rows: for (Map<String, ReportCell> map : state.report) {
                for (String key : keys)
                    if (map.get(key) == null)
                        continue rows;

                Row r = sheet.createRow(row++);
                int column = 0;
                for (int i = 0; i < keys.size(); i++) {
                    Cell cell = r.createCell(column++);
                    ReportCell rc = map.get(keys.get(i));
                    cell.setCellValue(rc.getLong());
                }

            }

            try {
                FileOutputStream s = new FileOutputStream(f);
                w.write(s);
                s.close();
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                return new FileInputStream(f);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

            throw new IllegalStateException();

        }

        @Override
        public void onRequest() {
            // TODO Auto-generated method stub

        }

        @Override
        public long getFileSize() {
            return f.length();
        }

        @Override
        public String getFileName() {
            return "Strategiakartta_" + Utils.dateString(date) + ".xlsx";
        }

    });

    dl.getResource().setCacheTime(0);
    dl.extend(clipboard);

    main.gridPanelLayout.addComponent(abs);
    main.gridPanelLayout.setExpandRatio(abs, 1f);

}

From source file:fi.semantum.strategia.Utils.java

License:Open Source License

public static void manage(final Main main) {

    final Database database = main.getDatabase();

    VerticalLayout content = new VerticalLayout();
    content.setSizeFull();/*from   w w w  .j a  v a2  s . c  om*/
    content.setSpacing(true);

    HorizontalLayout hl1 = new HorizontalLayout();
    hl1.setSpacing(true);
    hl1.setWidth("100%");

    final ComboBox users = new ComboBox();
    users.setWidth("100%");
    users.setNullSelectionAllowed(false);
    users.addStyleName(ValoTheme.COMBOBOX_SMALL);
    users.setCaption("Valitse kyttj:");

    final Map<String, Account> accountMap = new HashMap<String, Account>();
    makeAccountCombo(main, accountMap, users);

    for (Account a : Account.enumerate(database)) {
        accountMap.put(a.getId(database), a);
        users.addItem(a.getId(database));
        users.select(a.getId(database));
    }

    final Table table = new Table();
    table.setSelectable(true);
    table.setMultiSelect(true);
    table.addStyleName(ValoTheme.TABLE_SMALL);
    table.addStyleName(ValoTheme.TABLE_SMALL);
    table.addStyleName(ValoTheme.TABLE_COMPACT);

    users.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 5036991262418844060L;

        @Override
        public void valueChange(ValueChangeEvent event) {
            users.removeValueChangeListener(this);
            makeAccountCombo(main, accountMap, users);
            makeAccountTable(database, users, accountMap, table);
            users.addValueChangeListener(this);
        }

    });

    final TextField tf = new TextField();

    Validator nameValidator = new Validator() {

        private static final long serialVersionUID = -4779239111120669168L;

        @Override
        public void validate(Object value) throws InvalidValueException {
            String s = (String) value;
            if (s.isEmpty())
                throw new InvalidValueException("Nimi ei saa olla tyhj");
            if (accountMap.containsKey(s))
                throw new InvalidValueException("Nimi on jo kytss");
        }

    };

    final Button save = new Button("Luo", new Button.ClickListener() {

        private static final long serialVersionUID = -6053708137324681886L;

        public void buttonClick(ClickEvent event) {

            if (!tf.isValid())
                return;

            String pass = Long.toString(Math.abs(UUID.randomUUID().getLeastSignificantBits()), 36);
            Account.create(database, tf.getValue(), "", Utils.hash(pass));

            Updates.update(main, true);

            makeAccountCombo(main, accountMap, users);
            makeAccountTable(database, users, accountMap, table);

            Dialogs.infoDialog(main, "Uusi kyttj '" + tf.getValue() + "' luotu",
                    "Kyttjn salasana on " + pass + "", null);

        }

    });
    save.addStyleName(ValoTheme.BUTTON_SMALL);

    final Button remove = new Button("Poista", new Button.ClickListener() {

        private static final long serialVersionUID = -5359199320445328801L;

        public void buttonClick(ClickEvent event) {

            Object selection = users.getValue();
            Account state = accountMap.get(selection);

            // System cannot be removed
            if ("System".equals(state.getId(database)))
                return;

            state.remove(database);

            Updates.update(main, true);

            makeAccountCombo(main, accountMap, users);
            makeAccountTable(database, users, accountMap, table);

        }

    });
    remove.addStyleName(ValoTheme.BUTTON_SMALL);

    tf.setWidth("100%");
    tf.addStyleName(ValoTheme.TEXTFIELD_SMALL);
    tf.setCaption("Luo uusi kyttj nimell:");
    tf.setValue(findFreshUserName(nameValidator));
    tf.setCursorPosition(tf.getValue().length());
    tf.setValidationVisible(true);
    tf.setInvalidCommitted(true);
    tf.setImmediate(true);
    tf.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = -8274588731607481635L;

        @Override
        public void textChange(TextChangeEvent event) {
            tf.setValue(event.getText());
            try {
                tf.validate();
            } catch (InvalidValueException e) {
                save.setEnabled(false);
                return;
            }
            save.setEnabled(true);
        }

    });
    tf.addValidator(nameValidator);
    if (!tf.isValid())
        save.setEnabled(false);

    hl1.addComponent(users);
    hl1.setExpandRatio(users, 1.0f);
    hl1.setComponentAlignment(users, Alignment.BOTTOM_CENTER);

    hl1.addComponent(tf);
    hl1.setExpandRatio(tf, 1.0f);
    hl1.setComponentAlignment(tf, Alignment.BOTTOM_CENTER);

    hl1.addComponent(save);
    hl1.setExpandRatio(save, 0.0f);
    hl1.setComponentAlignment(save, Alignment.BOTTOM_CENTER);

    hl1.addComponent(remove);
    hl1.setExpandRatio(remove, 0.0f);
    hl1.setComponentAlignment(remove, Alignment.BOTTOM_CENTER);

    content.addComponent(hl1);
    content.setExpandRatio(hl1, 0.0f);

    table.addContainerProperty("Kartta", String.class, null);
    table.addContainerProperty("Oikeus", String.class, null);
    table.addContainerProperty("Laajuus", String.class, null);

    table.setWidth("100%");
    table.setHeight("100%");
    table.setNullSelectionAllowed(true);
    table.setMultiSelect(true);
    table.setCaption("Kyttjn oikeudet");

    makeAccountTable(database, users, accountMap, table);

    content.addComponent(table);
    content.setExpandRatio(table, 1.0f);

    final Button removeRights = new Button("Poista valitut rivit", new Button.ClickListener() {

        private static final long serialVersionUID = 4699670345358079045L;

        public void buttonClick(ClickEvent event) {

            Object user = users.getValue();
            Account state = accountMap.get(user);

            Object selection = table.getValue();
            Collection<?> sel = (Collection<?>) selection;

            List<Right> toRemove = new ArrayList<Right>();

            for (Object s : sel) {
                Integer index = (Integer) s;
                toRemove.add(state.rights.get(index - 1));
            }

            for (Right r : toRemove)
                state.rights.remove(r);

            Updates.update(main, true);

            makeAccountTable(database, users, accountMap, table);

        }

    });
    removeRights.addStyleName(ValoTheme.BUTTON_SMALL);

    table.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 1188285609779556446L;

        @Override
        public void valueChange(ValueChangeEvent event) {

            Object selection = table.getValue();
            Collection<?> sel = (Collection<?>) selection;
            if (sel.isEmpty())
                removeRights.setEnabled(false);
            else
                removeRights.setEnabled(true);

        }

    });

    final ComboBox mapSelect = new ComboBox();
    mapSelect.setWidth("100%");
    mapSelect.setNullSelectionAllowed(false);
    mapSelect.addStyleName(ValoTheme.COMBOBOX_SMALL);
    mapSelect.setCaption("Valitse kartta:");
    for (Strategiakartta a : Strategiakartta.enumerate(database)) {
        mapSelect.addItem(a.uuid);
        mapSelect.setItemCaption(a.uuid, a.getText(database));
        mapSelect.select(a.uuid);
    }

    final ComboBox rightSelect = new ComboBox();
    rightSelect.setWidth("100px");
    rightSelect.setNullSelectionAllowed(false);
    rightSelect.addStyleName(ValoTheme.COMBOBOX_SMALL);
    rightSelect.setCaption("Valitse oikeus:");
    rightSelect.addItem("Muokkaus");
    rightSelect.addItem("Luku");
    rightSelect.select("Luku");

    final ComboBox propagateSelect = new ComboBox();
    propagateSelect.setWidth("130px");
    propagateSelect.setNullSelectionAllowed(false);
    propagateSelect.addStyleName(ValoTheme.COMBOBOX_SMALL);
    propagateSelect.setCaption("Valitse laajuus:");
    propagateSelect.addItem(VALITTU_KARTTA);
    propagateSelect.addItem(ALATASON_KARTAT);
    propagateSelect.select(VALITTU_KARTTA);

    final Button addRight = new Button("Lis rivi", new Button.ClickListener() {

        private static final long serialVersionUID = -4841787792917761055L;

        public void buttonClick(ClickEvent event) {

            Object user = users.getValue();
            Account state = accountMap.get(user);

            String mapUUID = (String) mapSelect.getValue();
            Strategiakartta map = database.find(mapUUID);
            String right = (String) rightSelect.getValue();
            String propagate = (String) propagateSelect.getValue();

            Right r = new Right(map, right.equals("Muokkaus"), propagate.equals(ALATASON_KARTAT));
            state.rights.add(r);

            Updates.update(main, true);

            makeAccountTable(database, users, accountMap, table);

        }

    });
    addRight.addStyleName(ValoTheme.BUTTON_SMALL);

    table.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 6439090862804667322L;

        @Override
        public void valueChange(ValueChangeEvent event) {

            Object selection = table.getValue();
            Collection<?> selected = (Collection<?>) selection;
            if (!selected.isEmpty()) {
                removeRights.setEnabled(true);
            } else {
                removeRights.setEnabled(false);
            }

        }

    });

    HorizontalLayout hl2 = new HorizontalLayout();
    hl2.setSpacing(true);
    hl2.setWidth("100%");

    hl2.addComponent(removeRights);
    hl2.setComponentAlignment(removeRights, Alignment.TOP_LEFT);
    hl2.setExpandRatio(removeRights, 0.0f);

    hl2.addComponent(addRight);
    hl2.setComponentAlignment(addRight, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(addRight, 0.0f);

    hl2.addComponent(mapSelect);
    hl2.setComponentAlignment(mapSelect, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(mapSelect, 1.0f);

    hl2.addComponent(rightSelect);
    hl2.setComponentAlignment(rightSelect, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(rightSelect, 0.0f);

    hl2.addComponent(propagateSelect);
    hl2.setComponentAlignment(propagateSelect, Alignment.BOTTOM_LEFT);
    hl2.setExpandRatio(propagateSelect, 0.0f);

    content.addComponent(hl2);
    content.setComponentAlignment(hl2, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(hl2, 0.0f);

    final VerticalLayout vl = new VerticalLayout();

    final Panel p = new Panel();
    p.setWidth("100%");
    p.setHeight("200px");
    p.setContent(vl);

    final TimeConfiguration tc = TimeConfiguration.getInstance(database);

    final TextField tf2 = new TextField();
    tf2.setWidth("200px");
    tf2.addStyleName(ValoTheme.TEXTFIELD_SMALL);
    tf2.setCaption("Strategiakartan mritysaika:");
    tf2.setValue(tc.getRange());
    tf2.setCursorPosition(tf.getValue().length());
    tf2.setValidationVisible(true);
    tf2.setInvalidCommitted(true);
    tf2.setImmediate(true);
    tf2.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = -8274588731607481635L;

        @Override
        public void textChange(TextChangeEvent event) {
            tf2.setValue(event.getText());
            try {
                tf2.validate();
                tc.setRange(event.getText());
                updateYears(database, vl);
                Updates.update(main, true);
            } catch (InvalidValueException e) {
                return;
            }
        }

    });
    tf2.addValidator(new Validator() {

        private static final long serialVersionUID = -4779239111120669168L;

        @Override
        public void validate(Object value) throws InvalidValueException {
            String s = (String) value;
            TimeInterval ti = TimeInterval.parse(s);
            long start = ti.startYear;
            long end = ti.endYear;
            if (start < 2015)
                throw new InvalidValueException("Alkuvuosi ei voi olla aikaisempi kuin 2015.");
            if (end > 2025)
                throw new InvalidValueException("Pttymisvuosi ei voi olla myhisempi kuin 2025.");
            if (end - start > 9)
                throw new InvalidValueException("Strategiakartta ei tue yli 10 vuoden tarkasteluja.");
        }

    });

    content.addComponent(tf2);
    content.setComponentAlignment(tf2, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(tf2, 0.0f);

    updateYears(database, vl);

    content.addComponent(p);
    content.setComponentAlignment(p, Alignment.BOTTOM_LEFT);
    content.setExpandRatio(p, 0.0f);

    HorizontalLayout buttons = new HorizontalLayout();
    buttons.setSpacing(true);
    buttons.setMargin(false);

    Dialogs.makeDialog(main, main.dialogWidth(), main.dialogHeight(0.8), "Hallinnoi strategiakarttaa", "Sulje",
            content, buttons);

}