Example usage for com.vaadin.ui Link setIcon

List of usage examples for com.vaadin.ui Link setIcon

Introduction

In this page you can find the example usage for com.vaadin.ui Link setIcon.

Prototype

@Override
public void setIcon(Resource icon) 

Source Link

Document

Sets the component's icon.

Usage

From source file:de.metas.procurement.webui.ui.view.LoginView.java

License:Open Source License

public LoginView() {
    super();//from  w  ww .  j  av  a  2s .c  o m
    Application.autowire(this);

    addStyleName(STYLE);

    //
    // Content
    {
        final VerticalComponentGroup content = new VerticalComponentGroup();

        final Resource logoResource = getLogoResource();
        final Image logo = new Image(null, logoResource);
        logo.addStyleName(STYLE_Logo);
        content.addComponent(logo);

        this.email = new EmailField(i18n.get("LoginView.fields.email"));
        email.addStyleName(STYLE_LoginEmail);
        email.setIcon(FontAwesome.USER);
        content.addComponent(email);

        this.password = new PasswordField(i18n.get("LoginView.fields.password"));
        password.addStyleName(STYLE_LoginPassword);
        password.setIcon(FontAwesome.LOCK);
        content.addComponent(password);

        final Button loginButton = new Button(i18n.get("LoginView.fields.loginButton"));
        loginButton.addStyleName(STYLE_LoginButton);
        loginButton.setClickShortcut(KeyCode.ENTER);
        loginButton.addClickListener(new Button.ClickListener() {
            @Override
            public void buttonClick(final ClickEvent event) {
                onUserLogin(email.getValue(), password.getValue());
            }
        });

        final Button forgotPasswordButton = new Button(i18n.get("LoginView.fields.forgotPasswordButton"));
        forgotPasswordButton.setStyleName(STYLE_ForgotPasswordButton);
        forgotPasswordButton.addClickListener(new Button.ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                onForgotPassword(email.getValue());
            }
        });

        final CssLayout contentWrapper = new CssLayout(content, loginButton, forgotPasswordButton);
        contentWrapper.addStyleName(STYLE_LoginFormWrapper);
        setContent(contentWrapper);
    }

    //
    // Bottom:
    {
        //
        // Powered-by logo resource
        // Use the configured one if any; fallback to default embedded powered-by logo
        final Resource poweredByLogoResource;
        if (poweredByLogoUrl != null && !poweredByLogoUrl.trim().isEmpty()) {
            poweredByLogoResource = new ExternalResource(poweredByLogoUrl.trim());
        } else {
            poweredByLogoResource = Constants.RESOURCE_PoweredBy;
        }

        //
        // Powered-by component:
        final Component poweredByComponent;
        if (poweredByLinkUrl != null && !poweredByLinkUrl.trim().isEmpty()) {
            final Link link = new Link();
            link.setIcon(poweredByLogoResource);
            link.setResource(new ExternalResource(poweredByLinkUrl.trim()));
            link.setTargetName("_blank");
            poweredByComponent = link;
        } else {
            final Image image = new Image(null, poweredByLogoResource);
            poweredByComponent = image;
        }
        //
        poweredByComponent.addStyleName(STYLE_PoweredBy);
        setToolbar(poweredByComponent);
    }
}

From source file:de.symeda.sormas.ui.SubMenu.java

License:Open Source License

public void addView(final String name, String caption, String params, boolean isBackNavigation) {
    String target = "#!" + name + (params != null ? "/" + params : "");

    CssLayout tabItemCell = new CssLayout();
    tabItemCell.setSizeUndefined();// www .  j a  va 2 s. co  m
    tabItemCell.setPrimaryStyleName("v-tabsheet-tabitemcell");

    CssLayout tabItem = new CssLayout();
    tabItem.setSizeUndefined();
    tabItem.setPrimaryStyleName("v-tabsheet-tabitem");
    if (isBackNavigation) {
        tabItem.addStyleName("back");
    }
    tabItemCell.addComponent(tabItem);

    Link link = new Link(caption, new ExternalResource(target));
    link.addStyleName("v-caption");
    if (isBackNavigation)
        link.setIcon(VaadinIcons.ARROW_CIRCLE_LEFT);
    tabItem.addComponent(link);

    menuItemsLayout.addComponent(tabItemCell);
    viewMenuItemMap.put(name, tabItem);
}

From source file:de.uni_tuebingen.qbic.qbicmainportlet.QbicmainportletUI.java

License:Open Source License

/**
 * builds page if user is not logged in/*  w  ww.  j  a  v a  2 s .co  m*/
 */
private void buildNotLoggedinLayout() {
    // Mail to qbic
    ExternalResource resource = new ExternalResource("mailto:info@qbic.uni-tuebingen.de");
    Link mailToQbicLink = new Link("", resource);
    mailToQbicLink.setIcon(new ThemeResource("mail9.png"));

    ThemeDisplay themedisplay = (ThemeDisplay) VaadinService.getCurrentRequest()
            .getAttribute(WebKeys.THEME_DISPLAY);

    // redirect to liferay login page
    Link loginPortalLink = new Link("", new ExternalResource(themedisplay.getURLSignIn()));
    loginPortalLink.setIcon(new ThemeResource("lock12.png"));

    // left part of the page
    VerticalLayout signIn = new VerticalLayout();
    signIn.addComponent(
            new Label("<h3>Sign in to manage your projects and access your data:</h3>", ContentMode.HTML));
    signIn.addComponent(loginPortalLink);
    signIn.setStyleName("no-user-login");
    // right part of the page
    VerticalLayout contact = new VerticalLayout();
    contact.addComponent(
            new Label("<h3>If you are interested in doing projects get in contact:</h3>", ContentMode.HTML));
    contact.addComponent(mailToQbicLink);
    contact.setStyleName("no-user-login");

    // build final layout, with some gaps between
    HorizontalLayout notSignedInLayout = new HorizontalLayout();
    Label expandingGap1 = new Label();
    expandingGap1.setWidth("100%");
    notSignedInLayout.addComponent(expandingGap1);
    notSignedInLayout.addComponent(signIn);

    notSignedInLayout.addComponent(contact);
    notSignedInLayout.setExpandRatio(expandingGap1, 0.16f);
    notSignedInLayout.setExpandRatio(signIn, 0.36f);

    notSignedInLayout.setExpandRatio(contact, 0.36f);

    notSignedInLayout.setWidth("100%");
    notSignedInLayout.setSpacing(true);
    setContent(notSignedInLayout);
}

From source file:edu.cornell.qatarmed.planrnaseq.BrowseAndAnnotate.java

