From 7a713692d10820a5bf03528e524d040e9b5e7465 Mon Sep 17 00:00:00 2001 From: Nirothipan Date: Tue, 27 Jun 2017 13:04:58 +0530 Subject: [PATCH 01/12] adding POLICY_REVOKE constant --- .../mqtt/FireAlarmMQTTCommunicator.java | 32 +++++++++---------- .../agent/advanced/core/AgentConstants.java | 5 +-- .../advanced/core/AgentUtilOperations.java | 1 + .../agent/core/AgentConstants.java | 2 +- .../impl/VirtualFireAlarmServiceImpl.java | 4 +-- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/mqtt/FireAlarmMQTTCommunicator.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/mqtt/FireAlarmMQTTCommunicator.java index 275a8f221..82fa7eb32 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/mqtt/FireAlarmMQTTCommunicator.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/mqtt/FireAlarmMQTTCommunicator.java @@ -85,7 +85,7 @@ public class FireAlarmMQTTCommunicator extends MQTTTransportHandler { } catch (TransportHandlerException e) { log.warn(AgentConstants.LOG_APPENDER + "Subscription to MQTT Broker at: " + - mqttBrokerEndPoint + " failed"); + mqttBrokerEndPoint + " failed"); agentManager.updateAgentStatus("Subscription to broker failed."); } @@ -118,16 +118,6 @@ public class FireAlarmMQTTCommunicator extends MQTTTransportHandler { receivedMessage = message.toString(); if(!receivedMessage.contains("policyDefinition")){ receivedMessage = AgentUtilOperations.extractMessageFromPayload(receivedMessage); - }else{ - JSONObject jsonMessage = new JSONObject(receivedMessage); - updateCEPPolicy(jsonMessage.getString("policyDefinition")); - } - log.info(AgentConstants.LOG_APPENDER + "Message [" + receivedMessage + "] was received"); - } catch (AgentCoreOperationException e) { - log.warn(AgentConstants.LOG_APPENDER + "Could not extract message from payload.", e); - return; - } - String[] controlSignal = receivedMessage.split(":"); // message- ":" format.(ex: "BULB:ON", "TEMPERATURE", "HUMIDITY") @@ -168,9 +158,8 @@ public class FireAlarmMQTTCommunicator extends MQTTTransportHandler { publishToQueue(humidPublishTopic, securePayLoad); break; - case AgentConstants.POLICY_SIGNAL: - String policy = controlSignal[1]; - updateCEPPolicy(policy); + case AgentConstants.POLICY_REVOKE: + break; default: log.warn(AgentConstants.LOG_APPENDER + "'" + controlSignal[0] + @@ -185,6 +174,17 @@ public class FireAlarmMQTTCommunicator extends MQTTTransportHandler { agentManager.getAgentConfigs().getMqttBrokerEndpoint() + " failed"); } + } else { + JSONObject jsonMessage = new JSONObject(receivedMessage); + updateCEPPolicy(jsonMessage.getString("policyDefinition")); + } + log.info(AgentConstants.LOG_APPENDER + "Message [" + receivedMessage + "] was received"); + } catch (AgentCoreOperationException e) { + log.warn(AgentConstants.LOG_APPENDER + "Could not extract message from payload.", e); + return; + } + + } @Override @@ -247,8 +247,8 @@ public class FireAlarmMQTTCommunicator extends MQTTTransportHandler { } catch (MqttException e) { if (log.isDebugEnabled()) { log.warn(AgentConstants.LOG_APPENDER + - "Unable to 'STOP' MQTT connection at broker at: " + - mqttBrokerEndPoint); + "Unable to 'STOP' MQTT connection at broker at: " + + mqttBrokerEndPoint); } try { diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java index 1e732c752..81cb5ae00 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java @@ -57,7 +57,8 @@ public class AgentConstants { --------------------------------------------------------------------------------------- */ public static final int DEFAULT_MQTT_RECONNECTION_INTERVAL = 2; // time in seconds public static final int DEFAULT_MQTT_QUALITY_OF_SERVICE = 0; - public static final String MQTT_SUBSCRIBE_TOPIC = "%s/" + DEVICE_TYPE + "/%s/#"; + //public static final String MQTT_SUBSCRIBE_TOPIC = "%s/" + DEVICE_TYPE + "/%s/#"; + public static final String MQTT_SUBSCRIBE_TOPIC = "%s/" + DEVICE_TYPE + "/%s/operation/#"; public static final String MQTT_PUBLISH_TOPIC = "%s/" + DEVICE_TYPE + "/%s/temperature"; /* --------------------------------------------------------------------------------------- XMPP Connection specific information @@ -104,7 +105,7 @@ public class AgentConstants { --------------------------------------------------------------------------------------- */ public static final String BULB_CONTROL = "BULB"; public static final String TEMPERATURE_CONTROL = "TEMPERATURE"; - public static final String POLICY_SIGNAL = "POLICY"; + public static final String POLICY_REVOKE = "POLICY_REVOKE"; public static final String HUMIDITY_CONTROL = "HUMIDITY"; public static final String CONTROL_ON = "ON"; public static final String CONTROL_OFF = "OFF"; diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java index a2d9cfacf..ae76433d2 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java @@ -288,6 +288,7 @@ public class AgentUtilOperations { } return actualMessage; } else { + //System.out.println("\n . Not enrolled .\n"); return message; } } diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java index bfa29ca58..57fbc4ec4 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java @@ -63,7 +63,7 @@ public class AgentConstants { --------------------------------------------------------------------------------------- */ public static final int DEFAULT_MQTT_RECONNECTION_INTERVAL = 2; // time in seconds public static final int DEFAULT_MQTT_QUALITY_OF_SERVICE = 0; - public static final String MQTT_SUBSCRIBE_TOPIC = "%s/" + DEVICE_TYPE + "/%s"; + public static final String MQTT_SUBSCRIBE_TOPIC = "%s/" + DEVICE_TYPE + "/%s/operation/#"; public static final String MQTT_PUBLISH_TOPIC = "%s/" + DEVICE_TYPE + "/%s/temperature"; /* --------------------------------------------------------------------------------------- diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java index f04922d58..69cee6588 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java @@ -34,6 +34,7 @@ import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation; +import org.wso2.carbon.device.mgt.core.operation.mgt.ConfigOperation; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.constants.VirtualFireAlarmConstants; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.dto.SensorRecord; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.APIUtil; @@ -96,9 +97,8 @@ public class VirtualFireAlarmServiceImpl implements VirtualFireAlarmService { String publishTopic = APIUtil.getTenantDomainOftheUser() + "/" + VirtualFireAlarmConstants.DEVICE_TYPE + "/" + deviceId; - Operation commandOp = new CommandOperation(); + ConfigOperation commandOp = new ConfigOperation(); commandOp.setCode("buzz"); - commandOp.setType(Operation.Type.COMMAND); commandOp.setEnabled(true); commandOp.setPayLoad(actualMessage); From 6166ac640d5bd5a6a63b0e96b226779bdc1807f2 Mon Sep 17 00:00:00 2001 From: Nirothipan Date: Tue, 27 Jun 2017 13:08:24 +0530 Subject: [PATCH 02/12] code clean up --- .../agent/advanced/core/AgentUtilOperations.java | 1 - 1 file changed, 1 deletion(-) diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java index ae76433d2..a2d9cfacf 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java @@ -288,7 +288,6 @@ public class AgentUtilOperations { } return actualMessage; } else { - //System.out.println("\n . Not enrolled .\n"); return message; } } From dd4e6911fb1cc1bf10834604034e5d9754a3accf Mon Sep 17 00:00:00 2001 From: Pasindu Date: Tue, 27 Jun 2017 14:49:58 +0530 Subject: [PATCH 03/12] Fix runtime permission type constants --- .../public/templates/android-policy-edit.hbs | 12 ++++++------ .../public/templates/android-policy-view.hbs | 12 ++++++------ .../public/templates/android-policy-operations.hbs | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/templates/android-policy-edit.hbs b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/templates/android-policy-edit.hbs index 5736e69a0..b8af094ac 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/templates/android-policy-edit.hbs +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/templates/android-policy-edit.hbs @@ -1264,9 +1264,9 @@
@@ -1332,9 +1332,9 @@ diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/templates/android-policy-view.hbs b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/templates/android-policy-view.hbs index 3065de171..e82c6775f 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/templates/android-policy-view.hbs +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-view/public/templates/android-policy-view.hbs @@ -1552,9 +1552,9 @@
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js index 9ad8614dd..8ef8638ad 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * WSO2 Inc. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -78,6 +78,8 @@ var graphMap = {}; var palette = new Rickshaw.Color.Palette({scheme: "munin"}); +var elemTop; + $(window).load(function () { graphMap["battery"]=lineGraph("battery", batteryData); @@ -321,7 +323,7 @@ function maximizeGraph(graph, width,height){ height: height*2 }); - graph.render(); + graph.update(); } function minimizeGraph(graph){ @@ -329,7 +331,7 @@ function minimizeGraph(graph){ width: 366, height: 300 }); - graph.render(); + graph.update(); } //maximize minimize functionality @@ -339,17 +341,30 @@ $(".fw-expand").click(function(e) { var height = $(".chartWrapper").height(); if($(this).hasClass("default-view")){ + elemTop = $('#'+innerGraph.element.id).parents('.graph')[0].offsetTop; $(this).removeClass("default-view"); + $(this).removeClass("fw-expand"); + $(this).addClass("fw-contract"); maximizeGraph(innerGraph,width,height); $(this).parent().parent().addClass("max"); $(this).closest(".graph").siblings().addClass("max_hide"); $(this).closest(".graph").parent().siblings().addClass("max_hide"); }else{ - $(this).addClass("default-view"); + $(this).addClass("fw-expand"); + $(this).removeClass("fw-contract"); minimizeGraph(innerGraph); $(this).parent().parent().removeClass("max"); $(this).closest(".graph").siblings().removeClass("max_hide"); $(this).closest(".graph").parent().siblings().removeClass("max_hide"); + focusToArea() } }); + +//graph focusing function +function focusToArea(){ + var container = $("body"); + container.animate({ + scrollTop: elemTop + }); +} diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/private/config.json b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/private/config.json index 16a8963c8..30829092a 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/private/config.json +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/private/config.json @@ -5,6 +5,7 @@ "scopes" : [ "perm:android-sense:enroll" ], - "analyticsView" : "DAS" + "analyticsView" : "DAS", + "analyticsEnabled": false } } \ No newline at end of file From 7379faedfe235141f8f01dc7a8cc1754f0303357 Mon Sep 17 00:00:00 2001 From: Nirothipan Date: Wed, 28 Jun 2017 10:33:10 +0530 Subject: [PATCH 11/12] formatting download message in downloadArtifcats method --- .../src/main/java/org.carbon.android.emulator/TryIt.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java index 5ca395e3c..473bbecfe 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java @@ -140,13 +140,15 @@ public class TryIt { while ((count = in.read(data, 0, 1024)) != -1) { out.write(data, 0, count); sumCount += count; - if ((size > 0 && (System.currentTimeMillis() - startingTime > 5000)) + if ((size > 0 && (System.currentTimeMillis() - startingTime > 100)) || (sumCount / size * 100.0) == 100) { - System.out.println("Downloading: " - + new DecimalFormat("#.##").format((sumCount / size * 100.0)) + " %"); + System.out.print("\r\r\r\r\r\r\r\r\r\r"); + System.out.print("Downloading: " + + new DecimalFormat("#0.00").format((sumCount / size * 100.00)) + " %"); startingTime = System.currentTimeMillis(); } } + System.out.println(); } catch (MalformedURLException e) { System.out.println("Error in download URL of " + localPath); System.out.println("URL provided " + remotePath); From 42fce6e9feab290fa1bd94c1b5fea93cc9dc6dd1 Mon Sep 17 00:00:00 2001 From: Nirothipan Date: Wed, 28 Jun 2017 10:35:56 +0530 Subject: [PATCH 12/12] adding system.out.println(Done..) in extract folder method --- .../src/main/java/org.carbon.android.emulator/TryIt.java | 1 + 1 file changed, 1 insertion(+) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java index 473bbecfe..b1a02a406 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.emulator/src/main/java/org.carbon.android.emulator/TryIt.java @@ -899,6 +899,7 @@ public class TryIt { } catch (IOException e) { handleException("Extraction of " + zipFile + " failed", e); } + System.out.println("Done ..."); if (!new File(zipFile).delete()) { System.out.println("Downloaded zip : " + zipFile + " - not deleted"); }