Skip to content

Commit

Permalink
Updated with Notification support
Browse files Browse the repository at this point in the history
  • Loading branch information
piconem committed Nov 2, 2020
1 parent a0dee75 commit 65d3620
Show file tree
Hide file tree
Showing 11 changed files with 128 additions and 3 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIBuTCCAT6gAwIBAgIJAJyocudrOQz/MAoGCCqGSM49BAMCMBoxGDAWBgNVBAMM
D2NhLmVhYS5vcGVubmVzczAeFw0yMDA3MjIxMDIzMDBaFw0yMzA3MjIxMDIzMDBa
MBoxGDAWBgNVBAMMD2NhLmVhYS5vcGVubmVzczB2MBAGByqGSM49AgEGBSuBBAAi
A2IABJ6Pp2KBXz99OZXmE6apCHwhedyA3preCioHnfkfMS/FPz5KXg0zQi75N6ap
Nr5APeerDsvzS+I9cm4hXiLpTOdufFxHfBF5sJE1w+U2F+sObDygfVlHuelHLABF
VkE3CaNQME4wHQYDVR0OBBYEFPfn70Y5sxgZ5aXmungdnYuo4QUeMB8GA1UdIwQY
MBaAFPfn70Y5sxgZ5aXmungdnYuo4QUeMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0E
AwIDaQAwZgIxAJWjHlvd80Y6yvx7Gt9CdENCA+tmkw3ZDPZx/lCuMIcf7bdW8cTB
HY+Ij2FQdZlb6AIxANlDzlxBfLh9q5K/DycPDkYqHKPZKSEwjjlfl6Noa++MtT5D
f0Aj5LwjHHA/FvZm2g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBljCCARugAwIBAgIIsfTo7cW6Sq0wCgYIKoZIzj0EAwIwGjEYMBYGA1UEAwwP
Y2EuZWFhLm9wZW5uZXNzMB4XDTIwMTEwMjE1NDkzM1oXDTIzMDcyMjEwMjMwMFow
QjEUMBIGA1UEChMLRElQSVVuaU1vcmUxKjAoBgNVBAMTIWNvbnN1bWVyZGVtbzpv
cGVubmVzc0NvbnN1bWVyRGVtbzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDQD
FUu96psW2X+YwOn29hN7YRIrjxqivdZUgBApWJj6NkwbJ0Fjc9ctW4Qe1PDmuW0D
grfb7BtXwtY9XjWJXb6jIzAhMB8GA1UdIwQYMBaAFPfn70Y5sxgZ5aXmungdnYuo
4QUeMAoGCCqGSM49BAMCA2kAMGYCMQCfasd5JNFt2LFXlFxrLupWFxje6+ISLWQH
6IqpGP9IhtA/jYutR3y/Zf3tnR7zb9YCMQD01TjX2UAYCFJppcM2ADOX+4HJN2GW
2/Z96lNNDtL7Mav3d8nBpCBx0mt/rwa5PGg=
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCD+dHJ3ccevJIwZ+BUl
Zi1tG1iBRCDFLF3Be61437FJ5Q==
-----END PRIVATE KEY-----
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
-----BEGIN CERTIFICATE-----
MIIBljCCARugAwIBAgIIsfTo7cW6Sq0wCgYIKoZIzj0EAwIwGjEYMBYGA1UEAwwP
Y2EuZWFhLm9wZW5uZXNzMB4XDTIwMTEwMjE1NDkzM1oXDTIzMDcyMjEwMjMwMFow
QjEUMBIGA1UEChMLRElQSVVuaU1vcmUxKjAoBgNVBAMTIWNvbnN1bWVyZGVtbzpv
cGVubmVzc0NvbnN1bWVyRGVtbzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDQD
FUu96psW2X+YwOn29hN7YRIrjxqivdZUgBApWJj6NkwbJ0Fjc9ctW4Qe1PDmuW0D
grfb7BtXwtY9XjWJXb6jIzAhMB8GA1UdIwQYMBaAFPfn70Y5sxgZ5aXmungdnYuo
4QUeMAoGCCqGSM49BAMCA2kAMGYCMQCfasd5JNFt2LFXlFxrLupWFxje6+ISLWQH
6IqpGP9IhtA/jYutR3y/Zf3tnR7zb9YCMQD01TjX2UAYCFJppcM2ADOX+4HJN2GW
2/Z96lNNDtL7Mav3d8nBpCBx0mt/rwa5PGg=
-----END CERTIFICATE-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
-----BEGIN CERTIFICATE-----
MIIBuTCCAT6gAwIBAgIJAJyocudrOQz/MAoGCCqGSM49BAMCMBoxGDAWBgNVBAMM
D2NhLmVhYS5vcGVubmVzczAeFw0yMDA3MjIxMDIzMDBaFw0yMzA3MjIxMDIzMDBa
MBoxGDAWBgNVBAMMD2NhLmVhYS5vcGVubmVzczB2MBAGByqGSM49AgEGBSuBBAAi
A2IABJ6Pp2KBXz99OZXmE6apCHwhedyA3preCioHnfkfMS/FPz5KXg0zQi75N6ap
Nr5APeerDsvzS+I9cm4hXiLpTOdufFxHfBF5sJE1w+U2F+sObDygfVlHuelHLABF
VkE3CaNQME4wHQYDVR0OBBYEFPfn70Y5sxgZ5aXmungdnYuo4QUeMB8GA1UdIwQY
MBaAFPfn70Y5sxgZ5aXmungdnYuo4QUeMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0E
AwIDaQAwZgIxAJWjHlvd80Y6yvx7Gt9CdENCA+tmkw3ZDPZx/lCuMIcf7bdW8cTB
HY+Ij2FQdZlb6AIxANlDzlxBfLh9q5K/DycPDkYqHKPZKSEwjjlfl6Noa++MtT5D
f0Aj5LwjHHA/FvZm2g==
-----END CERTIFICATE-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
-----BEGIN CERTIFICATE-----
MIIBuTCCAT6gAwIBAgIJAJyocudrOQz/MAoGCCqGSM49BAMCMBoxGDAWBgNVBAMM
D2NhLmVhYS5vcGVubmVzczAeFw0yMDA3MjIxMDIzMDBaFw0yMzA3MjIxMDIzMDBa
MBoxGDAWBgNVBAMMD2NhLmVhYS5vcGVubmVzczB2MBAGByqGSM49AgEGBSuBBAAi
A2IABJ6Pp2KBXz99OZXmE6apCHwhedyA3preCioHnfkfMS/FPz5KXg0zQi75N6ap
Nr5APeerDsvzS+I9cm4hXiLpTOdufFxHfBF5sJE1w+U2F+sObDygfVlHuelHLABF
VkE3CaNQME4wHQYDVR0OBBYEFPfn70Y5sxgZ5aXmungdnYuo4QUeMB8GA1UdIwQY
MBaAFPfn70Y5sxgZ5aXmungdnYuo4QUeMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0E
AwIDaQAwZgIxAJWjHlvd80Y6yvx7Gt9CdENCA+tmkw3ZDPZx/lCuMIcf7bdW8cTB
HY+Ij2FQdZlb6AIxANlDzlxBfLh9q5K/DycPDkYqHKPZKSEwjjlfl6Noa++MtT5D
f0Aj5LwjHHA/FvZm2g==
-----END CERTIFICATE-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-----BEGIN PRIVATE KEY-----
MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCD+dHJ3ccevJIwZ+BUl
Zi1tG1iBRCDFLF3Be61437FJ5Q==
-----END PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENAMVS73qmxbZf5jA6fb2E3thEiuP
GqK91lSAEClYmPo2TBsnQWNz1y1bhB7U8Oa5bQOCt9vsG1fC1j1eNYldvg==
-----END PUBLIC KEY-----
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<slf4j.version>1.7.26</slf4j.version>
<jackson.version>2.9.8</jackson.version>
<logback.version>1.2.3</logback.version>
<openness.connector.version>0.0.3</openness.connector.version>
<openness.connector.version>0.0.4</openness.connector.version>
<junit.version>4.13</junit.version>
<apache-commons.version>3.9</apache-commons.version>
<apache.httpclient>4.5.12</apache.httpclient>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package it.unimore.dipi.openness.consumer;