private void initDataAndSubcomponent() {
    //<editor-fold defaultstate="collapsed" desc="populating project/study summary table">      

    rnaseqContainer = createMySQLContainer("study_summary", "dummy");
    bioprojectSummaryTable.setContainerDataSource(rnaseqContainer);
    //   bioprojectSummaryTable.setVisibleColumns(new String[] { studyName });
    bioprojectSummaryTable.setCurrentPageFirstItemIndex(300);
    bioprojectSummaryTable.setSelectable(true);
    bioprojectSummaryTable.setImmediate(true);
    bioprojectSummaryTable.setColumnReorderingAllowed(true);
    bioprojectSummaryTable.setSortEnabled(true);
    bioprojectSummaryTable.setVisibleColumns(
            new Object[] { "Study", "title", "Numsample", "Numexp", "Numrun", "Avgspots", "avgbases", "name" });
    //bioprojectSummaryTable.setVisibleColumns(new Object[] { "firstName", "lastName", "department", "phoneNumber", "street", "city", "zipCode" });
    studyName.setValue(rnaseqContainer.firstItemId().toString());

    bioprojectSummaryTable.setCellStyleGenerator(new Table.CellStyleGenerator() {
        @Override/*w  w  w  . j a v  a2s .com*/
        public String getStyle(Table table, Object itemId, Object propertyId) {
            String mynullreturn = "";
            if (propertyId == null) {
                // Styling for row
                //  Item item = bioprojectSummaryTable.getItem(itemId);
                Item item = table.getItem(itemId);

                String annotatus_status = "";

                if (item == null) { // checking this is important in lazy loading table. Otherwise it produces null pointer exception while scrolling down the table.
                    // System.out.println("It's null");
                    return mynullreturn;
                } else {
                    if (item.getItemProperty("annotation_status").getValue() != null) {
                        annotatus_status = (String) item.getItemProperty("annotation_status").getValue();
                    }
                }

                //               String   annotatus_status =  (String) item.getItemProperty("annotation_status").getValue();
                if (annotatus_status.toLowerCase().startsWith("ongoing")) {
                    // System.out.println(annotatus_status);
                    return "highlight-orange";
                } else if (annotatus_status.toLowerCase().startsWith("completed")) {
                    return "highlight-green";
                } else {
                    return mynullreturn;
                }

            } else {
                // styling for column propertyId
                return mynullreturn;
            }

        }
    });
    //</editor-fold>
    //<editor-fold defaultstate="collapsed" desc="Upon clicking any project from the project/study summary table">

    bioprojectSummaryTable.addItemClickListener(new ItemClickEvent.ItemClickListener() {

        int custom_annotation_counter = 0;

        public void itemClick(ItemClickEvent event) {
            rightTopTabsheet.setSelectedTab(rightTopForm);
            //<editor-fold defaultstate="collapsed" desc="filling study details on right panel">

            Object selectedStudyObject = event.getItemId();
            bioprojectSummaryTable.select(selectedStudyObject);
            tree.removeAllItems();
            rightTopForm.removeAllComponents();
            rightTopAnnotationForm.removeAllComponents();
            myform.removeAllComponents();

            String selectedStudy = selectedStudyObject.toString();
            String studyTitle = (String) bioprojectSummaryTable
                    .getContainerProperty(selectedStudyObject, "title").getValue();
            String studyName = (String) bioprojectSummaryTable.getContainerProperty(selectedStudyObject, "name")
                    .getValue();
            String studyNumsample = String.valueOf(
                    bioprojectSummaryTable.getContainerProperty(selectedStudyObject, "Numsample").getValue());
            String studyNumexp = String.valueOf(
                    bioprojectSummaryTable.getContainerProperty(selectedStudyObject, "Numexp").getValue());
            String studyNumrun = String.valueOf(
                    bioprojectSummaryTable.getContainerProperty(selectedStudyObject, "Numrun").getValue());
            String studyAvgspots = String.valueOf(
                    bioprojectSummaryTable.getContainerProperty(selectedStudyObject, "Avgspots").getValue());
            String studyAvgbases = String.valueOf(
                    bioprojectSummaryTable.getContainerProperty(selectedStudyObject, "avgbases").getValue());
            tree.addItem(selectedStudy);
            tree.setItemCaption(selectedStudy, "Study: " + selectedStudy);
            SQLContainer tempContainer = createMySQLContainer("study_extdb", selectedStudy); // In this table I will chaeck for the manual annotation status
            String extdbid = tempContainer.getItem(tempContainer.getIdByIndex(0)).getItemProperty("extdb")
                    .getValue().toString();

            HorizontalLayout studyAccLinkLayout = new HorizontalLayout();
            Label labelStudyAcc = new Label(
                    "<b>SRA Study Accession : </b>" + selectedStudy + "&nbsp;&nbsp;&nbsp;&nbsp;",
                    ContentMode.HTML);
            String ncbi_sra_study_link = "http://www.ncbi.nlm.nih.gov/Traces/sra/?study=" + selectedStudy;
            Link link = new Link("NCBI SRA Link", new ExternalResource(ncbi_sra_study_link));
            // Open the URL in a new window/tab
            link.setTargetName("_blank");
            // Indicate visually that it opens in a new window/tab
            link.setIcon(new ThemeResource("icons/external-link.png"));
            link.addStyleName("icon-after-caption");
            studyAccLinkLayout.addComponent(labelStudyAcc);
            studyAccLinkLayout.addComponent(link);
            rightTopForm.addComponent(studyAccLinkLayout);
            Label labelStudyTitle = new Label("<b>Study Title: </b>" + studyTitle, ContentMode.HTML);

            rightTopForm.addComponent(labelStudyTitle);
            Label labelStudyName = new Label("<b>Study Name: </b>" + studyName, ContentMode.HTML);
            rightTopForm.addComponent(labelStudyName);
            tempContainer = null;
            tempContainer = createMySQLContainer("study_abstracts", selectedStudy); // In this table I will chaeck for the manual annotation status
            if (tempContainer.size() > 0) {
                Item tempItem = tempContainer.getItem(tempContainer.getIdByIndex(0));
                if (!(tempItem.getItemProperty("abstract").getValue() == null)) {
                    String abstr = tempItem.getItemProperty("abstract").getValue().toString();
                    String xref = tempItem.getItemProperty("xref").getValue().toString();
                    if (abstr.length() > 3) {
                        Label labelStudyAbstract = new Label("<b>Abstract: </b>" + abstr, ContentMode.HTML);
                        rightTopForm.addComponent(labelStudyAbstract);
                    }
                    if ((xref.length() > 3) & (xref.contains("pubmed"))) {
                        HorizontalLayout pubLinkLayout = new HorizontalLayout();
                        Label labelPubmed = new Label("<b>Pubmed Id : </b>" + "&nbsp;&nbsp;", ContentMode.HTML);
                        pubLinkLayout.addComponent(labelPubmed);
                        String[] pub = xref.split("\\|");
                        if (pub.length > 0) {
                            for (String p : pub) {
                                String[] pid = p.split("\\:-");
                                if (pid[0].startsWith("pubmed")) {
                                    Label tempPubLabel = new Label("&nbsp;&nbsp;&nbsp;&nbsp;",
                                            ContentMode.HTML);

                                    String pubmed_link = "http://www.ncbi.nlm.nih.gov/pubmed/" + pid[1];
                                    Link linkpub = new Link(pid[1], new ExternalResource(pubmed_link));
                                    linkpub.setTargetName("_blank");
                                    linkpub.setIcon(new ThemeResource("icons/external-link.png"));
                                    linkpub.addStyleName("icon-after-caption");
                                    pubLinkLayout.addComponent(tempPubLabel);
                                    pubLinkLayout.addComponent(linkpub);
                                }
                            }
                        }

                        rightTopForm.addComponent(pubLinkLayout);
                    }
                }
            }

            Label labelStudyNumsample = new Label("<b>Total number of samples: </b>" + studyNumsample,
                    ContentMode.HTML);
            rightTopForm.addComponent(labelStudyNumsample);
            Label labelStudyNumexp = new Label(
                    "<b>Total number of experiments (each experiment uses any one of the samples): </b>"
                            + studyNumexp,
                    ContentMode.HTML);
            rightTopForm.addComponent(labelStudyNumexp);
            Label labelStudyNumrun = new Label(
                    "<b>Total number of runs ( an experiment can have multiple runs) : </b>" + studyNumrun,
                    ContentMode.HTML);
            rightTopForm.addComponent(labelStudyNumrun);
            Label labelStudyAvgspots = new Label(
                    "<b>Avg number of spots or reads (per run): </b>" + studyAvgspots, ContentMode.HTML);
            rightTopForm.addComponent(labelStudyAvgspots);
            Label labelStudyAvgbases = new Label("<b>Avg number of bases (per run): </b>" + studyAvgbases,
                    ContentMode.HTML);
            rightTopForm.addComponent(labelStudyAvgbases);

            if (extdbid.startsWith("PRJ")) {
                //<editor-fold defaultstate="collapsed" desc="if PRJ">
                tempContainer = createMySQLContainer("bioproject_details", extdbid);
                String bioproject_accession = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("BioprojectAccession").getValue().toString();
                String bioproject_id = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("BioprojectId").getValue().toString();
                String bioproject_name = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("Name").getValue().toString();
                String bioproject_title = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("Title").getValue().toString();
                String bioproject_description = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("Description").getValue().toString();
                String bioproject_capture = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("Capture").getValue().toString();
                String bioproject_material = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("Material").getValue().toString();
                String bioproject_method = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("MethodType").getValue().toString();
                String bioproject_datatype = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("DataType").getValue().toString();
                String bioproject_sampleScope = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("SampleScope").getValue().toString();
                System.out.println(bioproject_description);
                Label labelBioprojectAccession = new Label(
                        "<b>Bioproject Accession : </b>" + bioproject_accession, ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectAccession);
                Label labelBioprojectId = new Label("<b>Bioproject Id : </b>" + bioproject_id,
                        ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectId);
                Label labelBioprojectTitle = new Label("<b>Bioproject Title : </b>" + bioproject_title,
                        ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectTitle);
                Label labelBioprojectName = new Label("<b>Bioproject Name : </b>" + bioproject_name,
                        ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectName);
                Label labelBioprojectDescription = new Label(
                        "<b>Bioproject Description : </b>" + bioproject_description, ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectDescription);
                Label labelBioprojectCapture = new Label("<b>Bioproject Capture : </b>" + bioproject_capture,
                        ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectCapture);
                Label labelBioprojectMaterial = new Label(
                        "<b>Bioproject  Material : </b>" + bioproject_material, ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectMaterial);
                Label labelBioprojectMethod = new Label("<b>Bioproject Method : </b>" + bioproject_method,
                        ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectMethod);
                Label labelBioprojectDatatype = new Label(
                        "<b>Bioproject Data Type : </b>" + bioproject_datatype, ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectDatatype);
                Label labelBioprojectSampleScope = new Label(
                        "<b>Bioproject Sample Scope : </b>" + bioproject_sampleScope, ContentMode.HTML);
                rightTopForm.addComponent(labelBioprojectSampleScope);

                //</editor-fold>
            }
            if (extdbid.startsWith("GSE")) {
                //<editor-fold defaultstate="collapsed" desc="if GSE">
                tempContainer = createMySQLContainer("study_gse_details", extdbid);
                String gse_accesion = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("gse").getValue().toString();
                String gse_summary = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("summary").getValue().toString();
                String gse_design = tempContainer.getItem(tempContainer.getIdByIndex(0))
                        .getItemProperty("overall_design").getValue().toString();
                // System.out.println(gse_summary);
                Label labelGSE = new Label("<b>GEO Series Accession : </b>" + gse_accesion, ContentMode.HTML);
                rightTopForm.addComponent(labelGSE);
                Label labelGseSummary = new Label("<b>GSE Summary : </b>" + gse_summary, ContentMode.HTML);
                rightTopForm.addComponent(labelGseSummary);
                Label labelGseDesign = new Label("<b>GSE Design : </b>" + gse_design, ContentMode.HTML);
                rightTopForm.addComponent(labelGseDesign);
                //</editor-fold>

            }

            try {
                String search_query = " SELECT * FROM manual_annotation "
                        + "where annotation_status = 'completed' " + " AND studyid =  '" + selectedStudy + "'";

                rnaseqContainer = createMySQLContainer("suggestion_by_manual_annotation", search_query);
                if (rnaseqContainer.getItemIds().size() > 0) {
                    Label ManualAnnotationLabelStart = new Label("<b>Manual Annotaion </b>", ContentMode.HTML);
                    rightTopForm.addComponent(ManualAnnotationLabelStart);

                    for (int i = 0; i < rnaseqContainer.getItemIds().size(); i++) {
                        Item tempItem = rnaseqContainer.getItem(rnaseqContainer.getIdByIndex(i));
                        int annotation_count = i + 1;
                        String stringManualAnnotationDetails = "------------ Manual Annotaion "
                                + annotation_count + "  ------------";
                        System.out.println("Item is " + tempItem);

                        if (!(tempItem.getItemProperty("isDisease").getValue() == null)) {
                            if (tempItem.getItemProperty("isDisease").getValue().toString().equals("1")) {
                                stringManualAnnotationDetails = stringManualAnnotationDetails
                                        + "<br></br> Disease = Yes ";
                            }
                        }
                        String stringStudyTypes = "";
                        if (!(tempItem.getItemProperty("isCaseControl").getValue() == null)) {
                            if (tempItem.getItemProperty("isCaseControl").getValue().toString().equals("1")) {
                                stringStudyTypes = stringStudyTypes + "<br> Case-Control = Yes ";

                            }
                        }

                        if (!(tempItem.getItemProperty("isTimeSeries").getValue() == null)) {
                            if (tempItem.getItemProperty("isTimeSeries").getValue().toString().equals("1")) {
                                stringStudyTypes = stringStudyTypes + "<br> Time Series = Yes ";

                            }
                        }

                        if (!(tempItem.getItemProperty("isTreatment").getValue() == null)) {
                            if (tempItem.getItemProperty("isTreatment").getValue().toString().equals("1")) {
                                stringStudyTypes = stringStudyTypes + "<br> Treatment = Yes ";

                            }
                        }
                        if (stringStudyTypes.length() > 2) {
                            stringManualAnnotationDetails = stringManualAnnotationDetails
                                    + "<br></br> <i> **** Study Types ****</i> " + stringStudyTypes;

                        }
                        String stringSampleTypes = "";
                        if (!(tempItem.getItemProperty("isCellLine").getValue() == null)) {
                            if (tempItem.getItemProperty("isCellLine").getValue().toString().equals("1")) {
                                stringSampleTypes = stringSampleTypes + "<br> Cell Line = Yes ";

                            }
                        }
                        if (!(tempItem.getItemProperty("isPrimaryCells").getValue() == null)) {
                            if (tempItem.getItemProperty("isPrimaryCells").getValue().toString().equals("1")) {
                                stringSampleTypes = stringSampleTypes + "<br> Primary Cells = Yes ";

                            }
                        }

                        if (!(tempItem.getItemProperty("isTissue").getValue() == null)) {
                            if (tempItem.getItemProperty("isTissue").getValue().toString().equals("1")) {
                                stringSampleTypes = stringSampleTypes + "<br> Tissue = Yes ";

                            }
                        }
                        if (!(tempItem.getItemProperty("isWholeBlood").getValue() == null)) {
                            if (tempItem.getItemProperty("isWholeBlood").getValue().toString().equals("1")) {
                                stringSampleTypes = stringSampleTypes + "<br> Blood = Yes ";
                            }
                        }

                        if (!(tempItem.getItemProperty("isPlasma").getValue() == null)) {
                            if (tempItem.getItemProperty("isPlasma").getValue().toString().equals("1")) {
                                stringSampleTypes = stringSampleTypes + "<br> Plasma = Yes ";
                            }
                        }
                        if (stringSampleTypes.length() > 2) {
                            stringManualAnnotationDetails = stringManualAnnotationDetails
                                    + "<br></br> <i>**** Sample Types ****</i> " + stringSampleTypes;

                        }
                        if (!(tempItem.getItemProperty("sequencing_platform").getValue() == null)) {
                            String sequencing_platform = tempItem.getItemProperty("sequencing_platform")
                                    .getValue().toString();
                            String[] annotated_platforms = sequencing_platform.split("\\;");
                            stringManualAnnotationDetails = stringManualAnnotationDetails
                                    + "<br></br> Sequencing Platform = " + sequencing_platform;
                        }

                        if (!(tempItem.getItemProperty("replicate_type").getValue() == null)) {
                            String replicate_type = tempItem.getItemProperty("replicate_type").getValue()
                                    .toString();
                            stringManualAnnotationDetails = stringManualAnnotationDetails
                                    + "<br></br> Replicate Type = " + replicate_type;
                        }

                        if (!(tempItem.getItemProperty("disease_category").getValue() == null)) {
                            String annotated_disease_category = tempItem.getItemProperty("disease_category")
                                    .getValue().toString();
                            String[] annotated_disease_categories = annotated_disease_category.split("\\;");
                            String string_disease_cat = "";
                            for (String cat : annotated_disease_categories) {
                                if (cat.startsWith("complex_disease")) {
                                    String[] cat_parts = cat.split("\\|");
                                    if (string_disease_cat.contains("complex_disease")) {
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(50)
                                                + " ---- " + cat_parts[1];
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(57)
                                                + " ---- " + cat_parts[2];
                                    } else {
                                        string_disease_cat = string_disease_cat
                                                + "&nbsp;&nbsp;Complex Disease ";
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(50)
                                                + " ---- " + cat_parts[1];
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(57)
                                                + " ---- " + cat_parts[2];
                                    }
                                }
                                if (cat.startsWith("rare_disease")) {
                                    String[] cat_parts = cat.split("\\|");
                                    if (string_disease_cat.contains("rare_disease")) {
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(50)
                                                + " ---- " + cat_parts[1];
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(57)
                                                + " ---- " + cat_parts[2];
                                    } else {
                                        if (string_disease_cat.contains("complex_disease")) {
                                            string_disease_cat = string_disease_cat + "<br> ";
                                        } else {
                                            string_disease_cat = string_disease_cat
                                                    + "&nbsp;&nbsp;Rare Disease ";
                                        }
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(50)
                                                + " ---- " + cat_parts[1];
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(57)
                                                + " ---- " + cat_parts[2];
                                    }
                                }
                                if (cat.startsWith("other_disease")) {
                                    String[] cat_parts = cat.split("\\|");
                                    if (string_disease_cat.contains("other_disease")) {
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(50)
                                                + " ---- " + cat_parts[1];
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(57)
                                                + " ---- " + cat_parts[2];
                                    } else {
                                        if (string_disease_cat.contains("complex_disease")
                                                || string_disease_cat.contains("rare_disease")) {
                                            string_disease_cat = string_disease_cat + "<br> ";
                                        } else {
                                            string_disease_cat = string_disease_cat
                                                    + "&nbsp;&nbsp;Other Disease ";
                                        }

                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(50)
                                                + " ---- " + cat_parts[1];
                                        string_disease_cat = string_disease_cat + "<br> " + createHTMLspaces(57)
                                                + " ---- " + cat_parts[2];
                                    }
                                }
                            }
                            stringManualAnnotationDetails = stringManualAnnotationDetails
                                    + "<br></br> Disease Category = " + string_disease_cat;
                        }

                        if (!(tempItem.getItemProperty("annotator").getValue() == null)) {
                            String annotator = tempItem.getItemProperty("annotator").getValue().toString();
                            stringManualAnnotationDetails = stringManualAnnotationDetails
                                    + "<br></br> Annotator = " + annotator;
                        }

                        stringManualAnnotationDetails = stringManualAnnotationDetails
                                + "<br></br>-----------------------------------";
                        Label tempManualAnnotationDetails = new Label(stringManualAnnotationDetails,
                                ContentMode.HTML);

                        rightTopForm.addComponent(tempManualAnnotationDetails);

                    }
                    //  Label ManualAnnotationLabelEnd = new Label("<b>Manual Annotaion </b>", ContentMode.HTML);
                    //    rightTopForm.addComponent(ManualAnnotationLabelEnd);

                }
            } catch (Exception e) {
            }
            //</editor-fold>
            //SQLContainer tempContainer = createMySQLContainer("sra_rnaseq", selectedStudy);
            tempContainer = createMySQLContainer("sra_rnaseq", selectedStudy);
            //  List<String> list = new ArrayList<String>();
            Map expMap = new HashMap();
            Map<String, String[]> expDetailMap = new HashMap<>();
            Map<String, String[]> platformMap = new HashMap<>();
            Map runMap = new HashMap();
            HashSet<String> biosampleSet = new HashSet<>();
            for (int i = 0; i < tempContainer.getItemIds().size(); i++) {
                //<editor-fold defaultstate="collapsed" desc="for loop">

                String docid = tempContainer.getIdByIndex(i).toString();
                String biosample = tempContainer.getItem(tempContainer.getIdByIndex(i))
                        .getItemProperty("Biosample_Acc_Id_SampleId").getValue().toString();
                biosampleSet.add(biosample);
                String[] b_parts = biosample.split("\\|");

                String exp = tempContainer.getItem(tempContainer.getIdByIndex(i))
                        .getItemProperty("Experiment_Acc_Ver_Status_Name").getValue().toString();
                String[] exp_parts = exp.split("\\|");
                String exp_acc = exp_parts[0];
                expMap.put(exp_acc, b_parts[0]);
                expDetailMap.put(exp_acc, exp_parts);

                String sra_plaforms = tempContainer.getItem(tempContainer.getIdByIndex(i))
                        .getItemProperty("Platform_InstrumentModel").getValue().toString();
                String[] sra_plaforms_parts = sra_plaforms.split("\\|");
                platformMap.put(exp_acc, sra_plaforms_parts);

                String run = tempContainer.getItem(tempContainer.getIdByIndex(i)).getItemProperty("Runs")
                        .getValue().toString();
                String[] run_parts = run.split("\\|");
                if (run_parts.length > 0) {
                    for (int j = 0; j < run_parts.length; j++) {
                        String temprun = run_parts[j];
                        String[] temprun_parts = temprun.split("\\,");
                        runMap.put(temprun_parts[0], exp_acc);
                    }
                }
                //</editor-fold>
            }

            //<editor-fold defaultstate="collapsed" desc="Manual Annotaion">
            tempContainer = createMySQLContainer("biosample_with_studyacc", selectedStudy);
            int count_cell_line = 0;
            int count_organism_part = 0;
            int count_tissue = 0;
            int count_disease = 0;
            Set<String> cell_lines_set = new HashSet();
            Set<String> organism_part_set = new HashSet();
            Set<String> tissue_set = new HashSet();
            Set<String> disease_set = new HashSet();
            Map<String, Integer> cell_line_stat_map = new HashMap<>();
            Map<String, Integer> organism_part_stat_map = new HashMap<>();
            Map<String, Integer> tissue_stat_map = new HashMap<>();
            Map<String, Integer> disease_stat_map = new HashMap<>();
            for (int i = 0; i < tempContainer.getItemIds().size(); i++) {
                //<editor-fold defaultstate="collapsed" desc="for biosample attributes">
                String biosample_attr = tempContainer.getItem(tempContainer.getIdByIndex(i))
                        .getItemProperty("Attributes").getValue().toString();
                String[] biosample_attr_parts = biosample_attr.split("\\:-");
                if (biosample_attr_parts.length > 0) {
                    String[] attr_names = biosample_attr_parts[0].split("\\|");
                    String[] attr_values = new String[] {};
                    if (biosample_attr_parts.length > 1) {
                        attr_values = biosample_attr_parts[1].split("\\|");
                    }
                    int atn_index = 0;
                    for (String atn : attr_names) {
                        if (atn.equalsIgnoreCase("cell line")) {
                            count_cell_line = count_cell_line + 1;
                            if (attr_values.length >= atn_index) {
                                String cell_line_value = attr_values[atn_index];
                                cell_lines_set.add(cell_line_value);
                                if (cell_line_stat_map.containsKey(cell_line_value)) {
                                    cell_line_stat_map.put(cell_line_value,
                                            cell_line_stat_map.get(cell_line_value) + 1);
                                } else {
                                    cell_line_stat_map.put(cell_line_value, 1);
                                }
                            }

                        }
                        if (atn.equalsIgnoreCase("organism part")) {
                            count_organism_part = count_organism_part + 1;
                            if (attr_values.length >= atn_index) {
                                String organism_part_value = attr_values[atn_index];
                                organism_part_set.add(organism_part_value);
                                if (organism_part_stat_map.containsKey(organism_part_value)) {
                                    organism_part_stat_map.put(organism_part_value,
                                            organism_part_stat_map.get(organism_part_value) + 1);
                                } else {
                                    organism_part_stat_map.put(organism_part_value, 1);
                                }
                            }

                        }

                        if (atn.contains("disease")) {
                            count_disease = count_disease + 1;
                            if (attr_values.length >= atn_index) {
                                String disease_value = attr_values[atn_index];
                                disease_set.add(disease_value);
                                if (disease_stat_map.containsKey(disease_value)) {
                                    disease_stat_map.put(disease_value,
                                            disease_stat_map.get(disease_value) + 1);
                                } else {
                                    disease_stat_map.put(disease_value, 1);
                                }
                            }

                        }
                        if (atn.equalsIgnoreCase("tissue")) {
                            count_tissue = count_tissue + 1;
                            if (attr_values.length >= atn_index) {
                                String tissue_value = attr_values[atn_index];
                                tissue_set.add(tissue_value);
                                if (tissue_stat_map.containsKey(tissue_value)) {
                                    tissue_stat_map.put(tissue_value, tissue_stat_map.get(tissue_value) + 1);
                                } else {
                                    tissue_stat_map.put(tissue_value, 1);
                                }
                            }

                        }
                        atn_index = atn_index + 1;
                    }
                }
                //</editor-fold>

            }

            String suggestion_cell_line = "";
            String suggestion_organism_part = "";
            String suggestion_tissue = "";
            String suggestion_disease = "";
            String samplesType_from_sra = "";
            String cell_line_confidence = "";
            String organism_part_confidence = "";
            String disease_confidence = "";
            String tissue_confidence = "";
            //<editor-fold defaultstate="collapsed" desc="if else biosmaple attr has cell line">
            if (count_cell_line > 0) {
                if (Integer.parseInt(studyNumsample) == count_cell_line) {
                    //good. all samples are from cell lines
                    suggestion_cell_line = "Yes:";
                    String cell_line_value = cell_lines_set.iterator().next();
                    suggestion_cell_line = suggestion_cell_line + cell_line_value;
                    cell_line_confidence = "100%. All " + cell_line_stat_map.get(cell_line_value).toString()
                            + " Samples";
                } else {
                    suggestion_cell_line = "Yes:";
                    Map.Entry<String, Integer> maxEntry = null;
                    for (Map.Entry<String, Integer> entry : cell_line_stat_map.entrySet()) {
                        if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0) {
                            maxEntry = entry;
                        }
                    }
                    suggestion_cell_line = suggestion_cell_line + maxEntry.getKey() + "("
                            + maxEntry.getValue().toString() + " samples)";
                    int confidence_percent = (int) (maxEntry.getValue() * 100.0f)
                            / (Integer.parseInt(studyNumsample));
                    cell_line_confidence = confidence_percent + "%";
                    for (Iterator<String> it = cell_lines_set.iterator(); it.hasNext();) {
                        String cellLine = it.next();
                        if (cellLine.equals(maxEntry.getKey())) {
                            //do nothing
                        } else {
                            suggestion_cell_line = suggestion_cell_line + ", " + cellLine + "("
                                    + cell_line_stat_map.get(cellLine).toString() + ")";
                        }
                    }

                }
            } else {
                suggestion_cell_line = " No";
            }
            //</editor-fold>

            //<editor-fold defaultstate="collapsed" desc="if else biosmaple attr has organism part">
            if (count_organism_part > 0) {
                if (Integer.parseInt(studyNumsample) == count_organism_part) {
                    //good. all samples are from cell lines
                    suggestion_organism_part = "Yes:";
                    String organism_part_value = organism_part_set.iterator().next();
                    suggestion_organism_part = suggestion_organism_part + organism_part_value;
                    organism_part_confidence = "100%. All "
                            + organism_part_stat_map.get(organism_part_value).toString() + " Samples";
                } else {
                    suggestion_organism_part = "Yes:";
                    Map.Entry<String, Integer> maxEntry = null;
                    for (Map.Entry<String, Integer> entry : organism_part_stat_map.entrySet()) {
                        if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0) {
                            maxEntry = entry;
                        }
                    }
                    suggestion_organism_part = suggestion_organism_part + maxEntry.getKey() + "("
                            + maxEntry.getValue().toString() + " samples)";
                    int confidence_percent = (int) (maxEntry.getValue() * 100.0f)
                            / (Integer.parseInt(studyNumsample));
                    organism_part_confidence = confidence_percent + "%";
                    for (Iterator<String> it = organism_part_set.iterator(); it.hasNext();) {
                        String organismPart = it.next();
                        if (organismPart.equals(maxEntry.getKey())) {
                            //do nothing
                        } else {
                            suggestion_organism_part = suggestion_organism_part + ", " + organismPart + "("
                                    + organism_part_stat_map.get(organismPart).toString() + ")";
                        }
                    }

                }
            } else {
                suggestion_organism_part = " No";
            }
            //</editor-fold>
            //<editor-fold defaultstate="collapsed" desc="if else biosmaple attr has disease">
            if (count_disease > 0) {
                if (Integer.parseInt(studyNumsample) == count_disease) {
                    //good. all samples are from cell lines
                    suggestion_disease = "Yes:";
                    String disease_value = disease_set.iterator().next();
                    suggestion_disease = suggestion_disease + disease_value;
                    disease_confidence = "100%. All " + disease_stat_map.get(disease_value).toString()
                            + " Samples";
                } else {
                    suggestion_disease = "Yes:";
                    Map.Entry<String, Integer> maxEntry = null;
                    for (Map.Entry<String, Integer> entry : disease_stat_map.entrySet()) {
                        if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0) {
                            maxEntry = entry;
                        }
                    }
                    suggestion_disease = suggestion_disease + maxEntry.getKey() + "("
                            + maxEntry.getValue().toString() + " samples)";
                    int confidence_percent = (int) (maxEntry.getValue() * 100.0f)
                            / (Integer.parseInt(studyNumsample));
                    disease_confidence = confidence_percent + "%";
                    for (Iterator<String> it = disease_set.iterator(); it.hasNext();) {
                        String diseasePart = it.next();
                        if (diseasePart.equals(maxEntry.getKey())) {
                            //do nothing
                        } else {
                            suggestion_disease = suggestion_disease + ", " + diseasePart + "("
                                    + disease_stat_map.get(diseasePart).toString() + ")";
                        }
                    }

                }
            } else {
                suggestion_disease = " No";
            }
            //</editor-fold>

            //<editor-fold defaultstate="collapsed" desc="if else biosmaple attr has tissue">
            if (count_tissue > 0) {
                if (Integer.parseInt(studyNumsample) == count_tissue) {
                    //good. all samples are from cell lines
                    suggestion_tissue = "Yes:";
                    String tissue_value = tissue_set.iterator().next();
                    suggestion_tissue = suggestion_tissue + tissue_value;
                    tissue_confidence = "100%. All " + tissue_stat_map.get(tissue_value).toString()
                            + " Samples";
                } else {
                    suggestion_tissue = "Yes:";
                    Map.Entry<String, Integer> maxEntry = null;
                    for (Map.Entry<String, Integer> entry : tissue_stat_map.entrySet()) {
                        if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0) {
                            maxEntry = entry;
                        }
                    }
                    suggestion_tissue = suggestion_tissue + maxEntry.getKey() + "("
                            + maxEntry.getValue().toString() + " samples)";
                    int confidence_percent = (int) (maxEntry.getValue() * 100.0f)
                            / (Integer.parseInt(studyNumsample));
                    tissue_confidence = confidence_percent + "%";
                    for (Iterator<String> it = tissue_set.iterator(); it.hasNext();) {
                        String tissuePart = it.next();
                        if (tissuePart.equals(maxEntry.getKey())) {
                            //do nothing
                        } else {
                            suggestion_tissue = suggestion_tissue + ", " + tissuePart + "("
                                    + tissue_stat_map.get(tissuePart).toString() + ")";
                        }
                    }

                }
            } else {
                suggestion_tissue = " No";
            }

            //</editor-fold>
            //<editor-fold defaultstate="collapsed" desc="filling right top manual annotation">
            //<editor-fold defaultstate="collapsed" desc="disease layout (Manual Annotation">
            HorizontalLayout diseaseLayout = new HorizontalLayout();
            CheckBox checkboxDiseaseYes = new CheckBox("Yes");
            CheckBox checkboxDiseaseNo = new CheckBox("No");

            String disease_from_biosample_attribute = "";
            if (suggestion_disease.startsWith("Yes")) {
                disease_from_biosample_attribute = "From Biosample: " + suggestion_disease;
            }
            String disease_found = "";
            String disease_text_parsed_confidence = "";
            for (String disease : list_of_diseases) {
                if (StringUtils.containsIgnoreCase(studyName, disease)
                        || StringUtils.containsIgnoreCase(studyTitle, disease)) {
                    checkboxDiseaseYes.setValue(true);
                    disease_found = disease_found + disease + " ";
                    disease_text_parsed_confidence = "keyword found in Study or Title";
                }
            }
            String diseaseLabelString = "";
            if (disease_text_parsed_confidence.length() > 1) {
                diseaseLabelString = "<b><i>Suggestion: </i></b>" + disease_found
                        + " <b> <i> Confidence: <i></b>  " + disease_text_parsed_confidence;
            }
            if (disease_from_biosample_attribute.length() > 1) {
                diseaseLabelString = diseaseLabelString + "<b><i>Suggestion: </i></b>"
                        + disease_from_biosample_attribute + " <b> <i> Confidence: <i></b>  "
                        + disease_confidence;
            }

            Label diseaseLabel = new Label("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + diseaseLabelString,
                    ContentMode.HTML);
            Label diseaseTitle = new Label("<b>Disease: </b>", ContentMode.HTML);
            diseaseLayout.addComponent(diseaseTitle);
            diseaseLayout.addComponent(checkboxDiseaseNo);
            diseaseLayout.addComponent(checkboxDiseaseYes);
            diseaseLayout.addComponent(diseaseLabel);
            //</editor-fold>

            //<editor-fold defaultstate="collapsed" desc="study types layout (Manual Annotation)">
            Panel studyTypesPanel = new Panel("Sample Types");
            HorizontalLayout studyTypesLayout = new HorizontalLayout();

            HorizontalLayout caseControlLayout = new HorizontalLayout();
            CheckBox checkboxCaseControlYes = new CheckBox("Yes");
            CheckBox checkboxCaseControlNo = new CheckBox("No");
            // checkboxCaseControlYes.setValue(true);
            Label caseControlTitle = new Label("<b>Case-Control: </b>", ContentMode.HTML);
            caseControlLayout.addComponent(caseControlTitle);
            caseControlLayout.addComponent(checkboxCaseControlYes);
            caseControlLayout.addComponent(checkboxCaseControlNo);

            HorizontalLayout timeSeriesLayout = new HorizontalLayout();
            CheckBox checkboxTimeSeriesYes = new CheckBox("Yes");
            CheckBox checkboxTimeSeriesNo = new CheckBox("No");
            //checkboxTimeSeriesYes.setValue(true);
            Label timeSeriesTitle = new Label("<b>Time Series: </b>", ContentMode.HTML);
            timeSeriesLayout.addComponent(timeSeriesTitle);
            timeSeriesLayout.addComponent(checkboxTimeSeriesYes);
            timeSeriesLayout.addComponent(checkboxTimeSeriesNo);

            HorizontalLayout treatementLayout = new HorizontalLayout();
            CheckBox checkboxTreatmentYes = new CheckBox("Yes");
            CheckBox checkboxTreatmentNo = new CheckBox("No");
            //  checkboxTreatmentYes.setValue(true);
            Label treatmentTitle = new Label("<b>Treatment: </b>", ContentMode.HTML);
            treatementLayout.addComponent(treatmentTitle);
            treatementLayout.addComponent(checkboxTreatmentYes);
            treatementLayout.addComponent(checkboxTreatmentNo);

            studyTypesLayout.addComponent(caseControlLayout);
            Label emptyLabel = new Label("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
                    ContentMode.HTML);
            studyTypesLayout.addComponent(emptyLabel);
            studyTypesLayout.addComponent(timeSeriesLayout);
            Label emptyLabel0 = new Label("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
                    ContentMode.HTML);
            studyTypesLayout.addComponent(emptyLabel0);
            studyTypesLayout.addComponent(treatementLayout);
            studyTypesLayout.setSizeFull();
            studyTypesPanel.setContent(studyTypesLayout);
            studyTypesPanel.setWidth(Sizeable.SIZE_UNDEFINED, Unit.PERCENTAGE);
            studyTypesPanel.addStyleName("panelborder");
            //</editor-fold>

            //<editor-fold defaultstate="collapsed" desc="Disease Category Layout">
            Panel diseaseCategoryPanel = new Panel("Disease Category");
            HorizontalLayout diseaseCategoriesLayout = new HorizontalLayout();
            //Complex Disease
            ListSelect complexDisease = new ListSelect("Complex Disease");
            complexDisease.setMultiSelect(true);

            for (String disease : complexDiseaseArray) {
                complexDisease.addItem(disease);

            }
            diseaseCategoriesLayout.addComponent(complexDisease);
            Label emptyLabel2 = new Label("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
                    ContentMode.HTML);
            diseaseCategoriesLayout.addComponent(emptyLabel2);
            // Rare disease
            ListSelect rareDisease = new ListSelect("Rare Diseases");
            rareDisease.setMultiSelect(true);
            for (String disease : rareDiseaseArray) {
                rareDisease.addItem(disease);
            }
            diseaseCategoriesLayout.addComponent(rareDisease);
            Label emptyLabel3 = new Label("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
                    ContentMode.HTML);
            diseaseCategoriesLayout.addComponent(emptyLabel3);
            // Other diseases
            ListSelect otherDisease = new ListSelect("Other Diseases");
            otherDisease.setMultiSelect(true);
            for (String disease : otherDiseaseArray) {
                otherDisease.addItem(disease);
            }
            diseaseCategoriesLayout.addComponent(otherDisease);
            //   Label emptyLabel4 = new Label("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", ContentMode.HTML);
            //  diseaseCategoriesLayout.addComponent(emptyLabel4);

            diseaseCategoryPanel.setContent(diseaseCategoriesLayout);
            diseaseCategoryPanel.setWidth(Sizeable.SIZE_UNDEFINED, Unit.PERCENTAGE);
            diseaseCategoryPanel.addStyleName("panelborder");

            /*
             HorizontalLayout diseaseCategoriesLayout = new HorizontalLayout();
             Label diseaseCategoryLabel = new Label("<b><i>Suggestion: </i></b>" + disease_found + " <b> <i> Confidence: <i></b>  " + disease_confidence, ContentMode.HTML);
             String[] diseaseCategories = new String[]{"Complex Disease", "Rare Disease", "Other", "Not Sure"};
             List<String> diseaseCategoriesList = Arrays.asList(diseaseCategories);
             ComboBox diseaseCategoryComboBox = new ComboBox("Disease Category", diseaseCategoriesList);
             diseaseCategoriesLayout.addComponent(diseaseCategoryComboBox);
             diseaseCategoriesLayout.addComponent(diseaseCategoryLabel);
             */
            //</editor-fold>
            //<editor-fold defaultstate="collapsed" desc="platform layout (manual annotation)">
            //  List<String> platformsList = Arrays.asList(platforms);
            //  ComboBox platformsListSelect = new ComboBox("Sequencing Platform", platformsList);
            ListSelect platformsListSelect = new ListSelect("Sequencing Platform");
            platformsListSelect.setMultiSelect(true);
            for (String platform : platforms) {
                platformsListSelect.addItem(platform);
            }
            Set<String> matchedPlatformSet = new HashSet();
            String platform_from_sra = "";
            String platorm_confidence = "";
            int matchPlatformCount = 0;
            for (String[] val : platformMap.values()) {
                if (val.length > 1) {
                    for (String pf : platforms) {
                        if (val[0].equalsIgnoreCase(pf)) {
                            matchedPlatformSet.add(pf);
                            matchPlatformCount = matchPlatformCount + 1;
                        }
                    }
                } else {

                }
            }
            if (matchedPlatformSet.isEmpty()) {
                platform_from_sra = "Match Not Found";
            } else {
                if (matchedPlatformSet.size() == matchPlatformCount) {
                    if (matchedPlatformSet.size() == 1) {
                        platform_from_sra = matchedPlatformSet.iterator().next().toString();
                        for (Iterator i = platformsListSelect.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();
                            if (platform_from_sra.equalsIgnoreCase(temp)) {
                                platformsListSelect.select(iid);
                            }
                        }

                    } else {
                        platform_from_sra = "Can't predict. All experiment on different Platforms";
                    }
                } else {
                    if (matchedPlatformSet.size() == 1) {
                        // Perfect 
                        platform_from_sra = matchedPlatformSet.iterator().next().toString();
                        for (Iterator i = platformsListSelect.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();
                            if (platform_from_sra.equalsIgnoreCase(temp)) {
                                platformsListSelect.select(iid);
                            }
                        }
                        platorm_confidence = "100%";
                    } else {

                    }
                }
            }

            HorizontalLayout platformLayout = new HorizontalLayout();
            Label suggestedPlatformLabel = new Label("<b><i>Suggestion: </i></b>" + platform_from_sra
                    + "<b> <i> Confidence: <i></b>  " + platorm_confidence, ContentMode.HTML);
            platformsListSelect.setHeight(platformsListSelect.size() + 2, Unit.EM);
            platformLayout.addComponent(platformsListSelect);
            platformLayout.addComponent(suggestedPlatformLabel);
            //</editor-fold>

            //<editor-fold defaultstate="collapsed" desc="Sample types Panel (Manual Annotation)">
            Panel sampleTypesPanel = new Panel("Sample Types");
            VerticalLayout sampleTypesLayout = new VerticalLayout();
            CheckBox checkboxSampleTypeCellLine = new CheckBox("Cell Line");
            CheckBox checkboxSampleTypeTissue = new CheckBox("Tissue");
            CheckBox checkboxSampleTypePrimaryCells = new CheckBox("Primary Cells");
            CheckBox checkboxSampleTypeWholeBlood = new CheckBox("Blood");
            CheckBox checkboxSampleTypePlasma = new CheckBox("Plasma");
            String suggestedCellTypeLabelString = "";
            if (suggestion_cell_line.startsWith("Yes")) {
                //sampleTypesListComboBox.select("Cell Lines");
                checkboxSampleTypeCellLine.setValue(true);
                suggestedCellTypeLabelString = "<b><i>&nbsp;&nbsp;&nbsp;&nbsp;Suggestion: </i></b>"
                        + "Cell Lines --> " + suggestion_cell_line + " <b> <i> Confidence: <i></b>   "
                        + cell_line_confidence;
            }
            Label suggestedCellLineLabel = new Label(suggestedCellTypeLabelString, ContentMode.HTML);
            String suggestedTissueLabelString = "";
            if (suggestion_organism_part.startsWith("Yes")) {
                checkboxSampleTypeTissue.setValue(true);
                suggestedTissueLabelString = suggestedTissueLabelString
                        + "<b><i>&nbsp;&nbsp;&nbsp;&nbsp;Suggestion: </i></b>" + "Organism part --> "
                        + suggestion_organism_part + " <b> <i> Confidence: <i></b>   "
                        + organism_part_confidence;
            }

            if (suggestion_tissue.startsWith("Yes")) {
                checkboxSampleTypeTissue.setValue(true);
                suggestedTissueLabelString = suggestedTissueLabelString
                        + "<b><i>&nbsp;&nbsp;&nbsp;&nbsp;Suggestion: </i></b>" + "Tissue --> "
                        + suggestion_tissue + " <b> <i> Confidence: <i></b>   " + tissue_confidence;
            }
            Label suggestedTissueLabel = new Label(suggestedTissueLabelString, ContentMode.HTML);

            String suggestedStemCellString = "";
            /*
             if (suggestion_stem_cell.startsWith("Yes")) {                   
             checkboxSampleTypeStemCells.setValue(true);
             suggestedCellTypeLabelString = "<b><i>Suggestion: </i></b>" + "Cell Lines --> " + suggestion_stem_cell + " <b> <i> Confidence: <i></b>   " + stem_cell_confidence;
             }
             */
            Label suggestedStemCellLabel = new Label(suggestedStemCellString, ContentMode.HTML);

            String suggestedWholeBloodLabelString = "";
            /*
             if (suggestion_whole_blood.startsWith("Yes")) {                   
             checkboxSampleTypeWholeBlood.setValue(true);
             suggestedWholeBloodLabelString = "<b><i>Suggestion: </i></b>" + "Whole Blood --> " + suggestion_whole_blood + " <b> <i> Confidence: <i></b>   " + whole_blood_confidence;
             }
             */
            Label suggestedWholeBloodLabel = new Label(suggestedWholeBloodLabelString, ContentMode.HTML);

            String suggestedPlasmaLabelString = "";
            /*
             if (suggestion_plasma.startsWith("Yes")) {                   
             checkboxSampleTypePlasma.setValue(true);
             suggestedPlasmaLabelString = "<b><i>Suggestion: </i></b>" + "Cell Lines --> " + suggestion_plasma + " <b> <i> Confidence: <i></b>   " + plasma_confidence;
             }
             */
            Label suggestedPlasmaLabel = new Label(suggestedPlasmaLabelString, ContentMode.HTML);

            HorizontalLayout CellLineLayout = new HorizontalLayout();
            CellLineLayout.addComponent(checkboxSampleTypeCellLine);
            CellLineLayout.addComponent(suggestedCellLineLabel);

            HorizontalLayout PrimaryCellsLayout = new HorizontalLayout();
            PrimaryCellsLayout.addComponent(checkboxSampleTypePrimaryCells);
            //  PrimaryCellsLayout.addComponent(suggestedPrimaryCellsLabel);

            HorizontalLayout TissueLayout = new HorizontalLayout();
            TissueLayout.addComponent(checkboxSampleTypeTissue);
            TissueLayout.addComponent(suggestedTissueLabel);

            HorizontalLayout WholeBloodLayout = new HorizontalLayout();
            WholeBloodLayout.addComponent(checkboxSampleTypeWholeBlood);
            WholeBloodLayout.addComponent(suggestedWholeBloodLabel);

            HorizontalLayout PlasmaLayout = new HorizontalLayout();
            PlasmaLayout.addComponent(checkboxSampleTypePlasma);
            PlasmaLayout.addComponent(suggestedPlasmaLabel);

            sampleTypesLayout.addComponent(CellLineLayout);
            sampleTypesLayout.addComponent(PrimaryCellsLayout);
            sampleTypesLayout.addComponent(TissueLayout);
            sampleTypesLayout.addComponent(WholeBloodLayout);
            sampleTypesLayout.addComponent(PlasmaLayout);

            sampleTypesPanel.setContent(sampleTypesLayout);
            sampleTypesPanel.setWidth(Sizeable.SIZE_UNDEFINED, Unit.PERCENTAGE);
            sampleTypesPanel.addStyleName("panelborder");

            //</editor-fold>
            Button addCustomAnnoButton = new Button("++ Custom Annotation");
            addCustomAnnoButton.addClickListener(new Button.ClickListener() {
                public void buttonClick(ClickEvent event) {
                    custom_annotation_counter = custom_annotation_counter + 1;
                    HorizontalLayout customLayout = new HorizontalLayout();
                    TextField customAnnoName = new TextField("Custom Name");
                    customAnnoName.setId("customAnnoName" + custom_annotation_counter);
                    TextField customAnnoValue = new TextField("Custom Value");
                    customLayout.addComponent(customAnnoName);
                    customLayout.addComponent(customAnnoValue);
                    customAnnoValue.setId("customAnnoValue" + custom_annotation_counter);
                    int addCustomAnnoButtonIndex = rightTopAnnotationForm
                            .getComponentIndex(addCustomAnnoButton);
                    rightTopAnnotationForm.addComponent(customLayout, addCustomAnnoButtonIndex);

                }
            });

            //<editor-fold defaultstate="collapsed" desc="Replicate Type">
            HorizontalLayout replicatTypesLayout = new HorizontalLayout();
            String replicateType_from_sra = "";
            String replicateType_confidence = "";
            Label suggestedreplicatTypeLabel = new Label("<b><i>Suggestion: </i></b>" + replicateType_from_sra
                    + " <b> <i> Confidence: <i></b>  " + replicateType_confidence, ContentMode.HTML);
            String[] replicatTypes = new String[] { "Biological -- different individuals",
                    "Biological -- same individual but severe treatment to RNA",
                    "Semi Biological/Technical -- mild treatment",
                    "Technical -- machine parameter or buffer (very mild)" };
            List<String> replicatTypesList = Arrays.asList(replicatTypes);
            ComboBox replicatTypesListComboBox = new ComboBox("Replicates Type ", replicatTypesList);
            replicatTypesLayout.addComponent(replicatTypesListComboBox);
            replicatTypesLayout.addComponent(suggestedreplicatTypeLabel);

            //</editor-fold>
            checkboxCaseControlYes.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    if (checkboxCaseControlYes.getValue()) {
                        checkboxCaseControlNo.setValue(!checkboxCaseControlYes.getValue());
                    }

                }
            });
            checkboxCaseControlNo.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    if (checkboxCaseControlNo.getValue()) {
                        checkboxCaseControlYes.setValue(!checkboxCaseControlNo.getValue());
                    }
                }
            });

            checkboxTimeSeriesYes.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    if (checkboxTimeSeriesYes.getValue()) {
                        checkboxTimeSeriesNo.setValue(!checkboxTimeSeriesYes.getValue());
                    }

                }
            });
            checkboxTimeSeriesNo.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    if (checkboxTimeSeriesNo.getValue()) {
                        checkboxTimeSeriesYes.setValue(!checkboxTimeSeriesNo.getValue());
                    }
                }
            });

            checkboxTreatmentYes.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    if (checkboxTreatmentYes.getValue()) {
                        checkboxTreatmentNo.setValue(!checkboxTreatmentYes.getValue());
                    }

                }
            });
            checkboxTreatmentNo.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    if (checkboxTreatmentNo.getValue()) {
                        checkboxTreatmentYes.setValue(!checkboxTreatmentNo.getValue());
                    }
                }
            });

            checkboxDiseaseYes.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    checkboxDiseaseNo.setValue(!checkboxDiseaseYes.getValue());
                    diseaseCategoryPanel.setVisible(true);
                }
            });
            checkboxDiseaseNo.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    checkboxDiseaseYes.setValue(!checkboxDiseaseNo.getValue());
                    diseaseCategoryPanel.setVisible(false);
                }
            });

            //<editor-fold defaultstate="collapsed" desc="Annotation Status Ongoing or Completed ">
            Panel annotationStatusPanel = new Panel("Annotation Status");
            CheckBox checkboxAnnotaionCompleted = new CheckBox("Annotaion Completed");
            CheckBox checkboxAnnotaionOngoing = new CheckBox("Annotaion Ongoing");
            checkboxAnnotaionOngoing.setValue(true);
            checkboxAnnotaionCompleted.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    checkboxAnnotaionOngoing.setValue(!checkboxAnnotaionCompleted.getValue());
                }
            });
            checkboxAnnotaionOngoing.addValueChangeListener(new Property.ValueChangeListener() {
                @Override
                public void valueChange(ValueChangeEvent event) {
                    checkboxAnnotaionCompleted.setValue(!checkboxAnnotaionOngoing.getValue());
                }
            });

            HorizontalLayout annotationStatusLayout = new HorizontalLayout();
            annotationStatusLayout.addComponent(checkboxAnnotaionOngoing);
            Label emptyLabel_1 = new Label("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
                    ContentMode.HTML);
            annotationStatusLayout.addComponent(emptyLabel_1);
            annotationStatusLayout.addComponent(checkboxAnnotaionCompleted);
            annotationStatusPanel.setContent(annotationStatusLayout);
            annotationStatusPanel.setWidth(Sizeable.SIZE_UNDEFINED, Unit.PERCENTAGE);
            annotationStatusPanel.addStyleName("panelborder");
            //</editor-fold>

            //<editor-fold defaultstate="collapsed" desc="login, sign in, register, and suggestion by manual annotation if logged ">
            Button loginButton = new Button("Sign In");
            Button registerButton = new Button("Register");

            HorizontalLayout requestLoginLayout = new HorizontalLayout();
            requestLoginLayout.addComponent(userWelcome);
            requestLoginLayout.addComponent(loginButton);
            requestLoginLayout.addComponent(registerButton);
            rightTopAnnotationForm.addComponent(requestLoginLayout);
            VerticalLayout userPasswordLayout = new VerticalLayout();
            VerticalLayout registerLayout = new VerticalLayout();

            loginButton.addClickListener(new Button.ClickListener() {

                @Override
                public void buttonClick(ClickEvent event) {
                    if (event.getButton() == loginButton) {
                        if (loginButton.getCaption() == "Sign In") {

                            // Create the user input field
                            user = new TextField("User:");
                            user.setWidth("300px");
                            user.setRequired(true);
                            user.setInputPrompt("Your username (eg. joe@email.com)");
                            user.addValidator(new EmailValidator("Username must be an email address"));
                            user.setInvalidAllowed(false);

                            // Create the password input field
                            password = new PasswordField("Password:");
                            password.setWidth("300px");
                            password.addValidator(new PasswordValidator());
                            password.setRequired(true);
                            password.setValue("");
                            password.setNullRepresentation("");

                            // Create login button
                            loginSubmitButton = new Button("Login", this);
                            loginSubmitButton.addClickListener(new Button.ClickListener() {

                                @Override
                                public void buttonClick(ClickEvent event) {
                                    if (event.getButton() == loginSubmitButton) {
                                        if (!user.isValid() || !password.isValid()) {
                                            return;
                                        }
                                        String username = user.getValue();
                                        String entered_password = password.getValue();

                                        boolean isChecked = false;
                                        try {
                                            // check user details in the database
                                            SQLContainer checkContainer = createMySQLContainer(
                                                    "annotation_users", "dummy");
                                            Item id = checkContainer
                                                    .getItem(new RowId(new Object[] { username }));
                                            if (id != null) {
                                                user.setCaption("User");
                                                if (entered_password.equals(
                                                        id.getItemProperty("password").getValue().toString())) {
                                                    isChecked = true;
                                                } else {
                                                    password.setCaption("Password (wrong password entered)");
                                                    System.out.println(
                                                            "Password can not be validated. Please re-enter or Register");
                                                    System.out.println(
                                                            "Fetched password for user : " + id.toString()
                                                                    + " is " + id.getItemProperty("password")
                                                                            .getValue().toString());
                                                }
                                            } else {
                                                user.setCaption(
                                                        "User (wrong username entered. Enter your email again or register)");
                                                password.setCaption("Password");
                                                System.out.println(
                                                        "User name can not be validated. Please re-enter or Register");
                                            }

                                        } catch (Exception e) {
                                            isChecked = false;
                                            System.out.println(
                                                    "Problem in validating login details using database. Either user or password is wrong");
                                        }
                                        boolean isValid = username.equals("test@test.com")
                                                && entered_password.equals("passw0rd");

                                        if (isChecked) {
                                            // System.out.println("User name and passoword : Both are correct");
                                            // Store the current user in the service session
                                            getSession().setAttribute("user", username);
                                            userWelcome.setValue("Hello " + username);
                                            int userPasswordLayoutIndex = rightTopAnnotationForm
                                                    .getComponentIndex(userPasswordLayout);
                                            requestLoginLayout.removeComponent(registerButton);
                                            rightTopAnnotationForm.addComponent(requestLoginLayout,
                                                    userPasswordLayoutIndex);
                                            rightTopAnnotationForm.removeComponent(userPasswordLayout);
                                            userPasswordLayout.removeAllComponents();
                                            loginButton.setCaption("Logout");
                                        } else {
                                            // Wrong password clear the password field and refocuses it
                                            password.setValue(null);
                                            password.focus();

                                        }
                                        // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                                    }
                                }
                            });

                            // Add both to a panel
                            VerticalLayout fields = new VerticalLayout(user, password, loginSubmitButton);
                            fields.setCaption(
                                    "Please login to access the application. (test@test.com/passw0rd)");
                            fields.setSpacing(true);
                            fields.setMargin(new MarginInfo(true, true, true, false));
                            fields.setSizeUndefined();

                            // The view root layout
                            userPasswordLayout.addComponent(fields);
                            int addUserLayoutIndex = rightTopAnnotationForm
                                    .getComponentIndex(requestLoginLayout);
                            rightTopAnnotationForm.addComponent(userPasswordLayout, addUserLayoutIndex);
                            rightTopAnnotationForm.removeComponent(requestLoginLayout);

                        } else if (loginButton.getCaption() == "Logout") {
                            getSession().setAttribute("user", null);
                            userWelcome.setValue("Anonymous ");
                            loginButton.setCaption("Sign In");
                            requestLoginLayout.addComponent(registerButton);

                        }
                    }

                }
            });

            registerButton.addClickListener(new Button.ClickListener() {
                @Override
                public void buttonClick(ClickEvent event) {
                    if (event.getButton() == registerButton) {

                        // Create the user input field
                        TextField newUser = new TextField("User:");
                        newUser.setWidth("300px");
                        newUser.setRequired(true);
                        newUser.setInputPrompt("Your username (eg. joe@email.com)");
                        newUser.addValidator(new EmailValidator("Username must be an email address"));
                        newUser.setInvalidAllowed(false);

                        // Create the password input field
                        PasswordField setPassword = new PasswordField("Set Password:");
                        setPassword.setWidth("300px");
                        setPassword.addValidator(new PasswordValidator());
                        setPassword.setRequired(true);
                        setPassword.setValue("");
                        setPassword.setNullRepresentation("");

                        // Create login button
                        Button registerSubmitButton = new Button("Register me", this);
                        registerSubmitButton.addClickListener(new Button.ClickListener() {

                            @Override
                            public void buttonClick(ClickEvent event) {
                                if (event.getButton() == registerSubmitButton) {
                                    if (!newUser.isValid() || !setPassword.isValid()) {
                                        return;
                                    }
                                    String username = newUser.getValue();
                                    String entered_password = setPassword.getValue();
                                    String insert_user = "'" + username + "' , '" + entered_password + "'";

                                    boolean isInserted = true;
                                    try {
                                        // Insert new user details in the database
                                        SQLContainer insertContainer = createMySQLContainer("annotation_users",
                                                insert_user);
                                        Object id = insertContainer.addItem();
                                        insertContainer.getContainerProperty(id, "user").setValue(username);
                                        insertContainer.getContainerProperty(id, "password")
                                                .setValue(entered_password);
                                        insertContainer.commit();
                                    } catch (Exception e) {
                                        isInserted = false;
                                        System.out.println(
                                                "Problem in registering new user while inserting into the database");
                                    }

                                    if (isInserted) {
                                        userWelcome.setValue(
                                                "Registered Successfulle. Please Sign in to annotate. ");
                                        int registerLayoutIndex = rightTopAnnotationForm
                                                .getComponentIndex(registerLayout);
                                        rightTopAnnotationForm.addComponent(requestLoginLayout,
                                                registerLayoutIndex);
                                        rightTopAnnotationForm.removeComponent(registerLayout);
                                        registerLayout.removeAllComponents();
                                        requestLoginLayout.removeComponent(registerButton);
                                    } else {
                                        // Wrong password clear the password field and refocuses it
                                        password.setValue(null);
                                        password.focus();

                                    }
                                    // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                                }
                            }
                        });

                        // Add both to a panel
                        VerticalLayout registerFields = new VerticalLayout(newUser, setPassword,
                                registerSubmitButton);
                        registerFields
                                .setCaption("Please login to access the application. (test@test.com/passw0rd)");
                        registerFields.setSpacing(true);
                        registerFields.setMargin(new MarginInfo(true, true, true, false));
                        registerFields.setSizeUndefined();

                        registerLayout.addComponent(registerFields);
                        int requestLoginLayoutIndex = rightTopAnnotationForm
                                .getComponentIndex(requestLoginLayout);
                        rightTopAnnotationForm.addComponent(registerLayout, requestLoginLayoutIndex);
                        rightTopAnnotationForm.removeComponent(requestLoginLayout);

                    }
                }
            });
            boolean isLoggedIn = getSession().getAttribute("user") != null;
            if (isLoggedIn) {
                // System.out.println("user attribute" + String.valueOf(getSession().getAttribute("user")));
                String logged_user = String.valueOf(getSession().getAttribute("user"));
                userWelcome.setValue("Hello " + logged_user);
                loginButton.setCaption("Logout");
                requestLoginLayout.removeComponent(registerButton);
                try {

                    String search_query = " SELECT * FROM manual_annotation " + "where annotator = '"
                            + logged_user + "'" + " AND studyid =  '" + selectedStudy + "'";

                    rnaseqContainer = createMySQLContainer("suggestion_by_manual_annotation", search_query);
                    //rnaseqContainer.removeAllContainerFilters();
                    Item lastItem = rnaseqContainer.getItem(rnaseqContainer.lastItemId());
                    System.out.println("Item is " + lastItem);
                    //   String annotated_disease_category = lastItem.getItemProperty("disease_category").getValue().toString();
                    String isDisease = "1";
                    if (!(lastItem.getItemProperty("isDisease").getValue() == null)) {
                        isDisease = lastItem.getItemProperty("isDisease").getValue().toString();
                        // System.out.println("disease is not null" +  isDisease);
                        if (isDisease.equals("1")) {
                            checkboxDiseaseYes.setValue(true);
                        } else if (isDisease.equals("0")) {
                            checkboxDiseaseNo.setValue(true);
                        }
                    } else {
                        checkboxDiseaseYes.setValue(true);
                        //  System.out.println("disease is null");
                    }

                    if (!(lastItem.getItemProperty("isCaseControl").getValue() == null)) {
                        if (lastItem.getItemProperty("isCaseControl").getValue().toString().equals("1")) {
                            checkboxCaseControlYes.setValue(true);
                        } else if (lastItem.getItemProperty("isCaseControl").getValue().toString()
                                .equals("0")) {
                            checkboxCaseControlNo.setValue(true);
                        }
                    }

                    if (!(lastItem.getItemProperty("isTimeSeries").getValue() == null)) {
                        if (lastItem.getItemProperty("isTimeSeries").getValue().toString().equals("1")) {
                            checkboxTimeSeriesYes.setValue(true);
                        } else if (lastItem.getItemProperty("isTimeSeries").getValue().toString().equals("0")) {
                            checkboxTimeSeriesNo.setValue(true);
                        }
                    }

                    if (!(lastItem.getItemProperty("isTreatment").getValue() == null)) {
                        if (lastItem.getItemProperty("isTreatment").getValue().toString().equals("1")) {
                            checkboxTreatmentYes.setValue(true);
                        } else if (lastItem.getItemProperty("isTreatment").getValue().toString().equals("0")) {
                            checkboxTreatmentNo.setValue(true);
                        }
                    }

                    if (!(lastItem.getItemProperty("isCellLine").getValue() == null)) {
                        if (lastItem.getItemProperty("isCellLine").getValue().toString().equals("1")) {
                            checkboxSampleTypeCellLine.setValue(true);
                        } else if (lastItem.getItemProperty("isCellLine").getValue().toString().equals("0")) {
                            checkboxSampleTypeCellLine.setValue(false);
                        }
                    }
                    if (!(lastItem.getItemProperty("isPrimaryCells").getValue() == null)) {
                        if (lastItem.getItemProperty("isPrimaryCells").getValue().toString().equals("1")) {
                            checkboxSampleTypePrimaryCells.setValue(true);
                        } else if (lastItem.getItemProperty("isPrimaryCells").getValue().toString()
                                .equals("0")) {
                            checkboxSampleTypePrimaryCells.setValue(false);
                        }
                    }

                    if (!(lastItem.getItemProperty("isTissue").getValue() == null)) {
                        if (lastItem.getItemProperty("isTissue").getValue().toString().equals("1")) {
                            checkboxSampleTypeTissue.setValue(true);
                        } else if (lastItem.getItemProperty("isTissue").getValue().toString().equals("0")) {
                            checkboxSampleTypeTissue.setValue(false);
                        }
                    }
                    if (!(lastItem.getItemProperty("isWholeBlood").getValue() == null)) {
                        if (lastItem.getItemProperty("isWholeBlood").getValue().toString().equals("1")) {
                            checkboxSampleTypeWholeBlood.setValue(true);
                        } else if (lastItem.getItemProperty("isWholeBlood").getValue().toString().equals("0")) {
                            checkboxSampleTypeWholeBlood.setValue(false);
                        }
                    }

                    if (!(lastItem.getItemProperty("isPlasma").getValue() == null)) {
                        if (lastItem.getItemProperty("isPlasma").getValue().toString().equals("1")) {
                            checkboxSampleTypePlasma.setValue(true);
                        } else if (lastItem.getItemProperty("isPlasma").getValue().toString().equals("0")) {
                            checkboxSampleTypePlasma.setValue(false);
                        }
                    }

                    if (!(lastItem.getItemProperty("sequencing_platform").getValue() == null)) {
                        String sequencing_platform = lastItem.getItemProperty("sequencing_platform").getValue()
                                .toString();
                        String[] annotated_platforms = sequencing_platform.split("\\;");
                        for (Iterator i = platformsListSelect.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();
                            if (annotated_platforms.length > 0) {
                                for (String pf : annotated_platforms) {
                                    if (pf.equalsIgnoreCase(temp)) {
                                        platformsListSelect.select(iid);
                                    }
                                }
                            }

                        }
                    }

                    if (!(lastItem.getItemProperty("replicate_type").getValue() == null)) {
                        String replicate_type = lastItem.getItemProperty("replicate_type").getValue()
                                .toString();
                        for (Iterator i = replicatTypesListComboBox.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();
                            if (replicate_type.equalsIgnoreCase(temp)) {
                                replicatTypesListComboBox.select(iid);
                            }
                        }

                    }

                    if (!(lastItem.getItemProperty("annotation_status").getValue() == null)) {
                        if (lastItem.getItemProperty("annotation_status").getValue().toString()
                                .equals("ongoing")) {
                            checkboxAnnotaionOngoing.setValue(true);
                        } else if (lastItem.getItemProperty("annotation_status").getValue().toString()
                                .equals("completed")) {
                            checkboxAnnotaionCompleted.setValue(true);
                        }
                    }

                    String annotated_disease_category = lastItem.getItemProperty("disease_category").getValue()
                            .toString();
                    String[] annotated_disease_categories = annotated_disease_category.split("\\;");

                    String main_disease = "";
                    for (Iterator i = complexDisease.getItemIds().iterator(); i.hasNext();) {
                        Object iid = (Object) i.next();
                        String selected_disease_category = "";
                        String temp = iid.toString();
                        if (!temp.startsWith("--")) {
                            main_disease = temp;
                        }

                        if (iid.toString().startsWith("--")) { // sub disease is selected
                            if (selected_disease_category.isEmpty()) {
                                selected_disease_category = "complex_disease|" + main_disease + "|" + temp;
                            } else {
                                selected_disease_category = selected_disease_category + "," + "complex_disease|"
                                        + main_disease + "|" + temp;
                            }

                        } else {
                            if (selected_disease_category.isEmpty()) {
                                selected_disease_category = "complex_disease|" + main_disease + "|" + "-- Any";
                            } else {
                                selected_disease_category = selected_disease_category + "," + "complex_disease|"
                                        + main_disease + "|" + "-- Any";
                            }

                        }

                        if (annotated_disease_categories.length > 0) {
                            for (String cat : annotated_disease_categories) {
                                //  System.out.println(cat + selected_disease_category);
                                if (cat.equals(selected_disease_category)) {
                                    complexDisease.select(iid);
                                }
                            }
                        }
                    }

                    main_disease = "";
                    for (Iterator i = rareDisease.getItemIds().iterator(); i.hasNext();) {
                        Object iid = (Object) i.next();
                        String selected_disease_category = "";
                        String temp = iid.toString();
                        if (!temp.startsWith("--")) {
                            main_disease = temp;
                        }

                        if (iid.toString().startsWith("--")) { // sub disease is selected
                            if (selected_disease_category.isEmpty()) {
                                selected_disease_category = "rare_disease|" + main_disease + "|" + temp;
                            } else {
                                selected_disease_category = selected_disease_category + "," + "rare_disease|"
                                        + main_disease + "|" + temp;
                            }

                        } else {
                            if (selected_disease_category.isEmpty()) {
                                selected_disease_category = "rare_disease|" + main_disease + "|" + "-- Any";
                            } else {
                                selected_disease_category = selected_disease_category + "," + "rare_disease|"
                                        + main_disease + "|" + "-- Any";
                            }

                        }

                        if (annotated_disease_categories.length > 0) {
                            for (String cat : annotated_disease_categories) {
                                //  System.out.println(cat + selected_disease_category);
                                if (cat.equals(selected_disease_category)) {
                                    rareDisease.select(iid);
                                }
                            }
                        }
                    }

                    main_disease = "";
                    for (Iterator i = otherDisease.getItemIds().iterator(); i.hasNext();) {
                        Object iid = (Object) i.next();
                        String selected_disease_category = "";
                        String temp = iid.toString();
                        if (!temp.startsWith("--")) {
                            main_disease = temp;
                        }

                        if (iid.toString().startsWith("--")) { // sub disease is selected
                            if (selected_disease_category.isEmpty()) {
                                selected_disease_category = "other_disease|" + main_disease + "|" + temp;
                            } else {
                                selected_disease_category = selected_disease_category + "," + "other_disease|"
                                        + main_disease + "|" + temp;
                            }

                        } else {
                            if (selected_disease_category.isEmpty()) {
                                selected_disease_category = "other_disease|" + main_disease + "|" + "-- Any";
                            } else {
                                selected_disease_category = selected_disease_category + "," + "other_disease|"
                                        + main_disease + "|" + "-- Any";
                            }

                        }

                        if (annotated_disease_categories.length > 0) {
                            for (String cat : annotated_disease_categories) {
                                // System.out.println(cat + selected_disease_category);
                                if (cat.equals(selected_disease_category)) {
                                    otherDisease.select(iid);
                                }
                            }
                        }
                    }

                } catch (Exception e) {
                }

            }
            //</editor-fold>

            Button submitButton = new Button("Submit");
            submit_manual_count = 0;
            Label manualSubmitStatus = new Label("");
            submitButton.addClickListener(new Button.ClickListener() {
                public void buttonClick(ClickEvent event) {
                    if (event.getButton() == submitButton) {
                        submit_manual_count = submit_manual_count + 1;
                        int isDisease = 0;
                        if (checkboxDiseaseYes.getValue() && !checkboxDiseaseNo.getValue()) {
                            isDisease = 1;
                        }
                        String selected_disease_category = "";
                        String main_disease = "";
                        for (Iterator i = complexDisease.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();
                            if (!temp.startsWith("--")) {
                                main_disease = temp;
                            }
                            if (complexDisease.isSelected(iid)) {
                                //  System.out.println("Selected" + temp);

                                if (iid.toString().startsWith("--")) { // sub disease is selected
                                    if (selected_disease_category.isEmpty()) {
                                        selected_disease_category = "complex_disease|" + main_disease + "|"
                                                + temp;
                                    } else {
                                        selected_disease_category = selected_disease_category + ";"
                                                + "complex_disease|" + main_disease + "|" + temp;
                                    }

                                } else { //main disease is selected
                                    //     selected_disease_main = main_disease;
                                    if (selected_disease_category.isEmpty()) {
                                        selected_disease_category = "complex_disease|" + main_disease + "|"
                                                + "Any";
                                    } else {
                                        selected_disease_category = selected_disease_category + ";"
                                                + "complex_disease|" + main_disease + "|" + "Any";
                                    }

                                }
                            }
                        }
                        main_disease = "";
                        for (Iterator i = rareDisease.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();
                            if (!temp.startsWith("--")) {
                                main_disease = temp;
                            }
                            if (rareDisease.isSelected(iid)) {
                                //  System.out.println("Selected" + temp);

                                if (iid.toString().startsWith("--")) { // sub disease is selected
                                    if (selected_disease_category.isEmpty()) {
                                        selected_disease_category = "rare_disease|" + main_disease + "|" + temp;
                                    } else {
                                        selected_disease_category = selected_disease_category + ";"
                                                + "rare_disease|" + main_disease + "|" + temp;
                                    }

                                } else { //main disease is selected
                                    //     selected_disease_main = main_disease;
                                    if (selected_disease_category.isEmpty()) {
                                        selected_disease_category = "rare_disease|" + main_disease + "|"
                                                + "Any";
                                    } else {
                                        selected_disease_category = selected_disease_category + ";"
                                                + "rare_disease|" + main_disease + "|" + "Any";
                                    }

                                }
                            }
                        }
                        main_disease = "";
                        for (Iterator i = otherDisease.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();
                            if (!temp.startsWith("--")) {
                                main_disease = temp;
                            }
                            if (otherDisease.isSelected(iid)) {
                                //  System.out.println("Selected" + temp);

                                if (iid.toString().startsWith("--")) { // sub disease is selected
                                    if (selected_disease_category.isEmpty()) {
                                        selected_disease_category = "other_disease|" + main_disease + "|"
                                                + temp;
                                    } else {
                                        selected_disease_category = selected_disease_category + ";"
                                                + "other_disease|" + main_disease + "|" + temp;
                                    }

                                } else {
                                    if (selected_disease_category.isEmpty()) {
                                        selected_disease_category = "other_disease|" + main_disease + "|"
                                                + "Any";
                                    } else {
                                        selected_disease_category = selected_disease_category + ";"
                                                + "other_disease|" + main_disease + "|" + "Any";
                                    }

                                }
                            }
                        }

                        int isCaseControl = 0;
                        if (checkboxCaseControlYes.getValue() && !checkboxCaseControlNo.getValue()) {
                            isCaseControl = 1;
                        }
                        int isTimeSeries = 0;
                        if (checkboxTimeSeriesYes.getValue() && !checkboxTimeSeriesNo.getValue()) {
                            isTimeSeries = 1;
                        }
                        int isTreatment = 0;
                        if (checkboxTreatmentYes.getValue() && !checkboxTreatmentNo.getValue()) {
                            isTreatment = 1;
                        }
                        int isTissue = 0;
                        if (checkboxSampleTypeTissue.getValue()) {
                            isTissue = 1;
                        }
                        int isCellLine = 0;
                        if (checkboxSampleTypeCellLine.getValue()) {
                            isCellLine = 1;
                        }
                        int isPrimaryCells = 0;
                        if (checkboxSampleTypePrimaryCells.getValue()) {
                            isPrimaryCells = 1;
                        }
                        int isWholeBlood = 0;
                        if (checkboxSampleTypeWholeBlood.getValue()) {
                            isWholeBlood = 1;
                        }
                        int isPlasma = 0;
                        if (checkboxSampleTypePlasma.getValue()) {
                            isPlasma = 1;
                        }

                        String selected_sequencing_platforms = "";
                        for (Iterator i = platformsListSelect.getItemIds().iterator(); i.hasNext();) {
                            Object iid = (Object) i.next();
                            String temp = iid.toString();

                            if (platformsListSelect.isSelected(iid)) {
                                if (selected_sequencing_platforms.isEmpty()) {
                                    selected_sequencing_platforms = temp;
                                } else {
                                    selected_sequencing_platforms = selected_sequencing_platforms + ";" + temp;
                                }

                            }
                        }

                        String annotation_status = "ongoing";
                        if (checkboxAnnotaionCompleted.getValue() && !checkboxAnnotaionOngoing.getValue()) {
                            annotation_status = "completed";
                        }

                        String custom_annotation_value = "";
                        for (int j = 1; j <= custom_annotation_counter; j++) {
                            if (findById(rightTopAnnotationForm, "customAnnoName" + j) instanceof TextField) {
                                TextField tempTFname = (TextField) findById(rightTopAnnotationForm,
                                        "customAnnoName" + j);
                                custom_annotation_value = custom_annotation_value + tempTFname.getValue()
                                        + ":::";
                                //  System.out.println(j + "custom name: " + tempTFname.getValue());
                            }
                            if (findById(rightTopAnnotationForm, "customAnnoValue" + j) instanceof TextField) {
                                TextField tempTFvalue = (TextField) findById(rightTopAnnotationForm,
                                        "customAnnoValue" + j);
                                custom_annotation_value = custom_annotation_value + tempTFvalue.getValue()
                                        + "###";
                                //  System.out.println(j + "custom value: " + tempTFvalue.getValue());
                            }
                        }
                        String annotator = "Anonymous";
                        boolean isLoggedIn = getSession().getAttribute("user") != null;
                        if (isLoggedIn) {
                            annotator = String.valueOf(getSession().getAttribute("user"));
                            //  System.out.println("annotator is " + annotator);
                        }
                        Boolean isInserted = true;
                        try {
                            // Insert new user details in the database
                            SQLContainer insertContainer = createMySQLContainer("manual_annotation", "dummy");
                            Object id = insertContainer.addItem();
                            insertContainer.getContainerProperty(id, "studyId").setValue(selectedStudy);
                            insertContainer.getContainerProperty(id, "isDisease").setValue(isDisease);
                            insertContainer.getContainerProperty(id, "isTimeSeries").setValue(isTimeSeries);
                            insertContainer.getContainerProperty(id, "isTreatment").setValue(isTreatment);
                            insertContainer.getContainerProperty(id, "isCellLine").setValue(isCellLine);
                            insertContainer.getContainerProperty(id, "isPrimaryCells").setValue(isPrimaryCells);
                            insertContainer.getContainerProperty(id, "isCaseControl").setValue(isCaseControl);
                            insertContainer.getContainerProperty(id, "isTissue").setValue(isTissue);
                            insertContainer.getContainerProperty(id, "disease_category")
                                    .setValue(selected_disease_category);
                            insertContainer.getContainerProperty(id, "sequencing_platform")
                                    .setValue(selected_sequencing_platforms);
                            insertContainer.getContainerProperty(id, "replicate_type")
                                    .setValue(replicatTypesListComboBox.getValue());
                            insertContainer.getContainerProperty(id, "isWholeBlood").setValue(isWholeBlood);
                            insertContainer.getContainerProperty(id, "isPlasma").setValue(isPlasma);
                            insertContainer.getContainerProperty(id, "custom_annotation")
                                    .setValue(custom_annotation_value);
                            insertContainer.getContainerProperty(id, "annotation_status")
                                    .setValue(annotation_status);
                            insertContainer.getContainerProperty(id, "annotator").setValue(annotator);
                            insertContainer.commit();
                            manualSubmitStatus.setCaption("Submitted Manual Annotation Successfully");
                            SQLContainer dummyStudyContainer = null;
                            if (annotation_status.equalsIgnoreCase("ongoing")) {
                                dummyStudyContainer = createMySQLContainer("study_summary_ongoing",
                                        selectedStudy);
                            } else if (annotation_status.equalsIgnoreCase("completed")) {
                                dummyStudyContainer = createMySQLContainer("study_summary_completed",
                                        selectedStudy);
                            }

                            //  Object studyid = insertStudyContainer.getItem(new RowId(new Object[]{selectedStudy}));
                            //  System.out.println("selected study is " + selectedStudy);
                            //   System.out.println("selected study id is  " + studyid.toString());
                            //  insertStudyContainer.getContainerProperty(studyid, "annotation_status").setValue(annotation_status);
                            //   insertStudyContainer.commit();
                            if (submit_manual_count > 1) {
                                manualSubmitStatus.setCaption("Submitted Manual Annotation Successfully "
                                        + submit_manual_count + " times");
                            }
                        } catch (Exception e) {
                            isInserted = false;
                            manualSubmitStatus.setCaption(
                                    "Problem occured during submission of Manual Annotation to the database");
                            System.out.println("Problem in inserting manual annotation into the database");
                            //  e.printStackTrace();
                        }
                    }
                }
            });

            rightTopAnnotationForm.addComponent(diseaseLayout);
            rightTopAnnotationForm.addComponent(studyTypesPanel);
            rightTopAnnotationForm.addComponent(diseaseCategoryPanel);
            rightTopAnnotationForm.addComponent(platformLayout);
            rightTopAnnotationForm.addComponent(sampleTypesPanel);
            rightTopAnnotationForm.addComponent(replicatTypesLayout);
            rightTopAnnotationForm.addComponent(addCustomAnnoButton);
            rightTopAnnotationForm.addComponent(annotationStatusPanel);
            rightTopAnnotationForm.addComponent(submitButton);
            rightTopAnnotationForm.addComponent(manualSubmitStatus);
            //</editor-fold>
            //</editor-fold>

            //<editor-fold defaultstate="collapsed" desc="fill tree in right bottom">
            Iterator iterator = biosampleSet.iterator();

            // check values
            int treeBiosampleCount = 0;
            while (iterator.hasNext()) {
                treeBiosampleCount = treeBiosampleCount + 1;
                //  System.out.println("Value: "+ iterator.next() + " ");
                //    if(treeBiosampleCount < 500){
                String bsample = iterator.next().toString();
                String[] biosample_parts = bsample.split("\\|");
                String biosample_acc = biosample_parts[0];
                tree.addItem(biosample_acc);
                tree.setParent(biosample_acc, selectedStudy);
                tree.setItemCaption(biosample_acc, "BioSample: " + biosample_acc);
                //    }
            }
            Set expMap_entrset = expMap.entrySet();
            Iterator it = expMap_entrset.iterator();
            while (it.hasNext()) {

                Map.Entry me = (Map.Entry) it.next();
                String[] expParts = expDetailMap.get(me.getKey());
                String expTitle = "";
                if (expParts.length > 3) {
                    expTitle = expParts[3];
                }
                tree.addItem(me.getKey());
                tree.setParent(me.getKey(), me.getValue());
                tree.setItemCaption(me.getKey(), "Experiment: " + me.getKey() + ": " + expTitle);
            }

            Set runMap_entrset = runMap.entrySet();
            Iterator runit = runMap_entrset.iterator();
            while (runit.hasNext()) {
                Map.Entry runEntry = (Map.Entry) runit.next();
                tree.addItem(runEntry.getKey());
                tree.setParent(runEntry.getKey(), runEntry.getValue());
                tree.setItemCaption(runEntry.getKey(), "Run: " + runEntry.getKey());
            }

            tree.expandItemsRecursively(selectedStudy);
            //</editor-fold>
        }
    });
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="Events associated with the Tree (study/Biosample/Experiment/Runs">
    tree.setSelectable(true);
    tree.setImmediate(true);
    tree.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            Object id = event.getProperty().getValue();
            if (id != null) {
                String selectedTreeId = id.toString();
                String selectedTreeItem = tree.getItemCaption(id).toString();
                // System.out.println("Tree event is fired: " + selectedTreeItem);
                if (selectedTreeItem.startsWith("BioSample")) {

                    myform.removeAllComponents();
                    SQLContainer tempContainer = createMySQLContainer("biosample", selectedTreeId);
                    for (int i = 0; i < tempContainer.getItemIds().size(); i++) {
                        String accessType = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("AccessType").getValue().toString();
                        String publicationDate = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("PublicationDate").getValue().toString();
                        String lastUpdate = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("LastUpdate").getValue().toString();
                        String accession = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Accession").getValue().toString();
                        String title = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Title").getValue().toString();
                        String taxonomy_id = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("TaxonomyId").getValue().toString();
                        String taxonomy_name = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("TaxonomyName").getValue().toString();
                        String samplePackage = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Package").getValue().toString();
                        String status = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Status").getValue().toString();
                        String statusTime = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("StatusTime").getValue().toString();
                        String sampleIds = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Ids").getValue().toString();
                        String attributes = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Attributes").getValue().toString();
                        String models = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Models").getValue().toString();
                        String submissionDate = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("SubmissionDate").getValue().toString();
                        String owner = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Owner").getValue().toString();

                        String[] myfields = new String[] { accessType, publicationDate, lastUpdate, accession,
                                title, taxonomy_id, taxonomy_name, samplePackage, status, statusTime, sampleIds,
                                attributes, models, submissionDate, owner };
                        /*
                         for (String fieldName : myfields) {
                         Label tempLabl = new Label("");
                         }
                         */
                        Label labelAccessType = new Label("Access Type: " + accessType);
                        myform.addComponent(labelAccessType);
                        Label labelPublicationDate = new Label("Publication Date: " + publicationDate);
                        myform.addComponent(labelPublicationDate);
                        Label labelLastUpdate = new Label("Last Update: " + lastUpdate);
                        myform.addComponent(labelLastUpdate);
                        Label labelAccession = new Label("Accession: " + accession);
                        myform.addComponent(labelAccession);
                        Label labelTitle = new Label("<b>Title: </b>" + title, ContentMode.HTML);
                        myform.addComponent(labelTitle);
                        Label labelTaxonomyId = new Label("Taxonomy Id: " + taxonomy_id);
                        myform.addComponent(labelTaxonomyId);
                        Label labelTaxonomyName = new Label("Taxonomy Name: " + taxonomy_name);
                        myform.addComponent(labelTaxonomyName);
                        Label labelPackage = new Label("Package: " + samplePackage);
                        myform.addComponent(labelPackage);
                        Label labelStatus = new Label("Status: " + status);
                        myform.addComponent(labelStatus);
                        Label labelStatusTime = new Label("Status Time: " + statusTime);
                        myform.addComponent(labelStatusTime);
                        Label labelOwner = new Label("Owner: " + owner);
                        myform.addComponent(labelOwner);

                        String[] id_parts = sampleIds.split("\\:\\-");
                        if (id_parts.length > 1) {
                            String[] id_dbs = id_parts[0].split("\\|");
                            String[] id_values = id_parts[1].split("\\|");
                            for (int j = 0; j < id_dbs.length; j++) {
                                Label tempLabel = new Label(id_dbs[j] + ": " + id_values[j]);
                                myform.addComponent(tempLabel);

                            }
                        }

                        String[] attribute_parts = attributes.split("\\:\\-");
                        if (attribute_parts.length > 1) {
                            String[] attribute_names = attribute_parts[0].split("\\|");
                            String[] attribute_values = attribute_parts[1].split("\\|");
                            for (int j = 0; j < attribute_names.length; j++) {
                                Label tempLabel = new Label(
                                        "<b>" + attribute_names[j] + ": </b>" + attribute_values[j],
                                        ContentMode.HTML);
                                myform.addComponent(tempLabel);
                                //  System.out.println("inside attributes ");

                            }
                        }

                        //   TextField field = new TextField(lastDpdate);
                        // myform.addComponent(field);
                        //field.setWidth("100%");
                    }
                }
                if (selectedTreeItem.startsWith("Experiment")) {
                    SQLContainer tempContainer = createMySQLContainer("sra_rnaseq_exp", selectedTreeId);
                    myform.removeAllComponents();
                    Map expMap = new HashMap();
                    Map<String, String[]> expDetailMap = new HashMap<>();
                    Map<String, String[]> libraryDetailMap = new HashMap<>();
                    Map<String, String[]> platformMap = new HashMap<>();
                    Map runMap = new HashMap();
                    HashSet<String> biosampleSet = new HashSet<>();
                    for (int i = 0; i < tempContainer.getItemIds().size(); i++) {
                        String docid = tempContainer.getIdByIndex(i).toString();
                        String biosample = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Biosample_Acc_Id_SampleId").getValue().toString();
                        biosampleSet.add(biosample);
                        String[] b_parts = biosample.split("\\|");

                        String exp = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Experiment_Acc_Ver_Status_Name").getValue().toString();
                        String[] exp_parts = exp.split("\\|");
                        String exp_acc = exp_parts[0];
                        expMap.put(exp_acc, b_parts[0]);
                        expDetailMap.put(exp_acc, exp_parts);

                        String library_string = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Library_Name_Strategy_Source_Selection_Layout").getValue()
                                .toString();
                        String[] library_parts = library_string.split("\\|");
                        String library_name = "";
                        String library_strategy = "";
                        String library_source = "";
                        String library_selection = "";
                        String library_layout = "";
                        if (library_parts.length > 0) {
                            library_name = library_parts[0];
                        }
                        if (library_parts.length > 1) {
                            library_strategy = "<b> <i> Strategy </i> </b>" + library_parts[1];
                        }
                        if (library_parts.length > 2) {
                            library_source = "<b> <i> Source </i> </b>" + library_parts[2];
                        }
                        if (library_parts.length > 3) {
                            library_selection = "<b> <i> Selection </i> </b>" + library_parts[3];
                        }
                        if (library_parts.length > 4) {
                            String tempLayout = library_parts[4];
                            tempLayout = tempLayout.replaceAll("<", "");
                            tempLayout = tempLayout.replaceAll("/>", "");
                            library_layout = "<b> <i> Layout </i> </b>" + tempLayout;
                        }
                        String[] tempStringArray = new String[] { library_strategy, library_source,
                                library_selection, library_layout };
                        if (library_name.length() > 1) {
                            libraryDetailMap.put(library_name, tempStringArray);
                        }

                        String sra_plaforms = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Platform_InstrumentModel").getValue().toString();
                        String[] sra_plaforms_parts = sra_plaforms.split("\\|");
                        platformMap.put(exp_acc, sra_plaforms_parts);

                        String run = tempContainer.getItem(tempContainer.getIdByIndex(i))
                                .getItemProperty("Runs").getValue().toString();
                        String[] run_parts = run.split("\\|");
                        if (run_parts.length > 0) {
                            for (int j = 0; j < run_parts.length; j++) {
                                String temprun = run_parts[j];
                                String[] temprun_parts = temprun.split("\\,");
                                runMap.put(temprun_parts[0], exp_acc);
                            }
                        }
                    }
                    //   Label labelExperimentAcc = new Label("<b>Experiment Accession: </b>" + selectedTreeId, ContentMode.HTML);
                    // myform.addComponent(labelExperimentAcc);
                    String libraryDetails = "<b>Experiment Accession: </b>" + selectedTreeId + "<br><br>";
                    for (Map.Entry<String, String[]> entry : libraryDetailMap.entrySet()) {
                        libraryDetails = libraryDetails + "<b>Library Details: </b>" + entry.getKey()
                                + "<br><br>";
                        String[] temp_library_details = entry.getValue();
                        for (String dt : temp_library_details) {
                            libraryDetails = libraryDetails + dt + "<br><br>";
                        }
                    }
                    Label labelLibraryDetails = new Label(libraryDetails, ContentMode.HTML);
                    myform.addComponent(labelLibraryDetails);
                    //   myform.setComponentAlignment(labelExperimentAcc, Alignment.TOP_LEFT);
                    myform.setComponentAlignment(labelLibraryDetails, Alignment.TOP_LEFT);

                }
                if (selectedTreeItem.startsWith("Run")) {
                    myform.removeAllComponents();
                    SQLContainer tempContainer = createMySQLContainer("sra_rnaseq_run", selectedTreeId);
                    if (tempContainer.size() > 0) {
                        Item tempItem = tempContainer.getItem(tempContainer.firstItemId());
                        String runs = tempItem.getItemProperty("Runs").getValue().toString();
                        String[] runs_parts = runs.split("\\|");
                        for (String run : runs_parts) {
                            if (run.contains(selectedTreeId)) {
                                String[] run_details = run.split("\\,");
                                String stringRun = "";
                                if (run_details.length > 0) {
                                    stringRun = stringRun + "<b>Run Accession: </b>" + run_details[0]
                                            + "<br><br>";
                                }
                                if (run_details.length > 1) {
                                    stringRun = stringRun + "<b>Number of spots or reads: </b>" + run_details[1]
                                            + "<br><br>";
                                }
                                if (run_details.length > 1) {
                                    stringRun = stringRun + "<b>Number of bases: </b>" + run_details[2]
                                            + "<br><br>";
                                }
                                Label labelRunDetails = new Label(stringRun, ContentMode.HTML);
                                myform.addComponent(labelRunDetails);
                            }

                        }
                    }
                }
            } else {
                System.out.println("id is null");
            }
        }

    });
    //</editor-fold>

}

