X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2Fbeans%2FSubscription.java;h=230df756bda5790397a8cde5a615b4d1c300d3d5;hb=c50374709585766e887f349a139de0a6595c1ca1;hp=e1b24c53b39933389e869af8da9da1d5a81aa8f0;hpb=ee6fa61e2cd7df99891092709765235b6166a041;p=dmaap%2Fdatarouter.git 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;