Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *
   *  *  Copyright 2014 Orient Technologies LTD (info(at)orientechnologies.com)
   *  *
   *  *  Licensed under the Apache License, Version 2.0 (the "License");
   *  *  you may not use this file except in compliance with the License.
   *  *  You may obtain a copy of the License at
   *  *
   *  *       http://www.apache.org/licenses/LICENSE-2.0
  *  *
  *  *  Unless required by applicable law or agreed to in writing, software
  *  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  *  See the License for the specific language governing permissions and
  *  *  limitations under the License.
  *  *
  *  * For more information: http://www.orientechnologies.com
  *
  */
 package com.orientechnologies.orient.graph.sql;
 
 
 import java.util.Map;
 import java.util.Set;

SQL CREATE VERTEX command.

Author(s):
Luca Garulli
 
   public static final String            NAME = "CREATE VERTEX";
   private OClass                        clazz;
   private String                        clusterName;
   private LinkedHashMap<StringObjectfields;
 
   @SuppressWarnings("unchecked")
   public OCommandExecutorSQLCreateVertex parse(final OCommandRequest iRequest) {
     final ODatabaseDocument database = getDatabase();
 
     init((OCommandRequestTextiRequest);
 
     String className = null;
 
     parserRequiredKeyword("CREATE");
     parserRequiredKeyword("VERTEX");
 
     String temp = parseOptionalWord(true);
 
     while (temp != null) {
       if (temp.equals("CLUSTER")) {
          = parserRequiredWord(false);
 
       } else if (temp.equals()) {
          = new LinkedHashMap<StringObject>();
         parseSetFields();
 
       } else if (temp.equals()) {
         parseContent();
 
       } else if (className == null && temp.length() > 0)
         className = temp;
 
       temp = parserOptionalWord(true);
       if (parserIsEnded())
         break;
     }
 
     if (className == null)
       // ASSIGN DEFAULT CLASS
       className = "V";
 
     // GET/CHECK CLASS NAME
      = ((OMetadataInternaldatabase.getMetadata()).getImmutableSchemaSnapshot().getClass(className);
     if ( == null)
       throw new OCommandSQLParsingException("Class '" + className + "' was not found");
 
     return this;
   }

  
Execute the command and return the ODocument object created.
  public Object execute(final Map<ObjectObjectiArgs) {
    if ( == null)
      throw new OCommandExecutionException("Cannot execute the command because it has not been parsed yet");
    return OGraphCommandExecutorSQLFactory.runInTx(new OGraphCommandExecutorSQLFactory.GraphCallBack<ODocument>() {
      @Override
      public ODocument call(OrientBaseGraph graph) {
        final OrientVertex vertex = graph.addTemporaryVertex(.getName());
        if ( != null)
          // EVALUATE FIELDS
          for (Entry<StringObjectf : .entrySet()) {
            if (f.getValue() instanceof OSQLFunctionRuntime)
              .put(f.getKey(), ((OSQLFunctionRuntimef.getValue()).getValue(vertex.getRecord(), null));
          }
        OSQLHelper.bindParameters(vertex.getRecord(), new OCommandParameters(iArgs), );
        if ( != null)
          vertex.getRecord().merge(truefalse);
        if ( != null)
          vertex.save();
        else
          vertex.save();
        return vertex.getRecord();
      }
    });
  }
  }
  public Set<StringgetInvolvedClusters() {
    if ( != null)
    else if ( != null)
      return getInvolvedClustersOfClusters(Collections.singleton());
    return .;
  }
  public String getSyntax() {
    return "CREATE VERTEX [<class>] [CLUSTER <cluster>] [SET <field> = <expression>[,]*]";
  }
New to GrepCode? Check out our FAQ X