Code Review
/
nonrtric.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Introduce rAPP Catalogue API
[nonrtric.git]
/
enrichment-coordinator-service
/
src
/
main
/
java
/
org
/
oransc
/
enrichment
/
repository
/
EiTypes.java
diff --git
a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiTypes.java
b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiTypes.java
index
7668ff1
..
9b7b640
100644
(file)
--- a/
enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiTypes.java
+++ b/
enrichment-coordinator-service/src/main/java/org/oransc/enrichment/repository/EiTypes.java
@@
-20,21
+20,26
@@
package org.oransc.enrichment.repository;
package org.oransc.enrichment.repository;
+import java.lang.invoke.MethodHandles;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
import org.oransc.enrichment.exceptions.ServiceException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
import org.oransc.enrichment.exceptions.ServiceException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Dynamic representation of all EI Types in the system.
*/
/**
* Dynamic representation of all EI Types in the system.
*/
+@SuppressWarnings("squid:S2629") // Invoke method(s) only conditionally
public class EiTypes {
public class EiTypes {
- Map<String, EiType> allEiTypes = new HashMap<>();
+ private final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+ private final Map<String, EiType> allEiTypes = new HashMap<>();
public synchronized void put(EiType type) {
public synchronized void put(EiType type) {
- allEiTypes.put(type.
i
d(), type);
+ allEiTypes.put(type.
getI
d(), type);
}
public synchronized Collection<EiType> getAllEiTypes() {
}
public synchronized Collection<EiType> getAllEiTypes() {
@@
-44,7
+49,7
@@
public class EiTypes {
public synchronized EiType getType(String id) throws ServiceException {
EiType type = allEiTypes.get(id);
if (type == null) {
public synchronized EiType getType(String id) throws ServiceException {
EiType type = allEiTypes.get(id);
if (type == null) {
- throw new ServiceException("Could not find EI
Job
: " + id);
+ throw new ServiceException("Could not find EI
type
: " + id);
}
return type;
}
}
return type;
}
@@
-57,6
+62,10
@@
public class EiTypes {
allEiTypes.remove(id);
}
allEiTypes.remove(id);
}
+ public synchronized void remove(EiType type) {
+ this.remove(type.getId());
+ }
+
public synchronized int size() {
return allEiTypes.size();
}
public synchronized int size() {
return allEiTypes.size();
}
@@
-65,4
+74,12
@@
public class EiTypes {
this.allEiTypes.clear();
}
this.allEiTypes.clear();
}
+ public void deregisterType(EiType type, EiJobs eiJobs) {
+ this.remove(type);
+ for (EiJob job : eiJobs.getJobsForType(type.getId())) {
+ eiJobs.remove(job);
+ this.logger.warn("Deleted job {} because no producers left", job.id());
+ }
+ }
+
}
}