Package com.tinkerpop.blueprints.pgm

Examples of com.tinkerpop.blueprints.pgm.Graph


        this.supportsTransactions = false;
    }

    @Override
    public Graph getGraphInstance() {
        Graph graph = new GraphbaseGraph("localhost", "21818", "Graph");
        graph.clear();
        return graph;
    }
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
                CascadeType used = null;
                // However, if property supports that cascade type, we cascade operation
                if (entry.getValue().contains(cascade)) {
                    used = cascade;
                }
                if(used!=null) {
                  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);
                  }
                }
            }
        }
        /* We try to locate vertex in graph before to delete it. Indeed, mainly due cascade delete, this vertex may have already been removed */
        Vertex notYetDeleted = service.getDriver().loadVertexFor(objectVertexId, service.getContainedClass().getName());
        if(notYetDeleted!=null)
          database.removeVertex(notYetDeleted);
    }
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
                CascadeType used = null;
                // However, if property supports that cascade type, we cascade operation
                if (entry.getValue().contains(cascade)) {
                    used = cascade;
                }
                if(used!=null) {
                  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);
                  }
                }
            }
        }
        /* We try to locate vertex in graph before to delete it. Indeed, mainly due cascade delete, this vertex may have already been removed */
        Vertex notYetDeleted = service.getDriver().loadVertexFor(objectVertexId, service.getContainedClass().getName());
        if(notYetDeleted!=null)
          database.removeVertex(notYetDeleted);
    }
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
                CascadeType used = null;
                // However, if property supports that cascade type, we cascade operation
                if (entry.getValue().contains(cascade)) {
                    used = cascade;
                }
                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);
                }
            }
        }
        /* We try to locate vertex in graph before to delete it. Indeed, mainly due cascade delete, this vertex may have already been removed */
        Vertex notYetDeleted = service.getDriver().loadVertexFor(objectVertexId, service.getContainedClass().getName());
        if(notYetDeleted!=null)
          database.removeVertex(notYetDeleted);
    }
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
                CascadeType used = null;
                // However, if property supports that cascade type, we cascade operation
                if (entry.getValue().contains(cascade)) {
                    used = cascade;
                }
                if(used!=null) {
                  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);
                  }
                }
            }
        }
        /* We try to locate vertex in graph before to delete it. Indeed, mainly due cascade delete, this vertex may have already been removed */
        Vertex notYetDeleted = service.getDriver().loadVertexFor(objectVertexId, service.getContainedClass().getName());
        if(notYetDeleted!=null)
          database.removeVertex(notYetDeleted);
    }
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.