import com.fasterxml.jackson.databind.ObjectMapper;
import it.unimore.dipi.iot.openness.dto.service.NotificationToConsumer;
import it.unimore.dipi.iot.openness.dto.service.TerminateNotification;
import it.unimore.dipi.iot.openness.notification.AbstractWebSocketHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;

/**
* @author Stefano Mariani, Ph.D. - [email protected]
* @project openness-connector
* @created 07/10/2020 - 14:03
*/
public class MyNotificationsHandler extends AbstractWebSocketHandler {

private static final Logger logger = LoggerFactory.getLogger(MyNotificationsHandler.class);
private ObjectMapper objectMapper;

public MyNotificationsHandler() {
this.objectMapper = new ObjectMapper();
}

@Override
public void onWebSocketText(String msg) {

logger.info("Message got: {}", msg);

try {
final NotificationToConsumer shutdown = this.objectMapper.readValue(msg, NotificationToConsumer.class);
final TerminateNotification tn = new TerminateNotification();
if (shutdown.getName().equals(tn.getName()) && shutdown.getVersion().equals(tn.getVersion())) {
logger.info("Received notifications termination request, closing web socket...");
session.close();
session.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import it.unimore.dipi.iot.openness.dto.service.EdgeApplicationServiceDescriptor;
import it.unimore.dipi.iot.openness.dto.service.EdgeApplicationServiceList;
import it.unimore.dipi.iot.openness.exception.EdgeApplicationAuthenticatorException;
import it.unimore.dipi.iot.openness.process.MyNotificationsHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Optional;

/**
Expand Down Expand Up @@ -42,15 +42,26 @@ public static void main(String[] args) {

logger.info("Application Correctly Authenticated ! AppId: {}", authorizedApplicationConfiguration.getApplicationId());

EdgeApplicationConnector edgeApplicationConnector = new EdgeApplicationConnector(OPENNESS_CONTROLLER_BASE_APP_URL,
EdgeApplicationConnector edgeApplicationConnector = new EdgeApplicationConnector(
OPENNESS_CONTROLLER_BASE_APP_URL,
authorizedApplicationConfiguration,
OPENNESS_CONTROLLER_BASE_APP_WS_URL);

//Activate Notification Channel
MyNotificationsHandler myNotificationsHandler = new MyNotificationsHandler();
edgeApplicationConnector.setupNotificationChannel(NAME_SPACE, APPLICATION_ID, myNotificationsHandler);

EdgeApplicationServiceList availableServices = edgeApplicationConnector.getAvailableServices();

if(availableServices != null && availableServices.getServiceList() != null){
for(EdgeApplicationServiceDescriptor edgeApplicationServiceDescriptor : availableServices.getServiceList()){
logger.info("Service URN: {} -> {}", edgeApplicationServiceDescriptor.getServiceUrn(), edgeApplicationServiceDescriptor);

//Register to traffic information notification
if(edgeApplicationServiceDescriptor.getServiceUrn().getId().equals("opennessProducerDemoTraffic"))
edgeApplicationConnector.postSubscription(edgeApplicationServiceDescriptor.getNotificationDescriptorList(),
edgeApplicationServiceDescriptor.getServiceUrn().getNamespace(),
edgeApplicationServiceDescriptor.getServiceUrn().getId());
}
}
else
Expand Down

0 comments on commit 65d3620

Please sign in to comment.