CORD Subscriber GUI - XosFunction mementos now stored inside each SubscriberUser to capture the parameter state per user.
Change-Id: I678249f63a68172db66a5d3faa0b1747c670bf6e
diff --git a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/SubscriberUser.java b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/SubscriberUser.java
index 151df57..88dd3d8 100644
--- a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/SubscriberUser.java
+++ b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/SubscriberUser.java
@@ -17,6 +17,9 @@
package org.onosproject.cord.gui.model;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* Designates a user of a subscriber's account.
*/
@@ -25,6 +28,9 @@
private final String name;
private final String mac;
+ private final Map<XosFunctionDescriptor, XosFunction.Memento> mementos =
+ new HashMap<XosFunctionDescriptor, XosFunction.Memento>();
+
/**
* Constructs a subscriber user from the given parameters.
*
@@ -64,4 +70,33 @@
public String mac() {
return mac;
}
+
+ /**
+ * Stores a memento for the given XOS function.
+ *
+ * @param f XOS function
+ * @param m memento
+ */
+ public void setMemento(XosFunctionDescriptor f, XosFunction.Memento m) {
+ if (m != null) {
+ mementos.put(f, m);
+ }
+ }
+
+ /**
+ * Returns the memento stored on this user, for the given XOS function.
+ *
+ * @param f XOS function
+ * @return memento
+ */
+ public XosFunction.Memento getMemento(XosFunctionDescriptor f) {
+ return mementos.get(f);
+ }
+
+ /**
+ * Clears the memento map.
+ */
+ public void clearMementos() {
+ mementos.clear();
+ }
}