@Override protected ODocument doBackward(ORID b) { return b.getRecord(); }
@Override protected ODocument doBackward(ORID b) { return b.getRecord(); }
protected ORecord getRecord(ORID id) { try { return id.getRecord(); } catch (ORecordNotFoundException e) { throw new NoSuchElementException( "The " + getClass().getSimpleName().toLowerCase() + " with id " + id + " of type " + id.getClass().getSimpleName() + " does not exist in the graph"); } }
private OVertex asVertex(Object currentFrom) { if (currentFrom instanceof ORID) { currentFrom = ((ORID) currentFrom).getRecord(); } if (currentFrom instanceof OResult) { return ((OResult) currentFrom).getVertex().orElse(null); } if (currentFrom instanceof OVertex) { return (OVertex) currentFrom; } if (currentFrom instanceof OElement) { return ((OElement) currentFrom).asVertex().orElse(null); } return null; }
private static OIdentifiable readLinkOptimizedSBTree(final BytesContainer bytes) { ORID rid = new ORecordId(OVarIntSerializer.readAsInteger(bytes), OVarIntSerializer.readAsLong(bytes)); final OIdentifiable identifiable; if (rid.isTemporary() && rid.getRecord() != null) identifiable = rid.getRecord(); else identifiable = rid; return identifiable; }
@Override public OBlob getBlobProperty(String name) { Object result = null; if (content.containsKey(name)) { result = content.get(name); } else if (element != null) { result = ((ODocument) element.getRecord()).getProperty(name); } if (result instanceof OResult) { result = ((OResult) result).getRecord().orElse(null); } if (result instanceof ORID) { result = ((ORID) result).getRecord(); } return result instanceof OBlob ? (OBlob) result : null; }
@Override public OElement getElementProperty(String name) { Object result = null; if (content.containsKey(name)) { result = content.get(name); } else if (element != null) { result = ((ODocument) element.getRecord()).getProperty(name); } if (result instanceof OResult) { result = ((OResult) result).getRecord().orElse(null); } if (result instanceof ORID) { result = ((ORID) result).getRecord(); } return result instanceof OElement ? (OElement) result : null; }
@Override public OEdge getEdgeProperty(String name) { Object result = null; if (content.containsKey(name)) { result = content.get(name); } else if (element != null) { result = ((ODocument) element.getRecord()).getProperty(name); } if (result instanceof OResult) { result = ((OResult) result).getRecord().orElse(null); } if (result instanceof ORID) { result = ((ORID) result).getRecord(); } return result instanceof OElement ? ((OElement) result).asEdge().orElse(null) : null; }
@SuppressWarnings("unchecked") @Override protected T load() { ODocument doc = docModel.getObject(); OProperty prop = propertyModel!=null?propertyModel.getObject():null; if(doc==null) return null; if(prop==null) return (T) doc; if(valueType==null) { return (T) doc.field(prop.getName()); } else { Object ret = doc.field(prop.getName(), valueType); if(ORecord.class.isAssignableFrom(valueType) && ret instanceof ORID) { ret = ((ORID)ret).getRecord(); } return (T) ret; } }
@Override public OVertex getVertexProperty(String name) { Object result = null; if (content.containsKey(name)) { result = content.get(name); } else if (element != null) { result = ((ODocument) element.getRecord()).getProperty(name); } if (result instanceof OResult) { result = ((OResult) result).getRecord().orElse(null); } if (result instanceof ORID) { result = ((ORID) result).getRecord(); } return result instanceof OElement ? ((OElement) result).asVertex().orElse(null) : null; }
private OVertex asVertex(Object currentFrom) { if (currentFrom instanceof ORID) { currentFrom = ((ORID) currentFrom).getRecord(); } if (currentFrom instanceof OResult) { Object from = currentFrom; currentFrom = ((OResult) currentFrom).getVertex() .orElseThrow(() -> new OCommandExecutionException("Invalid vertex for edge creation: " + from.toString())); } if (currentFrom instanceof OVertex) { return (OVertex) currentFrom; } if (currentFrom instanceof OElement) { Object from = currentFrom; return ((OElement) currentFrom).asVertex() .orElseThrow(() -> new OCommandExecutionException("Invalid vertex for edge creation: " + from.toString())); } throw new OCommandExecutionException("Invalid vertex for edge creation: " + currentFrom.toString()); }
public ODocument calculateODocument(ProcessEngine processEngine, String taskId) { if(rid!=null) return (ODocument)rid.getRecord(); if(variableName!=null) { Object recording = processEngine.getTaskService().getVariable(taskId, variableName); if(recording!=null) { return new ORecordId(recording.toString()).getRecord(); } } if(schemaClassName!=null) { return new ODocument(schemaClassName); } return null; }
private static OIdentifiable readLinkOptimizedEmbedded(final BytesContainer bytes) { ORID rid = new ORecordId(OVarIntSerializer.readAsInteger(bytes), OVarIntSerializer.readAsLong(bytes)); OIdentifiable identifiable = null; if (rid.isTemporary()) identifiable = rid.getRecord(); if (identifiable == null) identifiable = rid; return identifiable; }
private OEdge getExistingEdge(OVertex currentFrom, OVertex currentTo) { Object key = uniqueIndex.getDefinition().createValue(currentFrom.getIdentity(), currentTo.getIdentity()); Object result = uniqueIndex.get(key); if (result instanceof ORID) { result = ((ORID) result).getRecord(); } if (result instanceof OElement) { return ((OElement) result).asEdge().get(); } return null; }
private Object box(Object elem) { if (elem instanceof ORID) { elem = ((ORID) elem).getRecord(); } if (elem instanceof OElement) { if (((OElement) elem).isVertex()) { elem = parent.getGraph().elementFactory().wrapVertex(((OElement) elem).asVertex().get()); } else if (((OElement) elem).isEdge()) { elem = parent.getGraph().elementFactory().wrapEdge(((OElement) elem).asEdge().get()); } } return elem; }
private Object box(Object elem) { if (elem instanceof ORID) { elem = ((ORID) elem).getRecord(); } if (elem instanceof OElement) { if (((OElement) elem).isVertex()) { elem = parent.getGraph().elementFactory().wrapVertex(((OElement) elem).asVertex().get()); } else if (((OElement) elem).isEdge()) { elem = parent.getGraph().elementFactory().wrapEdge(((OElement) elem).asEdge().get()); } } return elem; }
private boolean isEventAlreadyExecuted() { final ORecord rec = document.getIdentity().getRecord(); if (rec == null) // SKIP EXECUTION BECAUSE THE EVENT WAS DELETED return true; final ODocument updated = rec.reload(); final Long currentExecutionId = updated.field(PROP_EXEC_ID); if (currentExecutionId == null) return false; if (currentExecutionId >= nextExecutionId) { OLogManager.instance() .info(this, "Scheduled event '%s' with id %d is already running (current id=%d)", getName(), nextExecutionId, currentExecutionId); // ALREADY RUNNING return true; } return false; }
@Test public void testDocumentConverter() throws Exception { ORID orid = new ORecordId("#5:0"); //Admin ORID ODocument adminDocument = orid.getRecord(); ODocumentConverter converter = new ODocumentConverter(); assertEquals(adminDocument, converter.convertToObject("#5:0", Locale.getDefault())); assertEquals(orid, converter.convertToOIdentifiable("#5:0", Locale.getDefault())); assertEquals("#5:0", converter.convertToString(adminDocument, Locale.getDefault())); }
@Test public void testDocumentWrapper() throws Exception { ORID orid = new ORecordId("#5:0"); //Admin ORID ODocument adminDocument = orid.getRecord(); OUser admin = wicket.getTester().getMetadata().getSecurity().getUser("admin"); DocumentWrapperTransformer<OUser> transformer = new DocumentWrapperTransformer<OUser>(OUser.class); assertEquals(admin, transformer.apply(adminDocument)); }
@Test public void testConverters() throws Exception { OSchema schema = wicket.getTester().getSchema(); testConverter(OClassClassNameConverter.INSTANCE, schema.getClass("OUser"), "OUser"); testConverter(OPropertyFullNameConverter.INSTANCE, schema.getClass("Ouser").getProperty("name"), "OUser.name"); testConverter(OIndexNameConverter.INSTANCE, schema.getClass("Ouser").getClassIndex("OUser.name"), "OUser.name"); ORID orid = new ORecordId("#5:0"); //Admin ORID ODocument document = orid.getRecord(); testConverter(ODocumentORIDConverter.INSTANCE, document, orid); }