[exo-jcr-commits] exo-jcr SVN: r4244 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr: impl and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Apr 18 07:50:55 EDT 2011


Author: tolusha
Date: 2011-04-18 07:50:55 -0400 (Mon, 18 Apr 2011)
New Revision: 4244

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositorySuspendController.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java
Log:
EXOJCR-1292: Allow to know the current repository status

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java	2011-04-18 11:19:31 UTC (rev 4243)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java	2011-04-18 11:50:55 UTC (rev 4244)
@@ -179,4 +179,11 @@
     */
    int getState();
 
+   /**
+    * Returns the string representation of current repository state.
+    * 
+    * @return repository state
+    */
+   String getStateTitle();
+
 }

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java	2011-04-18 11:19:31 UTC (rev 4243)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java	2011-04-18 11:50:55 UTC (rev 4244)
@@ -180,7 +180,7 @@
          case ManageableRepository.OFFLINE :
             break;
          case ManageableRepository.READONLY :
-            setReadOnly();
+            setReadOnly(true);
             break;
          case ManageableRepository.SUSPENDED :
             suspend();
@@ -193,12 +193,12 @@
    /**
     * Set all components readonly.
     */
-   private void setReadOnly()
+   private void setReadOnly(boolean readOnly)
    {
       List<ReadOnlySupport> components = getComponentInstancesOfType(ReadOnlySupport.class);
       for (ReadOnlySupport component : components)
       {
-         component.setReadOnly(true);
+         component.setReadOnly(readOnly);
       }
    }
 
@@ -224,29 +224,20 @@
    }
 
    /**
-    * Set all components online.
+    * Suspend all components in workspace.
     * 
     * @throws RepositoryException
     */
-   private void setOnline() throws RepositoryException
+   private void resume() throws RepositoryException
    {
-      List<ReadOnlySupport> readOnlyComponents = getComponentInstancesOfType(ReadOnlySupport.class);
-      for (ReadOnlySupport component : readOnlyComponents)
-      {
-         component.setReadOnly(false);
-      }
+      List<Suspendable> components = getComponentInstancesOfType(Suspendable.class);
+      Collections.reverse(components);
 
-      List<Suspendable> suspendableComponents = getComponentInstancesOfType(Suspendable.class);
-      Collections.reverse(suspendableComponents);
-
-      for (Suspendable component : suspendableComponents)
+      for (Suspendable component : components)
       {
          try
          {
-            if (component.isSuspended())
-            {
-               component.resume();
-            }
+            component.resume();
          }
          catch (ResumeException e)
          {
@@ -255,4 +246,14 @@
       }
    }
 
+   /**
+    * Set all components online.
+    * 
+    * @throws RepositoryException
+    */
+   private void setOnline() throws RepositoryException
+   {
+      setReadOnly(false);
+      resume();
+   }
 }

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositorySuspendController.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositorySuspendController.java	2011-04-18 11:19:31 UTC (rev 4243)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositorySuspendController.java	2011-04-18 11:50:55 UTC (rev 4244)
@@ -121,7 +121,7 @@
    @ManagedDescription("Returns repository state.")
    public String getState()
    {
-      return repository.toString();
+      return repository.getStateTitle();
    }
 
    /**

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java	2011-04-18 11:19:31 UTC (rev 4243)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java	2011-04-18 11:50:55 UTC (rev 4244)
@@ -692,32 +692,32 @@
    /**
     * {@inheritDoc}
     */
-   @Override
-   public String toString()
+   public String getStateTitle()
    {
-      String stateTitle;
       switch (getState())
       {
          case ONLINE :
-            stateTitle = "online";
-            break;
+            return "online";
          case OFFLINE :
-            stateTitle = "offline";
-            break;
+            return "offline";
          case READONLY :
-            stateTitle = "readonly";
-            break;
+            return "readonly";
          case SUSPENDED :
-            stateTitle = "suspended";
-            break;
+            return "suspended";
          default :
-            stateTitle = "undefined";
-            break;
+            return "undefined";
       }
+   }
 
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public String toString()
+   {
       String defaultWorkspaceName = config.getDefaultWorkspaceName();
       return String.format(
          "Repository {\n name: %s;\n system workspace: %s;\n default workspace: %s;\n workspaces: %s;\n state: %s \n}",
-         name, systemWorkspaceName, defaultWorkspaceName, Arrays.toString(getWorkspaceNames()), stateTitle);
+         name, systemWorkspaceName, defaultWorkspaceName, Arrays.toString(getWorkspaceNames()), getStateTitle());
    }
 }



More information about the exo-jcr-commits mailing list