From source file:edu.nps.moves.mmowgli.components.Footer.java

License:Open Source License

public static Link buildFouoNoticeTL() {
    GameLinks gl = GameLinks.getTL();/*from   w  w  w . j a va2s. com*/
    MediaLocator mediaLoc = Mmowgli2UI.getGlobals().getMediaLocator();
    Link fouoLink = new Link(null, new ExternalResource(gl.getFouoLink()));
    Resource icon = mediaLoc.locate(new Media("fouo250w36h.png", // todo, database-ize
            "", "", MediaType.IMAGE, Source.GAME_IMAGES_REPOSITORY));
    fouoLink.setIcon(icon);
    fouoLink.setDescription(Game.getTL().getFouoDescription());
    fouoLink.setTargetName(PORTALTARGETWINDOWNAME);
    fouoLink.setTargetBorder(BorderStyle.DEFAULT);
    return fouoLink;
}

From source file:eu.lod2.AuthoringTab.java

License:Apache License

public AuthoringTab(LOD2DemoState st) {

    // The internal state and 
    state = st;//from   ww  w .j a  v  a2s . c o  m

    VerticalLayout authoringTab = new VerticalLayout();

    // Activate a graph in Virtuoso be editable in OntoWiki.
    // Remark: the accessrightsnull in Virtuoso have be set correct [check this]
    Form activateform = new Form();
    activateform.setDebugId(this.getClass().getSimpleName() + "_activateform");
    activateform.setCaption("Activate graph in OntoWiki");

    // the localhost ip-address
    activategraph = new TextField("graphname:", state.getCurrentGraph());
    activategraph.setColumns(50);
    activateform.getLayout().addComponent(activategraph);

    Button activateButton = new Button("Activate graph", new ClickListener() {
        public void buttonClick(ClickEvent event) {
            activateGraph(event);
        }
    });
    activateButton.setDebugId(this.getClass().getSimpleName() + "_activateButton");
    activateButton.setDescription("Activate the graph in Virtuoso to become editable in OntoWiki.");
    activateform.getFooter().addComponent(activateButton);

    authoringTab.addComponent(activateform);

    // add a form widget to edit with OntoWiki (or other editor) a specific resource
    Form t2f = new Form();
    t2f.setCaption("Edit resource content");

    TextField resToEdit = new TextField("Resource:");
    resToEdit.setDebugId(this.getClass().getSimpleName() + "_resToEdit");
    resToEdit.setImmediate(false);
    resToEdit.addListener(this);
    resToEdit.setColumns(50);
    t2f.getLayout().addComponent(resToEdit);

    // initialize the footer area of the form
    HorizontalLayout t2ffooterlayout = new HorizontalLayout();
    t2f.setFooter(t2ffooterlayout);

    ontowikil = new Link("Edit with Ontowiki",
            new ExternalResource(state.getHostName() + "/ontowiki/view/?r=&m=http://mytest.com"));
    ontowikil.setTargetName("_blank");
    ontowikil.setTargetBorder(Link.TARGET_BORDER_NONE);
    ThemeResource ontoWikiIconl = new ThemeResource("app_images/OntoWiki.logo.png");
    ontowikil.setIcon(ontoWikiIconl);
    ontowikil.setEnabled(false);

    t2f.getFooter().addComponent(ontowikil);
    t2ffooterlayout.setComponentAlignment(ontowikil, Alignment.TOP_RIGHT);

    authoringTab.addComponent(t2f);

    final Panel panel = new Panel("LOD2 components interfaces");

    VerticalLayout panelContent = new VerticalLayout();

    Link l = new Link("Ontowiki",
            new ExternalResource(state.getHostName() + "/ontowiki/view/?r=&m=http://mytest.com"));
    l.setTargetName("_blank");
    l.setTargetBorder(Link.TARGET_BORDER_NONE);
    ThemeResource ontoWikiIcon = new ThemeResource("app_images/OntoWiki.logo.png");
    l.setIcon(ontoWikiIcon);
    panelContent.addComponent(l);

    panel.setContent(panelContent);
    authoringTab.addComponent(panel);

    // The composition root MUST be set
    setCompositionRoot(authoringTab);
}

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();//w  ww  . ja v  a  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.QueryingTab.java

