/** * {@inheritDoc} * * @see com.xpn.xwiki.objects.BaseProperty#toText() */ @Override public String toText() { String value = getValue(); if (value != null) { return value; } return ""; }
image = (BaseStringProperty) pedigreeObj.get(Pedigree.IMAGE); if (StringUtils.isNotBlank(data.toText())) { JSONObject pedigreeJSON = new JSONObject(data.toText()); if (DefaultPedigree.isSupportedPedigreeFormat(pedigreeJSON)) { return new DefaultPedigree(pedigreeJSON, image.toText()); } else if (NewFormatPedigree.isSupportedPedigreeFormat(pedigreeJSON)) { return new NewFormatPedigree(pedigreeJSON, image.toText());
@Override public Pedigree getPedigree() { BaseObject pedigreeObj = getXDocument().getXObject(Pedigree.CLASS_REFERENCE); if (pedigreeObj != null) { BaseStringProperty data; BaseStringProperty image; try { data = (BaseStringProperty) pedigreeObj.get(Pedigree.DATA); image = (BaseStringProperty) pedigreeObj.get(Pedigree.IMAGE); if (StringUtils.isNotBlank(data.toText())) { JSONObject pedigreeJSON = new JSONObject(data.toText()); // Do a basic data format check before attempting to initialize a pedigree if (DefaultPedigree.isSupportedPedigreeFormat(pedigreeJSON)) { return new DefaultPedigree(pedigreeJSON, image.toText()); } } } catch (XWikiException e) { this.logger.error("Error reading data from pedigree: [{}]", e.getMessage(), e); } catch (IllegalArgumentException e) { this.logger.error("Incorrect pedigree data: [{}]", e.getMessage(), e); } catch (JSONException e) { this.logger.error("Pedigree data is not a valid pedigree JSON: [{}]", e.getMessage(), e); } } return null; } }
/** * {@inheritDoc} * * @see com.xpn.xwiki.objects.BaseProperty#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { // Same Java object, they sure are equal if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if ((getValue() == null) && (((BaseStringProperty) obj).getValue() == null)) { return true; } return getValue().equals(((BaseStringProperty) obj).getValue()); }
/** * Extract a list of users or groups from an XProperty, and append the outcome to a specified set. * * @param xproperty the XWiki property from which to get the values; may be {@code null} * @param target the container where to add the extracted users/groups */ private void extractReferences(BaseStringProperty xproperty, Collection<String> target) { if (xproperty != null) { String[] references = xproperty.getValue().split(COMMA); for (String reference : references) { if (StringUtils.isNotBlank(reference)) { target.add(reference); } } } }
@Override public String getValue() { String value = super.getValue(); if (isEncrypted(value)) { return decrypt(value); } return value; }
@Override public String getValue() { String value = super.getValue(); if (isEncrypted(value)) { return decrypt(value); } return value; }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; Map<String, EntityReference> refs = new LinkedHashMap<>(); refs.put(GENE_KEY, GENE_CLASS_REFERENCE); refs.put(VARIANT_KEY, VARIANT_CLASS_REFERENCE); for (String key : refs.keySet()) { List<BaseObject> xWikiObjects = doc.getXObjects(refs.get(key)); if (xWikiObjects == null || xWikiObjects.isEmpty()) { continue; } for (BaseObject object : xWikiObjects) { if (object == null) { continue; } BaseStringProperty field = (BaseStringProperty) object.getField(key); if (field == null || StringUtils.isEmpty(field.getValue())) { doc.removeXObject(object); } } } } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; Map<String, EntityReference> refs = new LinkedHashMap<>(); refs.put(GENE_KEY, GENE_CLASS_REFERENCE); refs.put(VARIANT_KEY, VARIANT_CLASS_REFERENCE); for (String key : refs.keySet()) { List<BaseObject> xWikiObjects = doc.getXObjects(refs.get(key)); if (xWikiObjects == null || xWikiObjects.isEmpty()) { continue; } for (BaseObject object : xWikiObjects) { if (object == null) { continue; } BaseStringProperty field = (BaseStringProperty) object.getField(key); if (field == null || StringUtils.isEmpty(field.getValue())) { doc.removeXObject(object); } } } } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; for (String key : refs.keySet()) { List<BaseObject> xWikiObjects = doc.getXObjects(refs.get(key)); if (xWikiObjects == null || xWikiObjects.isEmpty()) { continue; } for (BaseObject object : xWikiObjects) { if (object == null) { continue; } BaseStringProperty field = (BaseStringProperty) object.getField(key); if (field == null || StringUtils.isEmpty(field.getValue())) { doc.removeXObject(object); } } } } }