@@ -138,6 +138,7 @@ class SwiftListenerImpl: SwiftHelloBinding_Listener {
138
138
}
139
139
140
140
static var thread = 0
141
+ var i = 0
141
142
let session = URLSession ( configuration: . default)
142
143
let url = URL ( string: " https://en.wikipedia.org/wiki/Main_Page " ) !
143
144
let regexp = try ! NSRegularExpression ( pattern: " ( \\ w+) " , options: [ ] )
@@ -148,27 +149,6 @@ class SwiftListenerImpl: SwiftHelloBinding_Listener {
148
149
out. append ( " Hello " + text+ " ! " )
149
150
}
150
151
151
- #if false
152
- session. dataTask ( with: URLRequest ( url: url) ) {
153
- ( data, response, error) in
154
- var out = [ String] ( )
155
- NSLog ( " Response: \( data? . count?? - 1 ) \( String ( describing: error) ) " )
156
- if let data= data, let input= NSString ( data: data, encoding: String . Encoding. utf8. rawValue) {
157
- for match in self . regexp. matches ( in: String ( describing: input) , options: [ ] ,
158
- range: NSMakeRange ( 0 , input. length) ) {
159
- out. append ( " \( input. substring ( with: match. range) ) " )
160
- }
161
-
162
- NSLog ( " Display " )
163
- // outgoing back to Java
164
- responder. processedTextListener2dArray ( text: [ [ MyText ( out. joined ( separator: " , " ) ) ] ] )
165
-
166
- var memory = rusage ( )
167
- getrusage ( RUSAGE_SELF, & memory)
168
- NSLog ( " Done \( memory. ru_maxrss) \( text) " )
169
- }
170
- } . resume ( )
171
- #else
172
152
do {
173
153
var enc : UInt = 0
174
154
let input = try NSString ( contentsOf: url, usedEncoding: & enc)
@@ -188,20 +168,39 @@ class SwiftListenerImpl: SwiftHelloBinding_Listener {
188
168
catch ( let e) {
189
169
responder. processedText ( " \( e) " )
190
170
}
191
- #endif
171
+
192
172
if initial{
193
173
SwiftListenerImpl . thread+= 1
194
174
let background = SwiftListenerImpl . thread
195
- DispatchQueue . global ( ) . async {
196
- for i in 1 ..< 500 {
175
+ DispatchQueue . global ( qos : . background ) . async {
176
+ for i in 1 ..< 100 {
197
177
NSLog ( " Sleeping " )
198
- Thread . sleep ( forTimeInterval: 3 )
178
+ Thread . sleep ( forTimeInterval: 10 )
179
+
199
180
// outgoing back to Java
200
181
_= responder. debug ( msg: " Process \( background) / \( i) " )
201
182
self . processText ( " World # \( i) " , initial: false )
183
+
184
+ Thread . sleep ( forTimeInterval: 10 )
185
+ let url = URL ( string: " https://jsonplaceholder.typicode.com/posts " ) !
186
+ self . session. dataTask ( with: URLRequest ( url: url) ) {
187
+ ( data, response, error) in
188
+ if let data= data{
189
+ do {
190
+ let json = try JSONSerialization . jsonObject ( with: data)
191
+ let text = try JSONSerialization . data ( withJSONObject: json)
192
+ responder. processedText ( String ( data: text, encoding: . utf8) )
193
+ }
194
+ catch let e{
195
+ responder. processedText ( " \( e) " )
196
+ }
197
+ }
198
+ else {
199
+ responder. processedText ( " \( error) " )
200
+ }
201
+ } . resume ( )
202
202
}
203
203
}
204
204
}
205
205
}
206
206
}
207
-