License:Apache License

public QueryingTab(LOD2DemoState st) {

    // The internal state and 
    state = st;/*  www. j ava2 s  .c o  m*/

    VerticalLayout queryingTab = new VerticalLayout();

    Form t2f = new Form();
    t2f.setDebugId(this.getClass().getSimpleName() + "_t2f");
    t2f.setCaption("Information Source Querying");

    graphname = new TextField("repository graph name:");
    graphname.setDebugId(this.getClass().getSimpleName() + "_graphname");
    /*      if (state == null | state.getCurrentGraph() == null | state.getCurrentGraph().equals("")) {
             graphname.setValue("");
          } else {
             graphname.setValue(state.getCurrentGraph());
          };
          */

    // configure & add to layout
    graphname.setImmediate(true);
    graphname.addListener(this);
    graphname.setColumns(30);
    graphname.setRequired(true);
    graphname.setRequiredError("Name of the graph is missing. No query will be issued.");
    t2f.getLayout().addComponent(graphname);

    // initialize the footer area of the form
    HorizontalLayout t2ffooterlayout = new HorizontalLayout();
    t2f.setFooter(t2ffooterlayout);

    Button okbutton = new Button("List graph content", new ClickListener() {
        public void buttonClick(ClickEvent event) {
            extractionQuery(event);
        }
    });
    okbutton.setDebugId(this.getClass().getSimpleName() + "_okbutton");
    okbutton.setDescription(
            "View the result from the SPARQL query: 'select * from <graphname> where {?s ?p ?o.} LIMIT 100'");
    //                        okbutton.addListener(this); // react to tclicks

    ExternalResource ontowikiquery = new ExternalResource(
            state.getHostName() + "/ontowiki/queries/editor/?query=&m=http://mytest.com");

    ontowikiquerylink = new Link("Query via Ontowiki", ontowikiquery);
    ontowikiquerylink.setTargetName("_blank");
    ontowikiquerylink.setTargetBorder(Link.TARGET_BORDER_NONE);
    ontowikiquerylink.setEnabled(false);
    ThemeResource ontoWikiIcon = new ThemeResource("app_images/OntoWiki.logo.png");
    ontowikiquerylink.setIcon(ontoWikiIcon);

    t2f.getFooter().addComponent(okbutton);
    t2ffooterlayout.setComponentAlignment(okbutton, Alignment.TOP_RIGHT);
    t2f.getFooter().addComponent(ontowikiquerylink);
    t2ffooterlayout.setComponentAlignment(ontowikiquerylink, Alignment.TOP_RIGHT);

    queryingTab.addComponent(t2f);
    queryingTab.addComponent(sparqlResult);

    final Panel t2components = new Panel("LOD2 components interfaces");

    VerticalLayout t2ComponentsContent = new VerticalLayout();

    // dummy request
    ExternalResource ontowikiquery2 = new ExternalResource(
            state.getHostName() + "/ontowiki/queries/editor/?query=&m=");
    Link ontowikiquerylink2 = new Link("Ontowiki", ontowikiquery2);
    ontowikiquerylink2.setTargetName("_blank");
    ontowikiquerylink2.setTargetBorder(Link.TARGET_BORDER_NONE);
    ThemeResource ontoWikiIcon2 = new ThemeResource("app_images/OntoWiki.logo.png");
    ontowikiquerylink2.setIcon(ontoWikiIcon2);
    t2ComponentsContent.addComponent(ontowikiquerylink2);

    t2components.setContent(t2ComponentsContent);
    queryingTab.addComponent(t2components);

    // The composition root MUST be set
    setCompositionRoot(queryingTab);
}

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

License:Apache License

@Override
public void init() {
    ensureState();/* ww  w  .  j a  v  a  2  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:fr.amapj.view.engine.excelgenerator.LinkCreator.java

License:Open Source License

/**
 * /*from ww  w . ja  v a  2 s.co  m*/
 * @param generator
 * @param addPrefixTelecharger : si true, on ajoute le libell "Telecharger" devant le nom du fichier
 * @return
 */
static public Link createLink(CoreGenerator generator, boolean addPrefixTelecharger) {
    FileInfoDTO fileInfoDTO = new CoreGeneratorService().getFileInfo(generator);

    String titre = fileInfoDTO.nameToDisplay;
    String fileName = fileInfoDTO.fileName;
    String extension = fileInfoDTO.extension;

    StreamResource streamResource = new StreamResource(new CoreResource(fileInfoDTO.generator),
            fileName + "." + extension);
    streamResource.setCacheTime(1000);

    String lien = addPrefixTelecharger ? "Tlcharger " + titre : titre;
    Link extractFile = new Link(lien, streamResource);
    extractFile.setIcon(FontAwesome.DOWNLOAD);
    extractFile.setTargetName("_blank");

    return extractFile;
}