@@ -46,49 +46,30 @@ angular.module('neo4jApp.services')
46
46
driver = bolt .driver (" bolt://" + host, bolt .auth .basic (username, password), {encrypted : encrypted})
47
47
driver
48
48
49
- testQuery = (driver ) ->
49
+ testConnection = (withoutCredentials = no ) ->
50
50
q = $q .defer ()
51
+ driver = getDriverObj withoutCredentials
51
52
driver .onError = (e ) ->
52
53
if e instanceof Event and e .type is ' error'
53
54
q .reject getSocketErrorObj ()
54
55
else if e .code and e .message # until Neo4jError is in drivers public API
55
56
q .reject buildErrorObj (e .code , e .message )
56
- session = driver .session ()
57
- p = session .run (" CALL db.labels" )
58
- p .then ((r ) ->
59
- session .close ()
60
- q .resolve r
61
- ).catch ((e )->
62
- session .close ()
63
- q .reject e
64
- )
57
+ else if e .fields && e .fields [0 ]
58
+ q .reject e
59
+ driver .onCompleted = (m ) ->
60
+ q .resolve m
61
+ driver .session ()
65
62
q .promise
66
63
67
- testConnection = (withoutCredentials = no ) ->
64
+ connect = (withoutCredentials = no ) ->
68
65
q = $q .defer ()
69
- driver = getDriverObj withoutCredentials
70
- testQuery (driver). then (( r ) ->
66
+ testConnection ( withoutCredentials). then (( r ) ->
67
+ _driver = getDriverObj withoutCredentials
71
68
q .resolve r
72
- _errorStatus = null
73
- driver .close ()
74
- ).catch ((e ) ->
75
- q .reject e
76
- _errorStatus = e
77
- driver .close ()
69
+ ,(e ) -> q .reject e
78
70
)
79
71
q .promise
80
72
81
- connect = (withoutCredentials = no ) ->
82
- q = $q .defer ()
83
- _driver = getDriverObj withoutCredentials
84
- testQuery (_driver)
85
- .then ((r ) -> q .resolve r)
86
- .catch ((e ) ->
87
- _driver = null unless e .fields [0 ].code is ' Neo.ClientError.Security.CredentialsExpired'
88
- q .reject e
89
- )
90
- q .promise
91
-
92
73
clearConnection = ->
93
74
_driver .close () if _driver?
94
75
_driver = null
@@ -130,14 +111,12 @@ angular.module('neo4jApp.services')
130
111
session .close ()
131
112
q .resolve r
132
113
).catch ((txe ) ->
133
- session .close ()
134
114
q .reject txe
135
115
)
136
116
else
137
117
session .close ()
138
118
q .resolve r
139
119
).catch ((e ) ->
140
- session .close ()
141
120
q .reject e
142
121
)
143
122
else
@@ -146,7 +125,6 @@ angular.module('neo4jApp.services')
146
125
session .close ()
147
126
q .resolve r
148
127
).catch ((e ) ->
149
- session .close ()
150
128
q .reject e
151
129
)
152
130
{tx : tx, promise : q .promise , session : session}
0 commit comments