diff options
author | econwar <conor.ward@est.tech> | 2019-02-14 09:37:44 +0000 |
---|---|---|
committer | econwar <conor.ward@est.tech> | 2019-02-14 09:37:44 +0000 |
commit | c50374709585766e887f349a139de0a6595c1ca1 (patch) | |
tree | fe428b922da00abfabaafffdc72596c582625906 /datarouter-prov/src/main/java | |
parent | 953dbd55595d28ecc7b65413b0edf910da6f45c0 (diff) |
Add optional API for PM Mapper
Added new field to Subscriber class to keep files after published
Added new Delete endpoint so that file can then be deleted
Change-Id: Id72da67689a7ceda8ddd4997cd6349b981cb1cdb
Issue-ID: DMAAP-981
Signed-off-by: econwar <conor.ward@est.tech>
Diffstat (limited to 'datarouter-prov/src/main/java')
-rw-r--r-- | datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/Subscription.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/Subscription.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/Subscription.java index e1b24c53..230df756 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/Subscription.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/Subscription.java @@ -68,6 +68,7 @@ public class Subscription extends Syncable { private boolean suspended;
private Date lastMod;
private Date createdDate;
+ private boolean privilegedSubscriber;
public static Subscription getSubscriptionMatching(Subscription sub) {
SubDelivery deli = sub.getDelivery();
@@ -200,6 +201,7 @@ public class Subscription extends Syncable { this.suspended = false;
this.lastMod = new Date();
this.createdDate = new Date();
+ this.privilegedSubscriber = false;
}
public Subscription(ResultSet rs) throws SQLException {
@@ -214,6 +216,7 @@ public class Subscription extends Syncable { this.suspended = rs.getBoolean("SUSPENDED");
this.lastMod = rs.getDate("LAST_MOD");
this.createdDate = rs.getDate("CREATED_DATE");
+ this.privilegedSubscriber = rs.getBoolean("PRIVILEGED_SUBSCRIBER");
}
public Subscription(JSONObject jo) throws InvalidObjectException {
@@ -249,7 +252,7 @@ public class Subscription extends Syncable { this.metadataOnly = jo.getBoolean("metadataOnly");
this.suspended = jo.optBoolean("suspend", false);
-
+ this.privilegedSubscriber = jo.optBoolean("privilegedSubscriber", false);
this.subscriber = jo.optString("subscriber", "");
JSONObject jol = jo.optJSONObject("links");
this.links = (jol == null) ? (new SubLinks()) : (new SubLinks(jol));
@@ -323,6 +326,14 @@ public class Subscription extends Syncable { this.suspended = suspended;
}
+ public boolean isPrivilegedSubscriber() {
+ return privilegedSubscriber;
+ }
+
+ public void setPrivilegedSubscriber(boolean privilegedSubscriber) {
+ this.privilegedSubscriber = privilegedSubscriber;
+ }
+
public String getSubscriber() {
return subscriber;
}
@@ -357,6 +368,7 @@ public class Subscription extends Syncable { jo.put("suspend", suspended);
jo.put(LAST_MOD_KEY, lastMod.getTime());
jo.put(CREATED_DATE, createdDate.getTime());
+ jo.put("privilegedSubscriber", privilegedSubscriber);
return jo;
}
@@ -394,7 +406,7 @@ public class Subscription extends Syncable { }
// Create the SUBSCRIPTIONS row
- String sql = "insert into SUBSCRIPTIONS (SUBID, FEEDID, DELIVERY_URL, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+ String sql = "insert into SUBSCRIPTIONS (SUBID, FEEDID, DELIVERY_URL, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID, PRIVILEGED_SUBSCRIBER) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
ps = c.prepareStatement(sql, new String[]{SUBID_COL});
ps.setInt(1, subid);
ps.setInt(2, feedid);
@@ -406,6 +418,7 @@ public class Subscription extends Syncable { ps.setString(8, getSubscriber());
ps.setBoolean(9, isSuspended());
ps.setInt(10, groupid); //New field is added - Groups feature Rally:US708115 - 1610
+ ps.setBoolean(11, isPrivilegedSubscriber());
ps.execute();
ps.close();
// Update the row to set the URLs
@@ -436,7 +449,7 @@ public class Subscription extends Syncable { boolean rv = true;
PreparedStatement ps = null;
try {
- String sql = "update SUBSCRIPTIONS set DELIVERY_URL = ?, DELIVERY_USER = ?, DELIVERY_PASSWORD = ?, DELIVERY_USE100 = ?, METADATA_ONLY = ?, SUSPENDED = ?, GROUPID = ? where SUBID = ?";
+ String sql = "update SUBSCRIPTIONS set DELIVERY_URL = ?, DELIVERY_USER = ?, DELIVERY_PASSWORD = ?, DELIVERY_USE100 = ?, METADATA_ONLY = ?, SUSPENDED = ?, GROUPID = ?, PRIVILEGED_SUBSCRIBER = ? where SUBID = ?";
ps = c.prepareStatement(sql);
ps.setString(1, delivery.getUrl());
ps.setString(2, delivery.getUser());
@@ -445,7 +458,8 @@ public class Subscription extends Syncable { ps.setInt(5, isMetadataOnly() ? 1 : 0);
ps.setInt(6, suspended ? 1 : 0);
ps.setInt(7, groupid); //New field is added - Groups feature Rally:US708115 - 1610
- ps.setInt(8, subid);
+ ps.setInt(8, privilegedSubscriber ? 1 : 0);
+ ps.setInt(9, subid);
ps.executeUpdate();
} catch (SQLException e) {
rv = false;
|