Skip to content
This repository was archived by the owner on Feb 5, 2024. It is now read-only.

Commit ae1979b

Browse files
authored
Merge pull request #21 from OpenFogStack/namingService
Add one exception to naming service sender
2 parents 78e4fd4 + 0393a7d commit ae1979b

15 files changed

+218
-118
lines changed

src/main/java/communication/MessageIdEvaluator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import control.FBase;
1414
import de.hasenburg.fbase.model.GetMissedMessageResponse;
1515
import exceptions.FBaseCommunicationException;
16+
import exceptions.FBaseNamingServiceException;
1617
import exceptions.FBaseStorageConnectorException;
1718
import model.data.MessageID;
1819
import model.data.NodeID;
@@ -131,7 +132,7 @@ private TreeSet<Integer> getIDSet(TreeMap<String, TreeSet<Integer>> machineMap,
131132

132133
addReceivedMessageID(mID); // to remember that we got it
133134
} catch (FBaseStorageConnectorException | FBaseCommunicationException
134-
| NullPointerException e) {
135+
| NullPointerException | FBaseNamingServiceException e) {
135136
logger.error("Unable to check on missed messages because cannot get "
136137
+ "nodeConfig for nodeID " + nodeID, e);
137138
}

src/main/java/communication/NamingServiceSender.java

Lines changed: 92 additions & 53 deletions
Large diffs are not rendered by default.

