countEdges in embeded javasript function

24 views
Skip to first unread message

Gerard Vergoni

unread,
Apr 19, 2016, 8:54:33 AM4/19/16
to OrientDB
Hello,

I have a function that embeds JavaScript and blueprints here

var gdb = orient.getGraph();
var retour = {};
try{
 
var login = gdb.getVertex(id);
 
if(login){
// insert controle here
   
var pays = login.getLabel().slice(-2);
   
var Ccompte = gdb.getVertexType("Compte_".concat(pays))|| gdb.createVertexType("Compte_".concat(pays),"Compte");
   
var Cconfig = gdb.getVertexType("Config_".concat(pays))|| gdb.createVertexType("Config_".concat(pays),"Config");  
   
var compte = gdb.addVertex("class:"+Ccompte);
      compte
.setProperty("Pays",pays);
   
var config = gdb.addVertex("class:"+Cconfig);
      config
.setProperty("Nom","message");
      config
.setProperty("Desc","Service Messagerie");
    login
.addEdge("Membre",compte)
    login
.addEdge("MP", config );
    gdb
.commit();
   
    retour
.ID =  compte.getId();
    retour
.pays = pays;
 
}  
 
else{
    retour
.err = 'Compte Introuvable';
    retour
.errcode = 152;
 
}
} catch(err) {
  gdb
.rollback();
  retour
.err = err.toString();
  retour
.errcode = 201
} finally {
  gdb
.shutdown();
}
return retour;

and I am a control insert the number of Edges with
 if ( login.countEdges (Direction.OUT, "Membre")== 0 ) {.....

Here is the description of countEdges

public long countEdges(Direction iDirection,String... iLabels)   (Blueprints Extension) Returns the number of edges connected to the current Vertex.

Parameters:
    iDirection
- The direction between OUT, IN or BOTH
    iLabels
- Optional labels as Strings to consider
Returns:
    A
long with the total edges found



I have an error on the type Direction

if someone has an idea I'm interested

Thank you

alessand...@gmail.com

unread,
Apr 19, 2016, 9:28:16 AM4/19/16
to orient-...@googlegroups.com
Hi Gerard,
are you getting this error "ReferenceError: \"Direction\" is not defined" ? 

Kind regards,
Alessandro

Gerard Vergoni

unread,
Apr 19, 2016, 9:37:59 AM4/19/16
to OrientDB
Hi Alessandro
Yes .... unfortunately I do not know or find the declaration of the "Direction" structure

alessand...@gmail.com

unread,
Apr 19, 2016, 9:45:43 AM4/19/16
to orient-...@googlegroups.com
Hi Gerard,
I think you're mixing javascript code with java code.
The method countEdges belongs to java code.

Best regards,
Alessandro


Gerard Vergoni

unread,
Apr 19, 2016, 9:59:27 AM4/19/16
to OrientDB
library has the blueprints exactly as
getVertex
, getVertex type, AddVertex, addEdge
that work
very well ...
so there must be a gateway that the relationship between JavaScript and Java

Le mardi 19 avril 2016 15:45:43 UTC+2, alessand...@gmail.com a écrit :
Hi Vegard,

alessand...@gmail.com

unread,
Apr 19, 2016, 10:46:07 AM4/19/16
to OrientDB
Hi Gerard,
you can try substituting

if ( login.countEdges (Direction.OUT, "Membre")== 0 ) {.....

with

var edge=login.getRecord().field("out_Membre");
if(edge==null || edge.size()==0){ ...


Best regards,
Alessandro

Gerard Vergoni

unread,
Apr 19, 2016, 11:19:16 AM4/19/16
to OrientDB
it works with this code I'll do like that
Thank you very much for your help ...

it is amazing that the whole method of blueprints bookstore not use the "Direction" works fine in JavaScript! ... there probably has a solution, it would be interesting to find
Reply all
Reply to author
Forward
0 new messages