public ASearchComponent getAnnotationSearchComponent(IDomeo domeo, String annotationName) { if (annotationSearchComponents.containsKey(annotationName)) { return annotationSearchComponents.get(annotationName); } else { domeo.getLogger().exception(this, "No search component found for: " + annotationName); domeo.getLogger().warn(this, "Default search component applied"); return new ASearchComponent(domeo); } }
public void createSocialBar(HorizontalPanel socialBar, final MAnnotation annotation) { try { socialBar.clear(); if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_COMMENTING)) .getValue()) { Resources resource = Domeo.resources; Image commentIcon = new Image(resource.littleCommentIcon()); commentIcon.setTitle("Comment on Item"); commentIcon.setStyleName(ATileComponent.tileResources.css().button()); commentIcon.addClickHandler( ActionCommentAnnotation.getClickHandler(_domeo, this, annotation)); commentIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); socialBar.add(commentIcon); socialBar.add(new Label("(10)")); Image usersIcon = new Image(resource.usersIcon()); usersIcon.setTitle("Involved users"); usersIcon.setStyleName(ATileComponent.tileResources.css().button()); usersIcon.addClickHandler( ActionCommentAnnotation.getClickHandler(_domeo, this, annotation)); usersIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); socialBar.add(usersIcon); socialBar.setCellWidth(usersIcon, "24px"); socialBar.setCellHorizontalAlignment(usersIcon, HasHorizontalAlignment.ALIGN_RIGHT); socialBar.add(new Label("(2)")); } } catch (Exception e) { _domeo.getLogger().exception(this, "create social bar" + e.getMessage()); } }
public boolean selectConnector(IDomeo domeo) { if (_connector != null) return true; _domeo = domeo; if (domeo.isStandaloneMode()) { _connector = new StandaloneBioPortalConnector(); } else { if (domeo.isHostedMode()) { _connector = new GwtBioPortalServiceConnector(); } else { // Real service _connector = new JsonBioPortalConnector(domeo); } } domeo .getLogger() .debug(this, "BioPortal Connector selected: " + _connector.getClass().getName()); return false; }
public void initializeLens(MGenericResource resource, HashMap<String, String> parameters) { Resources _resources = Domeo.resources; try { _resource = (MOpenTrialsDocument) resource; _parameters = parameters; if (parameters.containsKey(MOpenTrialsDocument.PARAM_URI_READONLY)) { if (parameters.get(MOpenTrialsDocument.PARAM_URI_READONLY).equals("true")) { uriField.setReadOnly(true); } } if (_iconClickHandler != null) _iconClickHandler.removeHandler(); _iconClickHandler = urlImage.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.alert("Show extractor details not implemented yet"); } }); refresh(); } catch (Exception e) { _domeo .getLogger() .exception(this, "Exception while initialing resource info " + e.getMessage()); body.clear(); body.add( new HTML( "<img src='" + _resources.crossLittleIcon().getSafeUri().asString() + "'/> Exception while initialing OpenTrials resource info " + e.getMessage())); } }
public void injectButtons(String plugin, FlowPanel content, final MAnnotation annotation) { try { if (!((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_DISPLAY_PROVENANCE)) .getValue() || !(((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_DISPLAY_USER_PROVENANCE)) .getValue())) { Resources resource = Domeo.resources; Image commentIcon = null; if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_COMMENTING)) .getValue()) { commentIcon = new Image(resource.littleCommentIcon()); commentIcon.setTitle("Comment on Item"); commentIcon.setStyleName(ATileComponent.tileResources.css().button()); commentIcon.addClickHandler( ActionCommentAnnotation.getClickHandler(_domeo, this, annotation)); commentIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); } Image editIcon = new Image(resource.editLittleIcon()); editIcon.setTitle("Edit Item"); if (_domeo.getProfileManager().getUserCurrentProfile().isPluginEnabled(plugin)) { editIcon.setStyleName(ATileComponent.tileResources.css().button()); editIcon.addClickHandler(ActionEditAnnotation.getClickHandler(_domeo, this, annotation)); editIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); } Image deleteIcon = new Image(resource.deleteLittleIcon()); deleteIcon.setTitle("Delete Item"); deleteIcon.setStyleName(ATileComponent.tileResources.css().button()); deleteIcon.addClickHandler( ActionDeleteAnnotation.getClickHandler(_domeo, this, annotation)); deleteIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_COMMENTING)) .getValue()) { content.add(commentIcon); } content.add(editIcon); content.add(deleteIcon); } } catch (Exception e) { _domeo.getLogger().exception(this, "injectButtons: " + e.getMessage()); } }
public void createCurationBar(HorizontalPanel curationBar, final MAnnotation annotation) { try { curationBar.clear(); String myToken = CurationUtils.countCurationTokens(_domeo, annotation); if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_CURATION)) .getValue()) { Resources resource = Domeo.resources; HorizontalPanel curationPanel = new HorizontalPanel(); int maxCount = 0; String maximum = ""; Map<String, Integer> counts = countCurationToken(annotation); Set<String> keys = counts.keySet(); for (String key : keys) { if (counts.containsKey(key)) { if (counts.get(key) > maxCount) { maximum = key; maxCount = counts.get(key); } } } final CustomButton correctButton = new CustomButton(); final CustomButton broadButton = new CustomButton(); final CustomButton incorrectButton = new CustomButton(); if (counts.containsKey(MCurationToken.CORRECT)) { correctButton.setText("Correct [" + counts.get(MCurationToken.CORRECT) + "]"); } else correctButton.setText("Correct"); if (maximum.equals(MCurationToken.CORRECT)) { if (myToken.equals(MCurationToken.CORRECT)) correctButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonBoldGreen()); else correctButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonBold()); } else { if (myToken.equals(MCurationToken.CORRECT)) correctButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonGreen()); else correctButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); } correctButton.setResource(resource.acceptIcon()); correctButton.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { correctButton.setStyleName( widgetUtilsResources.widgetCss().curationButtonBoldGreen()); broadButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); incorrectButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); if (_span != null) { _span.setClassName(StylesManager.LIGHTGREEN_HIGHLIGHT); _span.setAttribute("annotationdefcss", StylesManager.LIGHTGREEN_HIGHLIGHT); } modifyCurationToken(annotation, MCurationToken.CORRECT); // MAnnotationSet set = // _domeo.getAnnotationPersistenceManager().getSetByAnnotationId(annotation.getLocalId()); // // MCurationToken ann = CurationFactory.createCurationToken(_domeo, // _domeo.getAgentManager().getUserPerson(), // _domeo.getAgentManager().getSoftware(), // annotation, MCurationToken.CORRECT, ""); // // _domeo.getAnnotationPersistenceManager().addAnnotationOfAnnotation(ann, // annotation, _domeo.getAnnotationPersistenceManager().getCurrentSet()); // _domeo.refreshAnnotationComponents(); // // if(!_annotator.getPreferencesManager().isDontOpenCurationPanelWhenConfirming() && // _annotator.getPreferencesManager().isAutomaticallyOpenCurationPanel()) { // _this.hide(); // _annotator.showAnnotationItemHistory(info, CurationTokenDTO.CORRECT, // currentItems, currentSpans); // } else curateAnnotationItem(span, info, CurationTokenDTO.CORRECT); } }); curationPanel.add(correctButton); if (counts.containsKey(MCurationToken.CORRECT_BROAD)) { broadButton.setText("Broad [" + counts.get(MCurationToken.CORRECT_BROAD) + "]"); } else broadButton.setText("Broad"); if (maximum.equals(MCurationToken.CORRECT_BROAD)) { if (myToken.equals(MCurationToken.CORRECT_BROAD)) broadButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonBoldGreen()); else broadButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonBold()); } else { if (myToken.equals(MCurationToken.CORRECT_BROAD)) broadButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonGreen()); else broadButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); } broadButton.setResource(resource.acceptBroadIcon()); broadButton.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { broadButton.setStyleName( widgetUtilsResources.widgetCss().curationButtonBoldGreen()); correctButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); incorrectButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); if (_span != null) { _span.setClassName(StylesManager.LIGHTGREEN_HIGHLIGHT); _span.setAttribute("annotationdefcss", StylesManager.LIGHTGREEN_HIGHLIGHT); } modifyCurationToken(annotation, MCurationToken.CORRECT_BROAD); // MAnnotationSet set = // _domeo.getAnnotationPersistenceManager().getSetByAnnotationId(annotation.getLocalId()); // // MCurationToken ann = CurationFactory.createCurationToken(_domeo, // _domeo.getAgentManager().getUserPerson(), // _domeo.getAgentManager().getSoftware(), // annotation, MCurationToken.CORRECT_BROAD, ""); // // _domeo.getAnnotationPersistenceManager().addAnnotationOfAnnotation(ann, // annotation, _domeo.getAnnotationPersistenceManager().getCurrentSet()); // _domeo.refreshAnnotationComponents(); // if(_annotator.getPreferencesManager().isAutomaticallyOpenCurationPanel()) { // _this.hide(); // _annotator.showAnnotationItemHistory(info, CurationTokenDTO.CORRECT_BROAD, // currentItems, currentSpans); // } else curateAnnotationItem(span, info, CurationTokenDTO.CORRECT_BROAD); } }); curationPanel.add(broadButton); if (counts.containsKey(MCurationToken.INCORRECT)) { incorrectButton.setText("Wrong [" + counts.get(MCurationToken.INCORRECT) + "]"); } else incorrectButton.setText("Wrong"); if (maximum.equals(MCurationToken.INCORRECT)) { if (myToken.equals(MCurationToken.INCORRECT)) incorrectButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonBoldRed()); else incorrectButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonBold()); } else { if (myToken.equals(MCurationToken.INCORRECT)) incorrectButton.setStyleName(widgetUtilsResources.widgetCss().curationButtonRed()); else incorrectButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); } incorrectButton.setResource(resource.rejectIcon()); incorrectButton.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { incorrectButton.setStyleName( widgetUtilsResources.widgetCss().curationButtonBoldRed()); correctButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); broadButton.setStyleName(widgetUtilsResources.widgetCss().curationButton()); if (_span != null) { _span.setClassName(StylesManager.LIGHTRED_HIGHLIGHT); _span.setAttribute("annotationdefcss", StylesManager.LIGHTRED_HIGHLIGHT); } modifyCurationToken(annotation, MCurationToken.INCORRECT); // MAnnotationSet set = // _domeo.getAnnotationPersistenceManager().getSetByAnnotationId(annotation.getLocalId()); // MCurationToken ann = CurationFactory.createCurationToken(_domeo, // _domeo.getAgentManager().getUserPerson(), // _domeo.getAgentManager().getSoftware(), // annotation, MCurationToken.INCORRECT, ""); // // // //// // if(((BooleanPreference)_domeo.getPreferences().getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_CURATION_MOTIVATION)).getValue()) { //// _curationPopup.hide(); //// CurationViewer lwp = new CurationViewer(_domeo, annotation, null); //// new EnhancedGlassPanel(_domeo, lwp, lwp.getTitle(), false, // false, false); //// } else { // _domeo.getAnnotationPersistenceManager().addAnnotationOfAnnotation(ann, // annotation, _domeo.getAnnotationPersistenceManager().getCurrentSet()); // _domeo.refreshAnnotationComponents(); // //} // if(_annotator.getPreferencesManager().isAutomaticallyOpenCurationPanel()) { // _this.hide(); // _annotator.showAnnotationItemHistory(info, CurationTokenDTO.INCORRECT, // currentItems, currentSpans); // } else curateAnnotationItem(span, info, CurationTokenDTO.INCORRECT); } }); curationPanel.add(incorrectButton); curationBar.add(curationPanel); // curationBar.add(new HTML("WIP: curation bar")); } } catch (Exception e) { _domeo.getLogger().exception(this, "create curation bar" + e.getMessage()); } }
public void createProvenanceBar( String plugin, HorizontalPanel provenance, final MAnnotation annotation) { try { Resources resource = Domeo.resources; Image commentIcon = null; if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_COMMENTING)) .getValue()) { commentIcon = new Image(resource.littleCommentIcon()); commentIcon.setTitle("Comment on Item"); commentIcon.setStyleName(ATileComponent.tileResources.css().button()); commentIcon.addClickHandler( ActionCommentAnnotation.getClickHandler(_domeo, this, annotation)); commentIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); } Image editIcon = new Image(resource.editLittleIcon()); editIcon.setTitle("Edit Item"); if (_domeo.getProfileManager().getUserCurrentProfile().isPluginEnabled(plugin)) { editIcon.setStyleName(ATileComponent.tileResources.css().button()); editIcon.addClickHandler(ActionEditAnnotation.getClickHandler(_domeo, this, annotation)); editIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); } Image deleteIcon = new Image(resource.deleteLittleIcon()); deleteIcon.setTitle("Delete Item"); deleteIcon.setStyleName(ATileComponent.tileResources.css().button()); deleteIcon.addClickHandler(ActionDeleteAnnotation.getClickHandler(_domeo, this, annotation)); deleteIcon.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { _curationPopup.hide(); } }); // TODO move to an abstract tile class if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_DISPLAY_PROVENANCE)) .getValue()) { if (annotation .getCreator() .getUri() .equals(_domeo.getAgentManager().getUserPerson().getUri())) { if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_DISPLAY_USER_PROVENANCE)) .getValue()) { provenance.clear(); // TODO Externalize the icon management to the plugins if (SelectorUtils.isOnMultipleTargets(annotation.getSelectors())) { Image ic = new Image(Domeo.resources.multipleLittleIcon()); ic.setTitle("Annotation on multiple targets"); provenance.add(ic); provenance.setCellWidth(ic, "18px"); } else if (annotation.getSelector() != null && annotation.getSelector().getTarget() instanceof MOnlineImage) { Image ic = new Image(Domeo.resources.littleImageIcon()); ic.setTitle("Annotation on image"); provenance.add(ic); provenance.setCellWidth(ic, "18px"); } else { Image ic = new Image(Domeo.resources.littleTextIcon()); ic.setTitle("Annotation on text"); provenance.add(ic); provenance.setCellWidth(ic, "18px"); } provenance.add(new Label("By Me on " + annotation.getFormattedCreationDate())); if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_COMMENTING)) .getValue()) { provenance.add(commentIcon); provenance.setCellWidth(commentIcon, "20px"); provenance.setCellHorizontalAlignment( commentIcon, HasHorizontalAlignment.ALIGN_RIGHT); } provenance.add(editIcon); provenance.setCellWidth(editIcon, "20px"); provenance.setCellHorizontalAlignment(editIcon, HasHorizontalAlignment.ALIGN_RIGHT); provenance.add(deleteIcon); provenance.setCellWidth(deleteIcon, "20px"); provenance.setCellHorizontalAlignment(deleteIcon, HasHorizontalAlignment.ALIGN_RIGHT); } else { provenance.setVisible(false); } } else { provenance.clear(); // TODO Externalize the icon management to the plugins if (SelectorUtils.isOnMultipleTargets(annotation.getSelectors())) { Image ic = new Image(Domeo.resources.multipleLittleIcon()); ic.setTitle("Annotation on multiple targets"); provenance.add(ic); provenance.setCellWidth(ic, "18px"); } else if (annotation.getSelector() != null && annotation.getSelector().getTarget() instanceof MOnlineImage) { Image ic = new Image(Domeo.resources.littleImageIcon()); ic.setTitle("Annotation on image"); provenance.add(ic); provenance.setCellWidth(ic, "18px"); } else { Image ic = new Image(Domeo.resources.littleTextIcon()); ic.setTitle("Annotation on text"); provenance.add(ic); provenance.setCellWidth(ic, "18px"); } provenance.add( new Label( "By " + annotation.getCreator().getName() + " on " + annotation.getFormattedCreationDate())); if (((BooleanPreference) _domeo .getPreferences() .getPreferenceItem(Domeo.class.getName(), Domeo.PREF_ALLOW_COMMENTING)) .getValue()) { provenance.add(commentIcon); provenance.setCellWidth(commentIcon, "20px"); provenance.setCellHorizontalAlignment(commentIcon, HasHorizontalAlignment.ALIGN_RIGHT); } provenance.add(editIcon); provenance.setCellWidth(editIcon, "20px"); provenance.setCellHorizontalAlignment(editIcon, HasHorizontalAlignment.ALIGN_RIGHT); provenance.add(deleteIcon); provenance.setCellWidth(deleteIcon, "20px"); provenance.setCellHorizontalAlignment(deleteIcon, HasHorizontalAlignment.ALIGN_RIGHT); } } else { provenance.setVisible(false); } } catch (Exception e) { _domeo.getLogger().exception(this, "createProvenanceBar2" + e.getMessage()); } }
public void refresh() { Resources _resources = Domeo.resources; try { init(); uriField.setValue(_resource.getUrl()); // sourceField.add(new HTML("<img src='" + Domeo.resources.externalLinkIcon().getURL() + "'/> // <a href='" + // _resource.getSource().getHomepage() + "' target='_blank'>"+_resource.getSource().getName() // + "</a> ")); String synonyms = _resource.getIsAbout().getSynonyms(); aboutField.add( new HTML( _resource.getIsAbout().getLabel() + " " + (_resource.getIsAbout().getSynonyms() != null ? synonyms : ""))); if (_domeo.getExtractorsManager().isExtractorDefined()) { urlImage.setResource(_resources.checkIcon()); urlImage.setTitle( "Known resource, executed extractor '" + _domeo.getExtractorsManager().getExtractorLabel() + "'"); urlImage.setVisible(true); } else { urlImage.setVisible(false); } if (_resource != null) { extractionProvenanceImage.setUrl( Domeo.resources.pluginsGrayLittleIcon().getSafeUri().asString()); extractionProvenanceImage.setTitle(_resource.getCreator().getName()); extractorProvenanceDetails.setText("Extracted by " + _resource.getCreator().getName()); extractionSourceDetails.setHTML( "Source <a href='" + _resource.getSource().getHomepage() + "' target='_blank'> <img src='" + Domeo.resources.externalLinkIcon().getSafeUri().asString() + "'/> " + _resource.getSource().getName() + "</a>"); extractionDateDetails.setText("On " + _resource.getFormattedCreationDate()); } } catch (Exception e) { _domeo .getLogger() .exception(this, "Exception while rendering OpenTrials resource info " + e.getMessage()); body.clear(); body.add( new HTML( "<img src='" + _resources.crossLittleIcon().getSafeUri().asString() + "'/> Exception while rendering OpenTrials resource info " + e.getMessage())); } // References try { CitationReferencesPanel p = new CitationReferencesPanel(_domeo, false); referencesPanel.clear(); referencesPanel.add(p); } catch (Exception e) { _domeo .getLogger() .exception(this, "Exception while rendering resource info " + e.getMessage()); referencesPanel.clear(); referencesPanel.add( new HTML( "<img src='" + _resources.crossLittleIcon().getSafeUri().asString() + "'/> Exception while rendering PubMed resource info " + e.getMessage())); } // Generic Document Resource try { LDocumentResourceCardPanel d = new LDocumentResourceCardPanel(_domeo); d.initializeLens(_resource, _parameters); contentPanel.clear(); contentPanel.add(d); } catch (Exception e) { _domeo .getLogger() .exception(this, "Exception while rendering resource info " + e.getMessage()); body.clear(); body.add( new HTML( "<img src='" + _resources.crossLittleIcon().getSafeUri().asString() + "'/> Exception while rendering OpenTrials resource info " + e.getMessage())); } }