src/main/java/de/hasenburg/fbase/rest/ServletHelperMethods.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import crypto.CryptoProvider;
1212
import crypto.CryptoProvider.EncryptionAlgorithm;
1313
import exceptions.FBaseCommunicationException;
14+
import exceptions.FBaseNamingServiceException;
1415
import exceptions.FBaseRestException;
1516
import exceptions.FBaseStorageConnectorException;
1617
import model.JSONable;
@@ -98,7 +99,7 @@ public static KeygroupConfig parseBodyToConfig(HttpServletRequest req,
9899
*/
99100

100101
public static ClientConfig getConfig(ClientID clientID, FBase fBase)
101-
throws FBaseStorageConnectorException, FBaseRestException {
102+
throws FBaseStorageConnectorException, FBaseRestException, FBaseNamingServiceException {
102103
ClientConfig clientConfig;
103104
try {
104105
clientConfig = fBase.configAccessHelper.clientConfig_get(clientID);
@@ -112,7 +113,7 @@ public static ClientConfig getConfig(ClientID clientID, FBase fBase)
112113
}
113114

114115
public static KeygroupConfig getConfig(KeygroupID keygroupID, FBase fBase)
115-
throws FBaseStorageConnectorException, FBaseRestException {
116+
throws FBaseStorageConnectorException, FBaseRestException, FBaseNamingServiceException {
116117
KeygroupConfig keygroupConfig;
117118
try {
118119
keygroupConfig = fBase.configAccessHelper.keygroupConfig_get(keygroupID);
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package exceptions;
2+
3+
public class FBaseNamingServiceException extends FBaseException {
4+
5+
private static final long serialVersionUID = 1L;
6+
7+
/**
8+
* @param message
9+
*/
10+
public FBaseNamingServiceException(String message) {
11+
super(message);
12+
}
13+
14+
}

src/main/java/storageconnector/ConfigAccessHelper.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import control.FBase;
44
import exceptions.FBaseCommunicationException;
5+
import exceptions.FBaseNamingServiceException;
56
import exceptions.FBaseStorageConnectorException;
67
import model.config.ClientConfig;
78
import model.config.KeygroupConfig;
@@ -33,10 +34,12 @@ public ConfigAccessHelper(FBase fBase) {
3334
* @param keygroupID
3435
* @return see above
3536
* @throws FBaseStorageConnectorException
36-
* @throws FBaseCommunicationException
37+
* @throws FBaseCommunicationException
38+
* @throws FBaseNamingServiceException
3739
*/
3840
public KeygroupConfig keygroupConfig_get(KeygroupID keygroupID)
39-
throws FBaseStorageConnectorException, FBaseCommunicationException {
41+
throws FBaseStorageConnectorException, FBaseCommunicationException,
42+
FBaseNamingServiceException {
4043
KeygroupConfig config = fBase.connector.keygroupConfig_get(keygroupID);
4144
if (config == null) {
4245
config = fBase.namingServiceSender.sendKeygroupConfigRead(keygroupID);
@@ -52,9 +55,10 @@ public KeygroupConfig keygroupConfig_get(KeygroupID keygroupID)
5255
* @return see above
5356
* @throws FBaseStorageConnectorException
5457
* @throws FBaseCommunicationException
58+
* @throws FBaseNamingServiceException
5559
*/
56-
public NodeConfig nodeConfig_get(NodeID nodeID)
57-
throws FBaseStorageConnectorException, FBaseCommunicationException {
60+
public NodeConfig nodeConfig_get(NodeID nodeID) throws FBaseStorageConnectorException,
61+
FBaseCommunicationException, FBaseNamingServiceException {
5862
NodeConfig nodeConfig = fBase.connector.nodeConfig_get(nodeID);
5963
if (nodeConfig == null) {
6064
nodeConfig = fBase.namingServiceSender.sendNodeConfigRead(nodeID);
@@ -71,9 +75,10 @@ public NodeConfig nodeConfig_get(NodeID nodeID)
7175
* @return see above
7276
* @throws FBaseStorageConnectorException
7377
* @throws FBaseCommunicationException
78+
* @throws FBaseNamingServiceException
7479
*/
75-
public ClientConfig clientConfig_get(ClientID clientID)
76-
throws FBaseStorageConnectorException, FBaseCommunicationException {
80+
public ClientConfig clientConfig_get(ClientID clientID) throws FBaseStorageConnectorException,
81+
FBaseCommunicationException, FBaseNamingServiceException {
7782
ClientConfig clientConfig = fBase.connector.clientConfig_get(clientID);
7883
if (clientConfig == null) {
7984
clientConfig = fBase.namingServiceSender.sendClientConfigRead(clientID);

src/main/java/tasks/DeleteDataRecordTask.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import control.FBase;
66
import exceptions.FBaseEncryptionException;
7+
import exceptions.FBaseNamingServiceException;
78
import exceptions.FBaseCommunicationException;
89
import exceptions.FBaseStorageConnectorException;
910
import model.JSONable;
@@ -50,7 +51,8 @@ public Boolean executeFunctionality() {
5051
try {
5152
config = fBase.configAccessHelper.keygroupConfig_get(identifier.getKeygroupID());
5253
fBase.connector.dataRecords_delete(identifier);
53-
} catch (FBaseStorageConnectorException | FBaseCommunicationException e) {
54+
} catch (FBaseStorageConnectorException | FBaseCommunicationException
55+
| FBaseNamingServiceException e) {
5456
logger.error(e.getMessage());
5557
return false;
5658
}
@@ -59,7 +61,7 @@ public Boolean executeFunctionality() {
5961
if (publish) {
6062
// get next messageID
6163
MessageID messageID = fBase.connector.messageHistory_getNextMessageID();
62-
64+
6365
// create envelope
6466
Message m = new Message();
6567
m.setMessageID(messageID);
@@ -68,8 +70,8 @@ public Boolean executeFunctionality() {
6870
Envelope e = new Envelope(identifier.getKeygroupID(), m);
6971

7072
fBase.publisher.send(e, config.getEncryptionSecret(),
71-
config.getEncryptionAlgorithm());
72-
73+
config.getEncryptionAlgorithm());
74+
7375
// store in messageHistory
7476
fBase.connector.messageHistory_put(messageID, identifier);
7577
}

src/main/java/tasks/ProcessMessageWithUnknownEncryptionTask.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import communication.SubscriptionRegistry;
66
import control.FBase;
77
import exceptions.FBaseEncryptionException;
8+
import exceptions.FBaseNamingServiceException;
89
import exceptions.FBaseCommunicationException;
910
import model.JSONable;
1011
import model.config.KeygroupConfig;
@@ -53,7 +54,7 @@ public Boolean executeFunctionality() {
5354
KeygroupConfig config;
5455
try {
5556
config = fBase.namingServiceSender.sendKeygroupConfigRead(envelope.getKeygroupID());
56-
} catch (FBaseCommunicationException e1) {
57+
} catch (FBaseCommunicationException | FBaseNamingServiceException e1) {
5758
// cannot connect to naming service
5859
logger.error("Cannot connect to naming service");
5960
return false;

src/main/java/tasks/PutDataRecordTask.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import control.FBase;
66
import exceptions.FBaseEncryptionException;
7+
import exceptions.FBaseNamingServiceException;
78
import exceptions.FBaseCommunicationException;
89
import exceptions.FBaseStorageConnectorException;
910
import model.JSONable;
@@ -49,7 +50,8 @@ public Boolean executeFunctionality() {
4950
try {
5051
config = fBase.configAccessHelper.keygroupConfig_get(record.getKeygroupID());
5152
fBase.connector.dataRecords_put(record);
52-
} catch (FBaseStorageConnectorException | FBaseCommunicationException e) {
53+
} catch (FBaseStorageConnectorException | FBaseCommunicationException
54+
| FBaseNamingServiceException e) {
5355
logger.error(e.getMessage());
5456
return false;
5557
}
@@ -68,7 +70,7 @@ public Boolean executeFunctionality() {
6870

6971
fBase.publisher.send(e, config.getEncryptionSecret(),
7072
config.getEncryptionAlgorithm());
71-
73+
7274
// store in messageHistory
7375
fBase.connector.messageHistory_put(messageID, record.getDataIdentifier());
7476
}

src/main/java/tasks/UpdateKeygroupSubscriptionsTask.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import communication.SubscriptionRegistry;
99
import control.FBase;
1010
import exceptions.FBaseCommunicationException;
11+
import exceptions.FBaseNamingServiceException;
1112
import exceptions.FBaseStorageConnectorException;
1213
import model.config.KeygroupConfig;
1314
import model.config.NodeConfig;
@@ -71,7 +72,7 @@ public Boolean executeFunctionality() {
7172
try {
7273
nodeConfig =
7374
fBase.configAccessHelper.nodeConfig_get(rnConfig.getNodeID());
74-
} catch (FBaseCommunicationException e) {
75+
} catch (FBaseCommunicationException | FBaseNamingServiceException e) {
7576
logger.error("No config locally, but could not connect to naming "
7677
+ "service, but a config might exist there");
7778
}

src/main/java/tasks/UpdateNodeConfigTask.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import control.FBase;
66
import exceptions.FBaseCommunicationException;
7+
import exceptions.FBaseNamingServiceException;
78
import exceptions.FBaseStorageConnectorException;
89
import model.config.NodeConfig;
910
import tasks.TaskManager.TaskName;
@@ -89,7 +90,7 @@ public Boolean executeFunctionality() {
8990
if (!fBase.namingServiceSender.sendNodeConfigCreate(this.config)) {
9091
fBase.namingServiceSender.sendNodeConfigUpdate(this.config);
9192
}
92-
} catch (FBaseCommunicationException e) {
93+
} catch (FBaseCommunicationException | FBaseNamingServiceException e) {
9394
logger.error("Could not send updated config to naming service", e);
9495
}
9596
}

src/main/java/tasks/background/CheckKeygroupConfigurationsOnUpdatesTask.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import control.FBase;
1212
import exceptions.FBaseException;
13+
import exceptions.FBaseNamingServiceException;
1314
import exceptions.FBaseCommunicationException;
1415
import exceptions.FBaseStorageConnectorException;
1516
import model.config.KeygroupConfig;
@@ -77,8 +78,9 @@ public Boolean executeFunctionality() {
7778
try {
7879
KeygroupConfig config = fBase.configAccessHelper.keygroupConfig_get(k);
7980
currentKeygroupConfigurations.put(config, config.getVersion());
80-
} catch (FBaseStorageConnectorException | FBaseCommunicationException e) {
81-
handleFBaseStorageConnectorException(e);
81+
} catch (FBaseStorageConnectorException | FBaseCommunicationException
82+
| FBaseNamingServiceException e) {
83+
handleFBaseException(e);
8284
}
8385
});
8486

@@ -94,7 +96,7 @@ public Boolean executeFunctionality() {
9496
savedKeygroupConfigurations.clear();
9597
savedKeygroupConfigurations.putAll(currentKeygroupConfigurations);
9698
} catch (FBaseStorageConnectorException e) {
97-
handleFBaseStorageConnectorException(e);
99+
handleFBaseException(e);
98100
}
99101

100102
try {
@@ -118,7 +120,7 @@ private boolean checkIfKeygroupConfigVersionDiffers(KeygroupConfig config, Integ
118120
return false;
119121
}
120122

121-
private void handleFBaseStorageConnectorException(FBaseException e) {
123+
private void handleFBaseException(FBaseException e) {
122124
// show must go on
123125
logger.error(e.getMessage());
124126
e.printStackTrace();

src/main/java/tasks/background/CheckNamingServiceConfigurationDataTask.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import control.FBase;
88
import exceptions.FBaseCommunicationException;
9+
import exceptions.FBaseNamingServiceException;
910
import exceptions.FBaseStorageConnectorException;
1011
import model.config.ClientConfig;
1112
import model.config.KeygroupConfig;
@@ -71,7 +72,7 @@ public Boolean executeFunctionality() {
7172
if (newConfig != null) {
7273
fBase.connector.clientConfig_put(id, newConfig);
7374
}
74-
} catch (FBaseCommunicationException e) {
75+
} catch (FBaseCommunicationException | FBaseNamingServiceException e) {
7576
logger.error(e.getMessage(), e);
7677
}
7778

@@ -86,7 +87,7 @@ public Boolean executeFunctionality() {
8687
if (newConfig != null) {
8788
fBase.taskmanager.runUpdateNodeConfigTask(newConfig, Flag.PUT, false);
8889
}
89-
} catch (FBaseCommunicationException e) {
90+
} catch (FBaseCommunicationException | FBaseNamingServiceException e) {
9091
logger.error(e.getMessage(), e);
9192
}
9293

@@ -101,7 +102,7 @@ public Boolean executeFunctionality() {
101102
if (newConfig != null) {
102103
fBase.taskmanager.runUpdateKeygroupConfigTask(newConfig, false);
103104
}
104-
} catch (FBaseCommunicationException e) {
105+
} catch (FBaseCommunicationException | FBaseNamingServiceException e) {
105106
logger.error(e.getMessage(), e);
106107
}
107108

0 commit comments

Comments
 (0)