@@ -526,121 +526,54 @@ def create_pdu(key, attr, preset_file=os.path.join(os.path.dirname(__file__), 'p
526526 props_stm = _get_props_stm ({** v , ** {'OIDName' : k }}, supported_attr = ["OID" , "OIDName" , "defaultValue" , "dataType" ])
527527 query .append ("CREATE (:OID {{ {props_stm} }})<-[:HAS_OID]-(pdu)" .format (oid_name = k , props_stm = props_stm ))
528528
529- print ("\n " .join (query ))
530- session .run ("\n " .join (query ))
531529
532530 # Outlet-specific OIDs
533531 for k , v in data ["outletOIDs" ].items ():
534532
533+ # For outlet state, outlet asset will need to be created
535534 if k == "OutletState" :
536535 if 'oidDesc' in v :
537536 oid_desc = dict ((y ,x ) for x ,y in v ["oidDesc" ].items ())
538537
539538 desc_stm = _get_oid_desc_stm (oid_desc , oid_name = "{}-{}" .format (k ,key ))
540539 query .append ("CREATE (oidDesc:OIDDesc {{ {} }})<-[:HAS_OID]-(pdu)" .format (desc_stm ))
541540
542- # query = "\
543- # CREATE (OutletStateDetails:OIDDesc {{\
544- # OIDName: $name, \
545- # {}: \"switchOn\",\
546- # {}: \"switchOff\", \
547- # {}: \"immediateReboot\",\
548- # {}: \"delayedOn\",\
549- # {}: \"delayedOff\"\
550- # }})\
551- # ".format(
552- # oid_desc["switchOn"],
553- # oid_desc["switchOff"],
554- # oid_desc["immediateReboot"],
555- # oid_desc["delayedOn"],
556- # oid_desc["delayedOff"]
557- # )
558- # print(query)
559-
560- # session.run(query, name="{}-{}".format(k,key))
561-
562541 for j in range (outlet_count ):
563542
564543 out_key = int ("{}{}" .format (key ,str (j + 1 )))
565544 props_stm = _get_props_stm ({'key' : out_key , 'name' : 'out' + str (j + 1 ), 'type' : 'outlet' })
566545
567546 # create outlet per OID
568- query .append ("CREATE (out{}:Asset:Outlet:Component {{ {} }}" .format (out_key , props_stm ))
547+ query .append ("CREATE (out{}:Asset:Outlet:Component {{ {} }}) " .format (out_key , props_stm ))
569548
570549 # set outlet relationships
571550 query .append ("CREATE (out{})-[:POWERED_BY]->(pdu)" .format (out_key ))
572551 query .append ("CREATE (pdu)-[:HAS_COMPONENT]->(out{})" .format (out_key ))
573552
574- # session.run("\
575- # MATCH (pdu:PDU {key: $pkey})\
576- # CREATE (out1:Asset:Outlet:Component { \
577- # name: $outname,\
578- # key: $outkey,\
579- # type: 'outlet'\
580- # })\
581- # CREATE (out1)-[:POWERED_BY]->(pdu)\
582- # CREATE (pdu)-[:HAS_COMPONENT]->(out1)\
583- # ",
584- # pkey=key,
585- # outname='out'+str(j+1),
586- # outkey=int("{}{}".format(key,str(j+1))))
587553
588-
589- for j in range (outlet_count ):
590- for oid in v ['OID' ]:
554+ # create OID associated with outlet & pdu
555+ for oid_n , oid in enumerate (v ['OID' ]):
591556
592557 out_key = int ("{}{}" .format (key ,str (j + 1 )))
593558 oid = oid + "." + str (j + 1 )
594-
559+ oid_node_name = "{oid_name}{outlet_num}{oid_num}" . format ( oid_name = k , outlet_num = j , oid_num = oid_n )
595560
596- query .append ("CREATE (oid:OID {{ {} }})" )
597-
598- query .append ("CREATE (out{})-[:POWERED_BY]->(oid)" .format (out_key ))
599- query .append ("CREATE (oid)-[:HAS_STATE_DETAILS]->(oidDesc)" )
600- query .append ("CREATE (pdu)-[:HAS_OID]->(oid)" )
601-
602- session .run ("\
603- MATCH (pdu:PDU {key: $pkey})\
604- MATCH (oidDesc:OIDDesc {OIDName: $oid_desc})\
605- MATCH (out1:Asset:Outlet:Component { key: $outkey })\
606- CREATE (oid:OID { \
607- OID: $oid,\
608- OIDName: $name,\
609- name: $name, \
610- defaultValue: $dv,\
611- dataType: $dt \
612- })\
613- CREATE (out1)-[:POWERED_BY]->(oid)\
614- CREATE (oid)-[:HAS_STATE_DETAILS]->(oidDesc)\
615- CREATE (pdu)-[:HAS_OID]->(oid)\
616- " ,
617- pkey = key ,
618- oid = oid ,
619- name = k ,
620- dv = v ['defaultValue' ],
621- dt = v ['dataType' ],
622- outname = 'out' + str (j + 1 ),
623- oid_desc = "{}-{}" .format (k ,key ),
624- outkey = int ("{}{}" .format (key ,str (j + 1 ))))
561+ props_stm = _get_props_stm ({'OID' : oid , 'OIDName' : k , 'dataType' : v ['dataType' ], 'defaultValue' : v ['defaultValue' ]})
562+ query .append ("CREATE ({oid_node_name}:OID {{ {props_stm} }})" .format (oid_node_name = oid_node_name , props_stm = props_stm ))
563+
564+ # set the relationships
565+ query .append ("CREATE (out{})-[:POWERED_BY]->({})" .format (out_key , oid_node_name ))
566+ query .append ("CREATE ({})-[:HAS_STATE_DETAILS]->(oidDesc)" .format (oid_node_name ))
567+ query .append ("CREATE (pdu)-[:HAS_OID]->({})" .format (oid_node_name ))
625568 else :
626569 oid = v ['OID' ]
570+
571+ props_stm = _get_props_stm ({'OID' : oid , 'OIDName' : k , 'dataType' : v ['dataType' ], 'defaultValue' : v ['defaultValue' ]})
572+ query .append ("CREATE ({}:OID {{ {} }})" .format (k , props_stm ))
573+ query .append ("CREATE (pdu)-[:HAS_OID]->({})" .format (k ))
627574
628- session .run ("\
629- MATCH (pdu:PDU {key: $pkey})\
630- CREATE (oid:OID { \
631- OID: $oid,\
632- OIDName: $name,\
633- name: $name, \
634- defaultValue: $dv,\
635- dataType: $dt \
636- })\
637- CREATE (pdu)-[:HAS_OID]->(oid)\
638- " ,
639- pkey = key ,
640- oid = oid ,
641- name = k ,
642- dv = v ['defaultValue' ],
643- dt = v ['dataType' ])
575+ # print("\n".join(query))
576+ session .run ("\n " .join (query ))
644577
645578
646579def create_static (key , attr ):
0 commit comments