Author: tolusha
Date: 2010-06-16 04:57:47 -0400 (Wed, 16 Jun 2010)
New Revision: 2627
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/XmlNodeTypeDataPersister.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/TesterSecurityManager.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/security/TestSecurityRepositoryManagment.java
Log:
EXOJCR-756: fix
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/XmlNodeTypeDataPersister.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/XmlNodeTypeDataPersister.java 2010-06-16
08:52:38 UTC (rev 2626)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/XmlNodeTypeDataPersister.java 2010-06-16
08:57:47 UTC (rev 2627)
@@ -30,6 +30,9 @@
import java.io.InputStream;
import java.io.OutputStream;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.List;
import javax.jcr.RepositoryException;
@@ -135,7 +138,35 @@
{
try
{
- IBindingFactory factory =
BindingDirectory.getFactory(NodeTypeValuesList.class);
+ IBindingFactory factory = null;
+ PrivilegedExceptionAction<IBindingFactory> action = new
PrivilegedExceptionAction<IBindingFactory>()
+ {
+ public IBindingFactory run() throws Exception
+ {
+ return BindingDirectory.getFactory(NodeTypeValuesList.class);
+ }
+ };
+ try
+ {
+ factory = AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof JiBXException)
+ {
+ throw (JiBXException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+
IUnmarshallingContext uctx = factory.createUnmarshallingContext();
NodeTypeValuesList nodeTypeValuesList =
(NodeTypeValuesList)uctx.unmarshalDocument(is, null);
List ntvList = nodeTypeValuesList.getNodeTypeValuesList();
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/TesterSecurityManager.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/TesterSecurityManager.java 2010-06-16
08:52:38 UTC (rev 2626)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/TesterSecurityManager.java 2010-06-16
08:57:47 UTC (rev 2627)
@@ -67,7 +67,8 @@
}
if (fileName.startsWith("Test") ||
fileName.endsWith("Test.java")
- || fileName.endsWith("TestBase.java") ||
fileName.equals("Probe.java"))
+ || fileName.endsWith("TestBase.java") ||
fileName.equals("Probe.java")
+ || fileName.equals("ExportBase.java"))
{
testCode = true;
}
Modified:
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/security/TestSecurityRepositoryManagment.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/security/TestSecurityRepositoryManagment.java 2010-06-16
08:52:38 UTC (rev 2626)
+++
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/security/TestSecurityRepositoryManagment.java 2010-06-16
08:57:47 UTC (rev 2627)
@@ -138,7 +138,7 @@
}
}
- public void testConfigWorkspaceSuccess()
+ public void testConfigWorkspaceSuccess() throws Exception
{
PrivilegedExceptionAction<Object> action = new
PrivilegedExceptionAction<Object>()
{
@@ -173,9 +173,13 @@
t.printStackTrace();
fail();
}
+
+ // remove configured workspace
+ repository.createWorkspace("testConfigWorkspaceSuccess");
+ repository.internalRemoveWorkspace("testConfigWorkspaceSuccess");
}
- public void testConfigWorkspaceFail()
+ public void testConfigWorkspaceFail() throws Exception
{
PrivilegedExceptionAction<Object> action = new
PrivilegedExceptionAction<Object>()
{
@@ -215,6 +219,7 @@
public void testCreateWorkspaceSuccess() throws Exception
{
+ // configures workspace for creation
WorkspaceEntry defConfig =
(WorkspaceEntry)session.getContainer().getComponentInstanceOfType(WorkspaceEntry.class);
@@ -250,6 +255,9 @@
t.printStackTrace();
fail();
}
+
+ // remove configured workspace
+ repository.internalRemoveWorkspace("testCreateWorkspaceSuccess");
}
public void testCreateWorkspaceFail()
@@ -281,6 +289,7 @@
public void testInternalRemoveWorkspaceSuccess() throws Exception
{
+ // configures and create workspace
WorkspaceEntry defConfig =
(WorkspaceEntry)session.getContainer().getComponentInstanceOfType(WorkspaceEntry.class);
@@ -453,4 +462,5 @@
fail();
}
}
+
}
Show replies by date