[Yanel-commits] rev 49635 - public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi

michi at wyona.com michi at wyona.com
Sun May 16 22:24:20 CEST 2010


Author: michi
Date: 2010-05-16 22:24:20 +0200 (Sun, 16 May 2010)
New Revision: 49635

Modified:
   public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java
Log:
synchronization date implemented

Modified: public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java	2010-05-16 20:06:42 UTC (rev 49634)
+++ public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java	2010-05-16 20:24:20 UTC (rev 49635)
@@ -56,7 +56,26 @@
                 log.debug("Import user: " + getEnvironment().getRequest().getParameter("id"));
                 importUser(getEnvironment().getRequest().getParameter("id"));
             } else if (usecase.equals("synchronize-users")) {
-                synchronizeUsers();
+                if (getEnvironment().getRequest().getParameter("get-last-date") != null) {
+                    if (getRealm().getRepository().getRootNode().hasNode("synchronization.properties")) {
+                        sb.append("<last-successful-synchronization date=\"" + getRealm().getRepository().getNode("/synchronization.properties").getProperty("last-successful-synchronization").getDate() + "\"/>");
+                    } else {
+                        log.warn("Not synchronized yet!");
+                        sb.append("<last-successful-synchronization date=\"" + "NOT_SYNCHRONIZED_YET" + "\"/>");
+                    }
+                } else {
+                    // TODO: Lock ...
+                    synchronizeUsers();
+                    // TODO: Unlock ...
+
+                    org.wyona.yarep.core.Node node;
+                    if (!getRealm().getRepository().getRootNode().hasNode("synchronization.properties")) {
+                        node = getRealm().getRepository().getRootNode().addNode("synchronization.properties", org.wyona.yarep.core.NodeType.RESOURCE);
+                    } else {
+                        node = getRealm().getRepository().getRootNode().getNode("synchronization.properties");
+                    }
+                    node.setProperty("last-successful-synchronization", new java.util.Date());
+                }
             } else if (usecase.equals("getgroups")) {
                 sb.append(getGroupsAsXML());
             } else if (usecase.equals("add-members-to-group")) {



More information about the Yanel-commits mailing list