@@ -138,6 +138,7 @@ class SwiftListenerImpl: SwiftHelloBinding_Listener {
138138 }
139139
140140 static var thread = 0
141+ var i = 0
141142 let session = URLSession ( configuration: . default )
142143 let url = URL ( string: " https://en.wikipedia.org/wiki/Main_Page " ) !
143144 let regexp = try ! NSRegularExpression ( pattern: " ( \\ w+) " , options: [ ] )
@@ -148,27 +149,6 @@ class SwiftListenerImpl: SwiftHelloBinding_Listener {
148149 out. append ( " Hello " + text+ " ! " )
149150 }
150151
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
172152 do {
173153 var enc : UInt = 0
174154 let input = try NSString ( contentsOf: url, usedEncoding: & enc )
@@ -188,20 +168,39 @@ class SwiftListenerImpl: SwiftHelloBinding_Listener {
188168 catch ( let e) {
189169 responder. processedText ( " \( e) " )
190170 }
191- #endif
171+
192172 if initial {
193173 SwiftListenerImpl . thread += 1
194174 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 {
197177 NSLog ( " Sleeping " )
198- Thread . sleep ( forTimeInterval: 3 )
178+ Thread . sleep ( forTimeInterval: 10 )
179+
199180 // outgoing back to Java
200181 _ = responder. debug ( msg: " Process \( background) / \( i) " )
201182 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 ( )
202202 }
203203 }
204204 }
205205 }
206206}
207-
0 commit comments