[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