List of usage examples for com.vaadin.ui ListSelect ListSelect
public ListSelect(String caption)
From source file:com.skysql.manager.ui.PanelControl.java
License:Open Source License
/** * Creates the new layout./*from ww w. j a va 2s .co m*/ */ private void createNewLayout() { newLayout = new HorizontalLayout(); newLayout.addStyleName("newLayout"); newLayout.setMargin(true); newLayout.setSpacing(true); addComponent(newLayout); // COMMANDS commandsLayout = new VerticalLayout(); commandsLayout.addStyleName("instructions"); commandsLayout.setSizeUndefined(); newLayout.addComponent(commandsLayout); commandSelect = new ListSelect("Commands"); commandSelect.setImmediate(true); commandSelect.setRows(10); commandSelect.setNullSelectionAllowed(false); commandSelect.setWidth("12em"); commandSelect.addValueChangeListener(commandListener); commandsLayout.addComponent(commandSelect); commandsLayout.setComponentAlignment(commandSelect, Alignment.MIDDLE_CENTER); // Scripting layout placeholder placeholderLayout = new VerticalLayout(); placeholderLayout.addStyleName("placeholderLayout"); placeholderLabel = new Label("No Command is currently running on this node"); placeholderLabel.addStyleName("instructions"); placeholderLabel.setSizeUndefined(); placeholderLayout.addComponent(placeholderLabel); placeholderLayout.setComponentAlignment(placeholderLabel, Alignment.MIDDLE_CENTER); newLayout.addComponent(placeholderLayout); newLayout.setComponentAlignment(placeholderLayout, Alignment.MIDDLE_CENTER); runningContainerLayout = placeholderLayout; }
From source file:com.skysql.manager.ui.UsersSettings.java
License:Open Source License
/** * Instantiates a new users settings./*from w w w . j a va 2 s . c o m*/ */ UsersSettings() { addStyleName("usersTab"); setSizeFull(); setSpacing(true); setMargin(true); UserObject currentUser = VaadinSession.getCurrent().getAttribute(UserObject.class); currentUserID = currentUser.getUserID(); HorizontalLayout usersLayout = new HorizontalLayout(); addComponent(usersLayout); usersLayout.setSizeFull(); usersLayout.setSpacing(true); // make sure we're working with current info userInfo = new UserInfo(null); VaadinSession.getCurrent().setAttribute(UserInfo.class, userInfo); select = new ListSelect("Users"); select.setImmediate(true); for (UserObject user : userInfo.getUsersList().values()) { String id = user.getUserID(); select.addItem(id); if (id.equals(currentUserID)) { select.select(id); userName.setValue(user.getName()); selectedUserID = id; } } select.setNullSelectionAllowed(false); select.setWidth("14em"); usersLayout.addComponent(select); select.addValueChangeListener(new ValueChangeListener() { private static final long serialVersionUID = 0x4C656F6E6172646FL; public void valueChange(ValueChangeEvent event) { selectedUserID = (String) event.getProperty().getValue(); if (selectedUserID == null || selectedUserID.equals(currentUserID)) { removeUser.setEnabled(false); } else { removeUser.setEnabled(true); } if (selectedUserID == null) { editUser.setEnabled(false); userName.setEnabled(false); userName.setValue(""); } else { editUser.setEnabled(true); userName.setValue(userInfo.findNameByID(selectedUserID)); userName.setEnabled(true); } } }); usersLayout.addLayoutClickListener(new LayoutClickListener() { private static final long serialVersionUID = 0x4C656F6E6172646FL; public void layoutClick(LayoutClickEvent event) { Component child; if (event.isDoubleClick() && (child = event.getChildComponent()) != null && (child instanceof ListSelect)) { // Get the child component which was double-clicked ListSelect select = (ListSelect) child; String userID = (String) select.getValue(); new UserDialog(userInfo, userInfo.getUsersList().get(selectedUserID), thisObject); } } }); userLayout = new FormLayout(); usersLayout.addComponent(userLayout); usersLayout.setExpandRatio(userLayout, 1.0f); userLayout.setSpacing(false); userName.setCaption("Full Name:"); userLayout.addComponent(userName); HorizontalLayout userButtonsLayout = new HorizontalLayout(); userButtonsLayout.setSpacing(true); addComponent(userButtonsLayout); Button addUser = new Button("Add..."); addUser.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 0x4C656F6E6172646FL; public void buttonClick(ClickEvent event) { new UserDialog(userInfo, null, thisObject); } }); userButtonsLayout.addComponent(addUser); userButtonsLayout.setComponentAlignment(addUser, Alignment.MIDDLE_LEFT); removeUser = new Button("Delete"); removeUser.setEnabled(false); removeUser.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 0x4C656F6E6172646FL; public void buttonClick(ClickEvent event) { removeUser(event); } }); userButtonsLayout.addComponent(removeUser); userButtonsLayout.setComponentAlignment(removeUser, Alignment.MIDDLE_LEFT); editUser = new Button("Edit..."); editUser.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 0x4C656F6E6172646FL; public void buttonClick(ClickEvent event) { new UserDialog(userInfo, userInfo.getUsersList().get(selectedUserID), thisObject); } }); userButtonsLayout.addComponent(editUser); userButtonsLayout.setComponentAlignment(editUser, Alignment.MIDDLE_CENTER); }
From source file:de.unioninvestment.eai.portal.portlet.crud.mvp.views.DefaultFormView.java
License:Apache License
private Field<?> createSelect(OptionListFormField field) { AbstractSelect select;/*from w w w. j a v a 2s. c o m*/ if (field.getVisibleRows() <= 1) { select = new ComboBox(field.getTitle()); } else { select = new ListSelect(field.getTitle()); ((ListSelect) select).setRows(field.getVisibleRows()); } fillOptions(field.getOptionList(), select, new FormSelectionContext(field)); // addOptionListChangeListener(field, select, new FormSelectionContext( // field)); select.setPropertyDataSource(field.getProperty()); select.setInvalidAllowed(false); select.setImmediate(true); select.setMultiSelect(false); select.addStyleName(field.getName()); return select; }
From source file:de.unioninvestment.eai.portal.portlet.crud.mvp.views.DefaultFormView.java
License:Apache License
private Field<?> createMultiSelect(MultiOptionListFormField field) { ListSelect select = new ListSelect(field.getTitle()); fillOptions(field.getOptionList(), select, new FormSelectionContext(field)); // addOptionListChangeListener(field, select, new FormSelectionContext( // field));/* ww w .j a v a2 s.co m*/ select.setMultiSelect(true); select.setPropertyDataSource(field.getListProperty()); select.setInvalidAllowed(false); select.setImmediate(true); select.setRows(field.getVisibleRows()); select.addStyleName(field.getName()); return select; }
From source file:de.uni_leipzig.informatik.pcai042.boa.gui.evaluation.EvaluationView.java
License:Open Source License
/** * Build content 'annotation process' of tab 2. * //from w w w . j a v a2s. c om * @return content of second tab */ private Layout buildTab2Content() { VerticalLayout tab2Content = new VerticalLayout(); tab2Content.setSpacing(true); tab2Content.setMargin(true); tab2Content.setSizeFull(); this.textAreaSentence = new TextArea("Sentence:"); textAreaSentence.setImmediate(true); textAreaSentence.setRows(7); textAreaSentence.setWidth("100%"); tab2Content.addComponent(textAreaSentence); HorizontalLayout hlay1 = new HorizontalLayout(); this.buttonNew = new Button("New"); buttonNew.setImmediate(true); buttonNew.setDescription("Type in new sentences"); this.buttonAnnotate = new Button("Annotate"); buttonAnnotate.setImmediate(true); buttonAnnotate.setDescription("Annotate the sentences above"); hlay1.setSpacing(true); hlay1.setMargin(false); hlay1.addComponent(buttonNew); hlay1.addComponent(buttonAnnotate); tab2Content.addComponent(hlay1); this.listSelectAnnotation = new ListSelect("Annotations:"); listSelectAnnotation.setImmediate(true); listSelectAnnotation.setHeight("150px"); listSelectAnnotation.setWidth("100%"); listSelectAnnotation.setNullSelectionAllowed(false); tab2Content.addComponent(listSelectAnnotation); this.textAreaAnnotation = new TextArea("Further annotations with other surface forms:"); textAreaAnnotation.setImmediate(false); textAreaAnnotation.setRows(4); textAreaAnnotation.setReadOnly(true); textAreaAnnotation.setWidth("100%"); tab2Content.addComponent(textAreaAnnotation); //this.buttonNext = new Button("Next"); //buttonNext.setImmediate(true); //buttonNext.setDescription("Get next annotation"); //tab2Content.addComponent(buttonNext); return tab2Content; }
From source file:de.uni_leipzig.informatik.pcai042.boa.gui.evaluation.EvaluationView.java
License:Open Source License
/** * Build content 'evaluation process' of tab 3. * /*from w w w . ja va 2 s.c om*/ * @return content of third tab */ private Layout buildTab3Content() { VerticalLayout tab3Content = new VerticalLayout(); tab3Content.setSpacing(true); tab3Content.setMargin(true); tab3Content.setSizeFull(); Label instructions = new Label( "<b>Instructions:</b> <i>Please select and click a sentence below in order to process the evaluation.</i>", Label.CONTENT_XHTML); tab3Content.addComponent(instructions); this.tableEvaluation = new Table("Evaluation process:"); tableEvaluation.setHeight("150px"); tableEvaluation.setWidth("100%"); tableEvaluation.setImmediate(true); tableEvaluation.setSelectable(true); tableEvaluation.setMultiSelect(false); tableEvaluation.setSortDisabled(false); tableEvaluation.addContainerProperty("ID", Integer.class, null); tableEvaluation.addContainerProperty("Sentence", String.class, null); tableEvaluation.addContainerProperty("Precision", Double.class, null); tableEvaluation.addContainerProperty("Recall", Double.class, null); tableEvaluation.addContainerProperty("F-Score", Double.class, null); tab3Content.addComponent(tableEvaluation); this.buttonNext2 = new Button("Next"); buttonNext2.setImmediate(true); buttonNext2.setDescription("Get the next sentence in table"); tab3Content.addComponent(buttonNext2); this.textAreaEvalSentence = new TextArea("Sentence:"); textAreaEvalSentence.setImmediate(false); textAreaEvalSentence.setReadOnly(true); textAreaEvalSentence.setRows(3); textAreaEvalSentence.setWidth("100%"); tab3Content.addComponent(textAreaEvalSentence); HorizontalLayout hlay1 = new HorizontalLayout(); this.listSelectGoldstandard = new ListSelect("Goldstandard:"); listSelectGoldstandard.setImmediate(true); listSelectGoldstandard.setHeight("120px"); listSelectGoldstandard.setWidth("100%"); listSelectGoldstandard.setNullSelectionAllowed(false); this.listSelectFramework = new ListSelect("Framework:"); listSelectFramework.setImmediate(true); listSelectFramework.setHeight("120px"); listSelectFramework.setWidth("100%"); listSelectFramework.setNullSelectionAllowed(false); hlay1.setSpacing(true); hlay1.setMargin(false); hlay1.setWidth("100%"); hlay1.addComponent(listSelectGoldstandard); hlay1.addComponent(listSelectFramework); tab3Content.addComponent(hlay1); return tab3Content; }
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//from w w w . ja v a 2 s . c o m 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 + " ", 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>" + " ", 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(" ", 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 + " 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 + " 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 + " 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(" " + 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(" ", ContentMode.HTML); studyTypesLayout.addComponent(emptyLabel); studyTypesLayout.addComponent(timeSeriesLayout); Label emptyLabel0 = new Label(" ", 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(" ", 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(" ", 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(" ", 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> 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> 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> 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(" ", 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.cornell.qatarmed.planrnaseq.BrowseAndAnnotate.java
private void initSearch() { searchField.setInputPrompt("Search Project"); /*/*from ww w . ja v a2 s . c o m*/ //Attempted to do autosuggestion but it require Indexcontainer for attached to vaadin table. Currently vaadin table is // attached to SqlContainer. It's possble to store fetch table data and use it for creating Indexcontainer and then attach it to vaadin table searchField.setTextChangeEventMode(AbstractTextField.TextChangeEventMode.LAZY); searchField.addTextChangeListener(new FieldEvents.TextChangeListener() { public void textChange(final FieldEvents.TextChangeEvent event) { rnaseqContainer.removeAllContainerFilters(); // rnaseqContainer.addContainerFilter(new AnnotateRNAseqSQL.ContactFilter(event // .getText())); } }); */ searchButton.setClickShortcut(KeyCode.ENTER); searchButton.addClickListener(new Button.ClickListener() { public void buttonClick(Button.ClickEvent event) { if (event.getButton() == searchButton) { Component cc = findById(leftLayout, "GuidedSearch"); if (cc != null) { leftLayout.removeComponent(cc); } String search_value = searchField.getValue(); rnaseqContainer = createMySQLContainer("study_filter", search_value); rnaseqContainer.removeAllContainerFilters(); bioprojectSummaryTable.setContainerDataSource(rnaseqContainer); // bioprojectSummaryTable.setVisibleColumns(new String[] { studyName }); bioprojectSummaryTable.setSelectable(true); bioprojectSummaryTable.setImmediate(true); bioprojectSummaryTable.setColumnReorderingAllowed(true); bioprojectSummaryTable.setSortEnabled(true); bioprojectSummaryTable.setVisibleColumns(new Object[] { "Study", "title", "Numsample", "Numexp", "Numrun", "Avgspots", "avgbases", "name" }); } } }); slowSearchButton.addClickListener(new Button.ClickListener() { public void buttonClick(Button.ClickEvent event) { if (event.getButton() == slowSearchButton) { Component cc = findById(leftLayout, "GuidedSearch"); if (cc != null) { leftLayout.removeComponent(cc); } String search_value = searchField.getValue(); rnaseqContainer = createMySQLContainer("study_filter_slow", search_value); rnaseqContainer.removeAllContainerFilters(); bioprojectSummaryTable.setContainerDataSource(rnaseqContainer); // bioprojectSummaryTable.setVisibleColumns(new String[] { studyName }); bioprojectSummaryTable.setSelectable(true); bioprojectSummaryTable.setImmediate(true); bioprojectSummaryTable.setColumnReorderingAllowed(true); bioprojectSummaryTable.setSortEnabled(true); bioprojectSummaryTable.setVisibleColumns(new Object[] { "Study", "title", "Numsample", "Numexp", "Numrun", "Avgspots", "avgbases", "name" }); } } }); guidedSearchButton.addClickListener(new Button.ClickListener() { public void buttonClick(Button.ClickEvent event) { if (event.getButton() == guidedSearchButton) { VerticalLayout guidedSearchLayout = new VerticalLayout(); guidedSearchLayout.setId("GuidedSearch"); //<editor-fold defaultstate="collapsed" desc="Guided search layout"> HorizontalLayout diseaseLayout = new HorizontalLayout(); CheckBox checkboxDiseaseYes = new CheckBox("Yes"); CheckBox checkboxDiseaseNo = new CheckBox("No"); Label diseaseTitle = new Label("<b>Disease: </b>", ContentMode.HTML); diseaseLayout.addComponent(diseaseTitle); diseaseLayout.addComponent(checkboxDiseaseNo); diseaseLayout.addComponent(checkboxDiseaseYes); //<editor-fold defaultstate="collapsed" desc="Study types panel (guided search)"> Panel studyTypesPanel = new Panel("Sample Types"); HorizontalLayout studyTypesLayout = new HorizontalLayout(); HorizontalLayout caseControlLayout = new HorizontalLayout(); CheckBox checkboxCaseControlYes = new CheckBox("Yes"); CheckBox checkboxCaseControlNo = new CheckBox("No"); 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"); 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(" ", ContentMode.HTML); studyTypesLayout.addComponent(emptyLabel); studyTypesLayout.addComponent(timeSeriesLayout); Label emptyLabel_2 = new Label(" ", ContentMode.HTML); studyTypesLayout.addComponent(emptyLabel_2); 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 Panel (guided search)"> 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(" ", 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(" ", 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(" ", ContentMode.HTML); // diseaseCategoriesLayout.addComponent(emptyLabel4); diseaseCategoryPanel.setContent(diseaseCategoriesLayout); diseaseCategoryPanel.setWidth(Sizeable.SIZE_UNDEFINED, Unit.PERCENTAGE); diseaseCategoryPanel.addStyleName("panelborder"); //</editor-fold> //<editor-fold defaultstate="collapsed" desc="Platform (guided search)"> ListSelect platformsListSelect = new ListSelect("Sequencing Platform"); platformsListSelect.setMultiSelect(true); for (String platform : platforms) { platformsListSelect.addItem(platform); } HorizontalLayout platformLayout = new HorizontalLayout(); platformsListSelect.setHeight(platformsListSelect.size() + 2, Unit.EM); platformLayout.addComponent(platformsListSelect); //</editor-fold> //<editor-fold defaultstate="collapsed" desc="Sample types panel (guided search)"> Panel sampleTypesPanel = new Panel("Sample Types"); HorizontalLayout sampleTypesLayout = new HorizontalLayout(); CheckBox checkboxSampleTypeCellLine = new CheckBox("Cell Line"); CheckBox checkboxSampleTypeTissue = new CheckBox("Tissue"); CheckBox checkboxSampleTypePrimaryCells = new CheckBox("Primary Cells"); CheckBox checkboxSampleTypeWholeBlood = new CheckBox("Whole Blood"); CheckBox checkboxSampleTypePlasma = new CheckBox("Plasma"); HorizontalLayout CellLineLayout = new HorizontalLayout(); CellLineLayout.addComponent(checkboxSampleTypeCellLine); HorizontalLayout PrimaryCellsLayout = new HorizontalLayout(); PrimaryCellsLayout.addComponent(checkboxSampleTypePrimaryCells); HorizontalLayout TissueLayout = new HorizontalLayout(); TissueLayout.addComponent(checkboxSampleTypeTissue); HorizontalLayout WholeBloodLayout = new HorizontalLayout(); WholeBloodLayout.addComponent(checkboxSampleTypeWholeBlood); HorizontalLayout PlasmaLayout = new HorizontalLayout(); PlasmaLayout.addComponent(checkboxSampleTypePlasma); sampleTypesLayout.addComponent(CellLineLayout); Label emptyLabel8 = new Label(" ", ContentMode.HTML); sampleTypesLayout.addComponent(emptyLabel8); sampleTypesLayout.addComponent(PrimaryCellsLayout); Label emptyLabel5 = new Label(" ", ContentMode.HTML); sampleTypesLayout.addComponent(emptyLabel5); sampleTypesLayout.addComponent(TissueLayout); Label emptyLabel6 = new Label(" ", ContentMode.HTML); sampleTypesLayout.addComponent(emptyLabel6); sampleTypesLayout.addComponent(WholeBloodLayout); Label emptyLabel7 = new Label(" ", ContentMode.HTML); sampleTypesLayout.addComponent(emptyLabel7); sampleTypesLayout.addComponent(PlasmaLayout); sampleTypesPanel.setContent(sampleTypesLayout); sampleTypesPanel.setWidth(Sizeable.SIZE_UNDEFINED, Unit.PERCENTAGE); sampleTypesPanel.addStyleName("panelborder"); //</editor-fold> //<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) { if (checkboxDiseaseYes.getValue()) { checkboxDiseaseNo.setValue(!checkboxDiseaseYes.getValue()); diseaseCategoryPanel.setVisible(true); } } }); checkboxDiseaseNo.addValueChangeListener(new Property.ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { if (checkboxDiseaseNo.getValue()) { checkboxDiseaseYes.setValue(!checkboxDiseaseNo.getValue()); diseaseCategoryPanel.setVisible(false); } } }); //<editor-fold defaultstate="collapsed" desc="CheckBox Annotation Ongoing or Completed "> 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) { if (checkboxAnnotaionCompleted.getValue()) { checkboxAnnotaionOngoing.setValue(!checkboxAnnotaionCompleted.getValue()); } } }); checkboxAnnotaionOngoing.addValueChangeListener(new Property.ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { if (checkboxAnnotaionOngoing.getValue()) { checkboxAnnotaionCompleted.setValue(!checkboxAnnotaionOngoing.getValue()); } } }); //</editor-fold> HorizontalLayout annotationStatusLayout = new HorizontalLayout(); annotationStatusLayout.addComponent(checkboxAnnotaionOngoing); annotationStatusLayout.addComponent(checkboxAnnotaionCompleted); Button guidedSearchSubmitButton = new Button("Search Meeting ALL Criteria"); guidedSearchSubmitButton.addClickListener(new Button.ClickListener() { public void buttonClick(Button.ClickEvent event) { if (event.getButton() == guidedSearchSubmitButton) { String query_part3 = ""; if (checkboxDiseaseYes.getValue() && !checkboxDiseaseNo.getValue()) { query_part3 = query_part3 + " AND ( isDisease = 1) "; } else if (!checkboxDiseaseYes.getValue() && checkboxDiseaseNo.getValue()) { query_part3 = query_part3 + " AND (isDisease = null or isDisease = 0 ) "; } 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 { 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"; } } } } if (checkboxCaseControlYes.getValue() && !checkboxCaseControlNo.getValue()) { query_part3 = query_part3 + " AND ( isCaseControl = 1) "; } else if (!checkboxCaseControlYes.getValue() && checkboxCaseControlNo.getValue()) { query_part3 = query_part3 + " AND (isCaseControl = null or isCaseControl = 0 ) "; } if (checkboxTimeSeriesYes.getValue() && !checkboxTimeSeriesNo.getValue()) { query_part3 = query_part3 + " AND ( isTimeSeries = 1) "; } else if (!checkboxTimeSeriesYes.getValue() && checkboxTimeSeriesNo.getValue()) { query_part3 = query_part3 + " AND (isTimeSeries = null or isTimeSeries = 0 ) "; } if (checkboxTreatmentYes.getValue() && !checkboxTreatmentNo.getValue()) { query_part3 = query_part3 + " AND ( isTreatment = 1) "; } else if (!checkboxTreatmentYes.getValue() && checkboxTreatmentNo.getValue()) { query_part3 = query_part3 + " AND (isTreatment = null or isTreatment = 0 ) "; } if (checkboxSampleTypeTissue.getValue()) { query_part3 = query_part3 + " AND ( isTissue = 1) "; } else { // query_part3 = query_part3 + " AND (isTissue = null or isTissue = 0 ) " ; } if (checkboxSampleTypeCellLine.getValue()) { query_part3 = query_part3 + " AND ( isCellLine = 1) "; } else { // query_part3 = query_part3 + " AND (isCellLine = null or isCellLine = 0 ) " ; } if (checkboxSampleTypePrimaryCells.getValue()) { query_part3 = query_part3 + " AND ( isPrimaryCells = 1) "; } else { // query_part3 = query_part3 + " AND (isPrimaryCells = null or isPrimaryCells = 0 ) " ; } if (checkboxSampleTypeWholeBlood.getValue()) { query_part3 = query_part3 + " AND ( isWholeBlood = 1) "; } else { // query_part3 = query_part3 + " AND (isWholeBlood = null or isWholeBlood = 0 ) " ; } if (checkboxSampleTypePlasma.getValue()) { query_part3 = query_part3 + " AND ( isPlasma = 1) "; } else { // query_part3 = query_part3 + " AND (isPlasma = null or isPlasma = 0 ) " ; } 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 replicate_type = ""; if (!(replicatTypesListComboBox.getValue() == null)) { replicate_type = replicatTypesListComboBox.getValue().toString(); } String annotation_status = ""; if (checkboxAnnotaionCompleted.getValue() && !checkboxAnnotaionOngoing.getValue()) { annotation_status = "completed"; } else if (!checkboxAnnotaionCompleted.getValue() && checkboxAnnotaionOngoing.getValue()) { annotation_status = "completed"; } try { String query_part1 = "SELECT * FROM study_summary "; String query_part2 = " SELECT studyid FROM manual_annotation "; if (replicate_type.length() > 1) { query_part3 = query_part3 + " AND ( replicate_type = '" + replicate_type + "' ) "; } if (annotation_status.length() > 1) { query_part3 = query_part3 + " AND ( annotation_status = '" + annotation_status + "' ) "; } if (selected_disease_category.length() > 1) { query_part3 = query_part3 + " AND disease_category like " + "'%" + selected_disease_category + "%'"; } if (selected_sequencing_platforms.length() > 1) { query_part3 = query_part3 + " AND sequencing_platform like " + "'%" + selected_sequencing_platforms + "%'"; } query_part3 = query_part3.trim(); if (query_part3.startsWith("AND")) { query_part3 = query_part3.substring(3); } String search_query = query_part1 + " where Study in (" + query_part2 + " WHERE " + query_part3 + ")"; rnaseqContainer = createMySQLContainer("search_manual_annotation", search_query); rnaseqContainer.removeAllContainerFilters(); bioprojectSummaryTable.setContainerDataSource(rnaseqContainer); // bioprojectSummaryTable.setVisibleColumns(new String[] { studyName }); bioprojectSummaryTable.setSelectable(true); bioprojectSummaryTable.setImmediate(true); bioprojectSummaryTable.setColumnReorderingAllowed(true); bioprojectSummaryTable.setSortEnabled(true); bioprojectSummaryTable.setVisibleColumns(new Object[] { "Study", "title", "Numsample", "Numexp", "Numrun", "Avgspots", "avgbases", "name" }); } catch (Exception e) { } } } }); Button guidedSearchANYSubmitButton = new Button("Search Meeting ANY Criteria"); guidedSearchANYSubmitButton.addClickListener(new Button.ClickListener() { public void buttonClick(Button.ClickEvent event) { if (event.getButton() == guidedSearchANYSubmitButton) { String query_part3 = ""; if (checkboxDiseaseYes.getValue() && !checkboxDiseaseNo.getValue()) { query_part3 = query_part3 + " OR ( isDisease = 1) "; } else if (!checkboxDiseaseYes.getValue() && checkboxDiseaseNo.getValue()) { query_part3 = query_part3 + " OR (isDisease = null or isDisease = 0 ) "; } 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 { 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"; } } } } if (checkboxCaseControlYes.getValue() && !checkboxCaseControlNo.getValue()) { query_part3 = query_part3 + " OR ( isCaseControl = 1) "; } else if (!checkboxCaseControlYes.getValue() && checkboxCaseControlNo.getValue()) { query_part3 = query_part3 + " OR (isCaseControl = null or isCaseControl = 0 ) "; } if (checkboxTimeSeriesYes.getValue() && !checkboxTimeSeriesNo.getValue()) { query_part3 = query_part3 + " OR ( isTimeSeries = 1) "; } else if (!checkboxTimeSeriesYes.getValue() && checkboxTimeSeriesNo.getValue()) { query_part3 = query_part3 + " OR (isTimeSeries = null or isTimeSeries = 0 ) "; } if (checkboxTreatmentYes.getValue() && !checkboxTreatmentNo.getValue()) { query_part3 = query_part3 + " OR ( isTreatment = 1) "; } else if (!checkboxTreatmentYes.getValue() && checkboxTreatmentNo.getValue()) { query_part3 = query_part3 + " OR (isTreatment = null or isTreatment = 0 ) "; } if (checkboxSampleTypeTissue.getValue()) { query_part3 = query_part3 + " OR ( isTissue = 1) "; } else { // query_part3 = query_part3 + " AND (isTissue = null or isTissue = 0 ) " ; } if (checkboxSampleTypeCellLine.getValue()) { query_part3 = query_part3 + " OR ( isCellLine = 1) "; } else { // query_part3 = query_part3 + " AND (isCellLine = null or isCellLine = 0 ) " ; } if (checkboxSampleTypePrimaryCells.getValue()) { query_part3 = query_part3 + " OR ( isPrimaryCells = 1) "; } else { // query_part3 = query_part3 + " AND (isPrimaryCells = null or isPrimaryCells = 0 ) " ; } if (checkboxSampleTypeWholeBlood.getValue()) { query_part3 = query_part3 + " OR ( isWholeBlood = 1) "; } else { // query_part3 = query_part3 + " AND (isWholeBlood = null or isWholeBlood = 0 ) " ; } if (checkboxSampleTypePlasma.getValue()) { query_part3 = query_part3 + " OR ( isPlasma = 1) "; } else { // query_part3 = query_part3 + " AND (isPlasma = null or isPlasma = 0 ) " ; } 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 replicate_type = ""; if (!(replicatTypesListComboBox.getValue() == null)) { replicate_type = replicatTypesListComboBox.getValue().toString(); } String annotation_status = ""; if (checkboxAnnotaionCompleted.getValue() && !checkboxAnnotaionOngoing.getValue()) { annotation_status = "completed"; } else if (!checkboxAnnotaionCompleted.getValue() && checkboxAnnotaionOngoing.getValue()) { annotation_status = "completed"; } try { String query_part1 = "SELECT * FROM study_summary "; String query_part2 = " SELECT studyid FROM manual_annotation "; if (replicate_type.length() > 1) { query_part3 = query_part3 + " OR ( replicate_type = '" + replicate_type + "' ) "; } if (annotation_status.length() > 1) { query_part3 = query_part3 + " OR ( annotation_status = '" + annotation_status + "' ) "; } if (selected_disease_category.length() > 1) { query_part3 = query_part3 + " OR disease_category like " + "'%" + selected_disease_category + "%'"; } if (selected_sequencing_platforms.length() > 1) { query_part3 = query_part3 + " AND sequencing_platform like " + "'%" + selected_sequencing_platforms + "%'"; } query_part3 = query_part3.trim(); if (query_part3.startsWith("OR")) { query_part3 = query_part3.substring(2); } String search_query = query_part1 + " where Study in (" + query_part2 + " WHERE " + query_part3 + ")"; rnaseqContainer = createMySQLContainer("search_manual_annotation", search_query); rnaseqContainer.removeAllContainerFilters(); bioprojectSummaryTable.setContainerDataSource(rnaseqContainer); // bioprojectSummaryTable.setVisibleColumns(new String[] { studyName }); bioprojectSummaryTable.setSelectable(true); bioprojectSummaryTable.setImmediate(true); bioprojectSummaryTable.setColumnReorderingAllowed(true); bioprojectSummaryTable.setSortEnabled(true); bioprojectSummaryTable.setVisibleColumns(new Object[] { "Study", "title", "Numsample", "Numexp", "Numrun", "Avgspots", "avgbases", "name" }); } catch (Exception e) { } } } }); HorizontalLayout guidedSearchButtonLayout = new HorizontalLayout(); guidedSearchButtonLayout.addComponent(guidedSearchSubmitButton); guidedSearchButtonLayout.addComponent(guidedSearchANYSubmitButton); guidedSearchLayout.addComponent(diseaseLayout); // guidedSearchLayout.addComponent(caseControlLayout); // guidedSearchLayout.addComponent(timeSeriesLayout); guidedSearchLayout.addComponent(studyTypesPanel); guidedSearchLayout.addComponent(diseaseCategoryPanel); guidedSearchLayout.addComponent(platformLayout); guidedSearchLayout.addComponent(sampleTypesPanel); guidedSearchLayout.addComponent(replicatTypesLayout); guidedSearchLayout.addComponent(annotationStatusLayout); guidedSearchLayout.addComponent(guidedSearchButtonLayout); guidedSearchLayout.setComponentAlignment(guidedSearchButtonLayout, Alignment.MIDDLE_CENTER); int leftTopLayoutIndex = leftLayout.getComponentIndex(leftTopLayout); leftLayout.addComponent(guidedSearchLayout, leftTopLayoutIndex + 1); //</editor-fold> } } }); }
From source file:edu.kit.dama.ui.admin.AbstractConfigurationTab.java
License:Apache License
/** * Get the element list containing the selection of elements that can be * configured using this tab.// w w w .ja va 2 s . co m * * @return The element list. */ public final ListSelect getElementList() { if (elementList == null) { String id = "elementList"; LOGGER.debug("Building " + DEBUG_ID_PREFIX + id + " ..."); elementList = new ListSelect("AVAILABLE ELEMENTS"); elementList.setId(DEBUG_ID_PREFIX + id); elementList.setHeight("100%"); elementList.setWidth("300px"); elementList.setNullSelectionAllowed(false); elementList.addStyleName(CSSTokenContainer.BOLD_CAPTION); elementList.addValueChangeListener(new Property.ValueChangeListener() { @Override public void valueChange(Property.ValueChangeEvent event) { ListSelection listSelection = validateListSelection(); switch (listSelection) { case NO: fireNoListEntrySelected(); break; case NEW: fireNewInstanceSelected(); break; case VALID: fireValidListEntrySelected(); break; case INVALID: fireInvalidListEntrySelected(); break; default: UIComponentTools.showError("ERROR", "Unknown error occurred while updating " + "element selection. " + NoteBuilder.CONTACT, -1); LOGGER.error("Failed to update " + this.getClass().getSimpleName() + ". Cause: Undefined enum constant detected, namely '" + listSelection.name() + "'."); break; } } }); } return elementList; }
From source file:edu.kit.dama.ui.admin.administration.usergroup.GroupMembershipEditorWindow.java
License:Apache License
private ListSelect getUserSelector() { if (userSelector == null) { String id = "userSelector"; LOGGER.debug("Building " + DEBUG_ID_PREFIX + id + " ..."); userSelector = new ListSelect("USERS"); userSelector.setId(DEBUG_ID_PREFIX + id); userSelector.setSizeFull();/* w w w. j a v a2 s .com*/ userSelector.setNullSelectionAllowed(false); userSelector.setMultiSelect(true); userSelector.setRows(5); reloadUserSelector(); } return userSelector; }