Add method to generate a client token.
[jSite2.git] / src / net / pterodactylus / jsite / core / RequestManager.java
index 23184b9..831c9b3 100644 (file)
@@ -43,6 +43,9 @@ public class RequestManager implements NodeListener {
        /** The logger. */
        private static final Logger logger = Logger.getLogger(RequestManager.class.getName());
 
+       /** Request event manager. */
+       private final RequestListenerManager requestListenerManager = new RequestListenerManager();
+
        /** The node manager. */
        private final NodeManager nodeManager;
 
@@ -60,6 +63,32 @@ public class RequestManager implements NodeListener {
        }
 
        //
+       // LISTENER MANAGEMENT
+       //
+
+       /**
+        * Adds the given request listener to the list of registered listeners.
+        *
+        * @see RequestListenerManager#addListener(RequestListener)
+        * @param requestListener
+        *            The request listener to add
+        */
+       public void addRequestListener(RequestListener requestListener) {
+               requestListenerManager.addListener(requestListener);
+       }
+
+       /**
+        * Removes the given request listener from the list of registered listeners.
+        *
+        * @see RequestListenerManager#removeListener(RequestListener)
+        * @param requestListener
+        *            The request listener to remove
+        */
+       public void removeRequestListener(RequestListener requestListener) {
+               requestListenerManager.removeListener(requestListener);
+       }
+
+       //
        // ACTIONS
        //
 
@@ -100,6 +129,19 @@ public class RequestManager implements NodeListener {
        }
 
        /**
+        * Generates a client token for the given project.
+        *
+        * @param project
+        *            The project to generate a client token for
+        * @return The generated client token
+        */
+       public String generateClientToken(Project project) {
+               String clientToken = project.getId() + "." + System.currentTimeMillis();
+               clientToken += "." + clientToken.hashCode();
+               return clientToken;
+       }
+
+       /**
         * Wraps the requests of the FCP API into jSite requests.
         *
         * @param requests