|  |  | 
 |  |  | import de.uhilger.mediaz.entity.Geraet; | 
 |  |  | import static de.uhilger.mediaz.store.FileStorage.ST_ABLAGEORT; | 
 |  |  | import static de.uhilger.mediaz.store.FileStorage.ST_GERAET; | 
 |  |  | import de.uhilger.mediaz.store.Storage; | 
 |  |  | import java.io.BufferedReader; | 
 |  |  | import java.io.IOException; | 
 |  |  | import java.io.InputStream; | 
 |  |  | 
 |  |  |         String type = elems[elems.length - 2]; | 
 |  |  |         logger.fine(type); | 
 |  |  |         if(type.equalsIgnoreCase(ST_GERAET)) { | 
 |  |  |           list = fs.listObjects(type); | 
 |  |  |           List<Geraet> newList = new ArrayList(); | 
 |  |  |           Iterator<Entity> i = list.iterator(); | 
 |  |  |           while(i.hasNext()) { | 
 |  |  |             Entity entity = i.next(); | 
 |  |  |             if(entity instanceof Geraet) { | 
 |  |  |               Geraet g = (Geraet) entity; | 
 |  |  |               String statusurl = g.getStatusUrl(); | 
 |  |  |               logger.info(statusurl); | 
 |  |  |                | 
 |  |  |               HttpRequest request = HttpRequest.newBuilder() | 
 |  |  |                 .uri(URI.create(statusurl)) | 
 |  |  |                 .build(); | 
 |  |  |               HttpClient client = HttpClient.newBuilder() | 
 |  |  |                     .version(Version.HTTP_1_1) | 
 |  |  |                     .followRedirects(Redirect.NORMAL) | 
 |  |  |                     .connectTimeout(Duration.ofSeconds(20)) | 
 |  |  |                     //.proxy(ProxySelector.of(new InetSocketAddress("proxy.example.com", 80))) | 
 |  |  |                     //.authenticator(Authenticator.getDefault()) | 
 |  |  |                     .build(); | 
 |  |  |                HttpResponse<String> response = client.send(request, BodyHandlers.ofString()); | 
 |  |  |                logger.finer(Integer.toString(response.statusCode())); | 
 |  |  |                logger.finer(response.body());                 | 
 |  |  |                // {"ison":false,"has_timer":false,"overpower":false} | 
 |  |  |                String[] parts = response.body().split(",")[0].split(":"); | 
 |  |  |                logger.finer("ison: " + parts[1]); | 
 |  |  |                g.setStatus(parts[1]); | 
 |  |  |                newList.add(g); | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |           //list = newList;                | 
 |  |  |           list = collectDeviceStatus(fs, type); | 
 |  |  |           Gson gson = new Gson(); | 
 |  |  |           Object o = gson.fromJson(bodyLesen(e), fs.typeFromName(type).getType()); | 
 |  |  |           return gson.toJson(newList); | 
 |  |  |           return gson.toJson(list); | 
 |  |  |         } else {         | 
 |  |  |           list = fs.list(type); | 
 |  |  |         } | 
 |  |  | 
 |  |  |   public boolean delete(HttpExchange e) { | 
 |  |  |     return loeschen(e); | 
 |  |  |   } | 
 |  |  |    | 
 |  |  |   private List collectDeviceStatus(Storage fs, String type) throws IOException, InterruptedException { | 
 |  |  |     List list = fs.listObjects(type); | 
 |  |  |     List<Geraet> newList = new ArrayList(); | 
 |  |  |     Iterator<Entity> i = list.iterator(); | 
 |  |  |     while (i.hasNext()) { | 
 |  |  |       Entity entity = i.next(); | 
 |  |  |       if (entity instanceof Geraet) { | 
 |  |  |         Geraet g = (Geraet) entity; | 
 |  |  |         String statusurl = g.getStatusUrl(); | 
 |  |  |         logger.info(statusurl); | 
 |  |  |  | 
 |  |  |         HttpRequest request = HttpRequest.newBuilder() | 
 |  |  |                 .uri(URI.create(statusurl)) | 
 |  |  |                 .build(); | 
 |  |  |         HttpClient client = HttpClient.newBuilder() | 
 |  |  |                 .version(Version.HTTP_1_1) | 
 |  |  |                 .followRedirects(Redirect.NORMAL) | 
 |  |  |                 .connectTimeout(Duration.ofSeconds(20)) | 
 |  |  |                 //.proxy(ProxySelector.of(new InetSocketAddress("proxy.example.com", 80))) | 
 |  |  |                 //.authenticator(Authenticator.getDefault()) | 
 |  |  |                 .build(); | 
 |  |  |         HttpResponse<String> response = client.send(request, BodyHandlers.ofString()); | 
 |  |  |         logger.finer(Integer.toString(response.statusCode())); | 
 |  |  |         logger.finer(response.body()); | 
 |  |  |         // {"ison":false,"has_timer":false,"overpower":false} | 
 |  |  |         String[] parts = response.body().split(",")[0].split(":"); | 
 |  |  |         logger.finer("ison: " + parts[1]); | 
 |  |  |         g.setStatus(parts[1]); | 
 |  |  |         newList.add(g); | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |     return newList; | 
 |  |  |   } | 
 |  |  | } |