Package com.tinkerpop.blueprints.pgm

Examples of com.tinkerpop.blueprints.pgm.Graph


   * @param toDelete object to delete
   * @param cascade kind of cascade used for dependent properties
   * @param objectsBeingAccessed map containing subgraph of objects currently being delete, this is used to avoid loops, and NOT as a cache
   */
  public <DataType> void performDelete(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, DataType toDelete, CascadeType cascade, Map<String, Object> objectsBeingAccessed) {
    Graph database = service.getDatabase();
    for(Property p : containedProperties.keySet()) {
      Class<?> rawPropertyType = p.getType();
      Collection<CascadeType> toCascade = containedProperties.get(p);
      if(Collection.class.isAssignableFrom(rawPropertyType)) {
        if (logger.isLoggable(Level.FINEST)) {
          logger.log(Level.FINEST, "property "+p.getName()+" is considered a collection one");
        }
        deleteCollection(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
        // each value should be written as an independant value
      } else if(Map.class.isAssignableFrom(rawPropertyType)) {
        if (logger.isLoggable(Level.FINEST)) {
          logger.log(Level.FINEST, "property "+p.getName()+" is considered a map one");
        }
        deleteMap(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
      } else {
        deleteSingle(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
      }
    }
    // What to do with incoming edges ?
    database.removeVertex(objectVertex);
  }
View Full Code Here


   * @param cascade kind of cascade used for dependent properties
   * @param objectsBeingUpdated map containing subgraph of obejcts currently being updated, this is used to avoid loops, and NOT as a cache
   * @return updated object
   */
  public <DataType> Object performUpdate(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, Object toUpdate, CascadeType cascade, Map<String, Object> objectsBeingUpdated) {
    Graph database = service.getDatabase();
    // it's in fact an object creation
    if(objectVertex==null) {
      if (logger.isLoggable(Level.FINER)) {
        logger.log(Level.FINER, "object "+objectVertexId.toString()+" has never before been seen in graph, so create central node for it");
      }
View Full Code Here

   * @param toDelete object to delete
   * @param cascade kind of cascade used for dependent properties
   * @param objectsBeingAccessed map containing subgraph of objects currently being delete, this is used to avoid loops, and NOT as a cache
   */
  public <DataType> void performDelete(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, DataType toDelete, CascadeType cascade, Map<String, Object> objectsBeingAccessed) {
    Graph database = service.getDatabase();
    for(Property p : containedProperties.keySet()) {
      Class<?> rawPropertyType = p.getType();
      Collection<CascadeType> toCascade = containedProperties.get(p);
      if(Collection.class.isAssignableFrom(rawPropertyType)) {
        if (logger.isLoggable(Level.FINEST)) {
          logger.log(Level.FINEST, "property "+p.getName()+" is considered a collection one");
        }
        deleteCollection(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
        // each value should be written as an independant value
      } else if(Map.class.isAssignableFrom(rawPropertyType)) {
        if (logger.isLoggable(Level.FINEST)) {
          logger.log(Level.FINEST, "property "+p.getName()+" is considered a map one");
        }
        deleteMap(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
      } else {
        deleteSingle(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
      }
    }
    // What to do with incoming edges ?
    database.removeVertex(objectVertex);
  }
View Full Code Here

   * @see com.dooapp.gaedo.blueprints.queries.tests.VertexTestVisitorAdapter#visit(com.dooapp.gaedo.blueprints.queries.tests.VertexPropertyTest)
   */
  @Override
  public void visit(final VertexPropertyTest vertexPropertyTest) {
    // TODO improve that code !!!
    Graph g = service.getDatabase();
    if (g instanceof IndexableGraph) {
      final IndexableGraph indexable = (IndexableGraph) g;
      final Index<Vertex> vertices = indexable.getIndex(Index.VERTICES, Vertex.class);
      result.put(new Iterable<Vertex>() {
       
View Full Code Here

   * @param cascade kind of cascade used for dependent properties
   * @param objectsBeingUpdated map containing subgraph of obejcts currently being updated, this is used to avoid loops, and NOT as a cache
   * @return updated object
   */
  public <DataType> Object performUpdate(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, Object toUpdate, CascadeType cascade, Map<String, Object> objectsBeingUpdated) {
    Graph database = service.getDatabase();
    // it's in fact an object creation
    if(objectVertex==null) {
      if (logger.isLoggable(Level.FINER)) {
        logger.log(Level.FINER, "object "+objectVertexId.toString()+" has never before been seen in graph, so create central node for it");
      }
View Full Code Here

   * @param toDelete object to delete
   * @param cascade kind of cascade used for dependent properties
   * @param objectsBeingAccessed map containing subgraph of objects currently being delete, this is used to avoid loops, and NOT as a cache
   */
  public <DataType> void performDelete(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, DataType toDelete, CascadeType cascade, Map<String, Object> objectsBeingAccessed) {
    Graph database = service.getDatabase();
    for(Property p : containedProperties.keySet()) {
      Class<?> rawPropertyType = p.getType();
      Collection<CascadeType> toCascade = containedProperties.get(p);
      if(Collection.class.isAssignableFrom(rawPropertyType)) {
        if (logger.isLoggable(Level.FINEST)) {
          logger.log(Level.FINEST, "property "+p.getName()+" is considered a collection one");
        }
        deleteCollection(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
        // each value should be written as an independant value
      } else if(Map.class.isAssignableFrom(rawPropertyType)) {
        if (logger.isLoggable(Level.FINEST)) {
          logger.log(Level.FINEST, "property "+p.getName()+" is considered a map one");
        }
        deleteMap(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
      } else {
        deleteSingle(service, database, p, toDelete, objectVertex, toCascade, objectsBeingAccessed);
      }
    }
    // What to do with incoming edges ?
    database.removeVertex(objectVertex);
  }
View Full Code Here

   * @see com.dooapp.gaedo.blueprints.queries.tests.VertexTestVisitorAdapter#visit(com.dooapp.gaedo.blueprints.queries.tests.VertexPropertyTest)
   */
  @Override
  public void visit(final VertexPropertyTest vertexPropertyTest) {
    // TODO improve that code !!!
    Graph g = service.getDatabase();
    if (g instanceof IndexableGraph) {
      final IndexableGraph indexable = (IndexableGraph) g;
      final Index<Vertex> vertices = indexable.getIndex(Index.VERTICES, Vertex.class);
      result.put(new Iterable<Vertex>() {
       
View Full Code Here

     * @param cascade             kind of cascade used for dependent properties
     * @param objectsBeingUpdated map containing subgraph of obejcts currently being updated, this is used to avoid loops, and NOT as a cache
     * @return updated object
     */
    public <DataType> Object performUpdate(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, Object toUpdate, CascadeType cascade, Map<String, Object> objectsBeingUpdated) {
        Graph database = service.getDatabase();
        // it's in fact an object creation
        if (objectVertex == null) {
            if (logger.isLoggable(Level.FINER)) {
                logger.log(Level.FINER, "object " + objectVertexId.toString() + " has never before been seen in graph, so create central node for it");
            }
View Full Code Here

     * @param toDelete             object to delete
     * @param cascade              kind of cascade used for dependent properties
     * @param objectsBeingAccessed map containing subgraph of objects currently being delete, this is used to avoid loops, and NOT as a cache
     */
    public <DataType> void performDelete(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, DataType toDelete, CascadeType cascade, Map<String, Object> objectsBeingAccessed) {
        Graph database = service.getDatabase();
        for (Map.Entry<Property, Collection<CascadeType>> entry : containedProperties.entrySet()) {
          Property p = entry.getKey();
            // Static properties are by design not written
            if (!p.hasModifier(Modifier.STATIC) && !Annotations.TRANSIENT.is(p)) {
                // Per default, no operation is cascaded
View Full Code Here

     * @param cascade             kind of cascade used for dependent properties
     * @param objectsBeingUpdated map containing subgraph of obejcts currently being updated, this is used to avoid loops, and NOT as a cache
     * @return updated object
     */
    public <DataType> Object performUpdate(AbstractBluePrintsBackedFinderService<? extends Graph, DataType, ?> service, String objectVertexId, Vertex objectVertex, Class<?> valueClass, Map<Property, Collection<CascadeType>> containedProperties, Object toUpdate, CascadeType cascade, Map<String, Object> objectsBeingUpdated) {
        Graph database = service.getDatabase();
        // it's in fact an object creation
        if (objectVertex == null) {
            if (logger.isLoggable(Level.FINER)) {
                logger.log(Level.FINER, "object " + objectVertexId.toString() + " has never before been seen in graph, so create central node for it");
            }
View Full Code Here

TOP

Related Classes of com.tinkerpop.blueprints.pgm.Graph

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.