List of usage examples for org.apache.commons.io FilenameUtils EXTENSION_SEPARATOR_STR
String EXTENSION_SEPARATOR_STR
To view the source code for org.apache.commons.io FilenameUtils EXTENSION_SEPARATOR_STR.
Click Source Link
From source file:nl.mpi.lamus.workspace.exporting.implementation.AddedNodeExporterTest.java
private WorkspaceNode getCurrentNode(String fileExtension, WorkspaceNodeType type, String format) throws MalformedURLException, URISyntaxException { final int nodeWsID = 10; final String nodeName = "Node"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + fileExtension; final URL nodeWsURL = new URL("file:/workspace/" + testWorkspace.getWorkspaceID() + "/" + nodeFilename); final URI nodeOriginURI = URI.create("file:/localdirectory/" + nodeFilename); final WorkspaceNodeStatus nodeStatus = WorkspaceNodeStatus.UPLOADED; final URI nodeSchemaLocation = new URI("http://some.location"); final boolean nodeProtected = Boolean.FALSE; return new LamusWorkspaceNode(nodeWsID, testWorkspace.getWorkspaceID(), nodeSchemaLocation, nodeName, "", type, nodeWsURL, null, null, nodeOriginURI, nodeStatus, nodeProtected, format); }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportChangedMetadataNode() throws MalformedURLException, URISyntaxException, IOException, MetadataException, TransformerException, WorkspaceExportException { final int parentNodeWsID = 1; final String parentNodeName = "TopNode"; final String metadataExtension = "cmdi"; final String parentFilename = parentNodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final String parentNodeWsPath = "file:/workspace" + workspace.getWorkspaceID() + File.separator + parentFilename;//from ww w . j av a 2 s .c om final URL parentNodeWsURL = new URL(parentNodeWsPath); final File parentNodeWsFile = new File(URI.create(parentNodeWsPath)); final URI parentNodeArchiveURI = new URI(UUID.randomUUID().toString()); final String parentNodeArchiveLocalPath = "file:/archive/location/TopNode/Corpusstructure/" + parentFilename; final URL parentNodeArchiveLocalURL = new URL(parentNodeArchiveLocalPath); final File parentNodeArchiveLocalFile = new File(URI.create(parentNodeArchiveLocalPath)); final String parentCorpusNamePathToClosestTopNode = ""; // top node final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URL nodeWsURL = new URL( "file:/workspace/" + workspace.getWorkspaceID() + File.separator + nodeFilename); final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final String nodeArchivePath = "https:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final URL nodeArchiveURL = new URL(nodeArchivePath); final String nodeArchiveLocalPath = "file:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final File nodeArchiveLocalFile = new File(URI.create(nodeArchiveLocalPath)); final boolean isNodeProtected = Boolean.FALSE; final String currentCorpusNamePathToClosestTopNode = "TopNode"; final String nodePathRelativeToParent = nodeFilename; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; workspace.setTopNodeID(nodeWsID); workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); oneOf(mockCorpusStructureProvider).getNode(nodeArchiveURI); will(returnValue(mockCorpusNode)); oneOf(mockNodeResolver).getLocalFile(mockCorpusNode); will(returnValue(nodeArchiveLocalFile)); oneOf(mockNodeUtil).isNodeMetadata(mockChildWsNode); will(returnValue(Boolean.TRUE)); oneOf(mockExporterHelper).getNamePathToUseForThisExporter(mockChildWsNode, mockParentWsNode, parentCorpusNamePathToClosestTopNode, Boolean.TRUE, generalNodeExporter.getClass()); will(returnValue(currentCorpusNamePathToClosestTopNode)); oneOf(mockWorkspaceTreeExporter).explore(workspace, mockChildWsNode, currentCorpusNamePathToClosestTopNode, keepUnlinkedFiles, submissionType, exportPhase); oneOf(mockChildWsNode).getWorkspaceURL(); will(returnValue(nodeWsURL)); oneOf(mockMetadataAPI).getMetadataDocument(nodeWsURL); will(returnValue(mockChildCmdiDocument)); oneOf(mockWorkspaceFileHandler).getStreamResultForNodeFile(nodeArchiveLocalFile); will(returnValue(mockStreamResult)); oneOf(mockMetadataAPI).writeMetadataDocument(mockChildCmdiDocument, mockStreamResult); } }); checkParentReferenceUpdateInvocations(nodeArchiveURI, parentNodeArchiveURI, parentNodeWsURL, parentNodeWsFile, parentNodeArchiveLocalURL, parentNodeArchiveLocalFile, nodeArchiveLocalFile, nodePathRelativeToParent, null); generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportUnknownMetadataNode() throws MalformedURLException, URISyntaxException, WorkspaceExportException { final int parentNodeWsID = 1; final String metadataExtension = "cmdi"; final String parentCorpusNamePathToClosestTopNode = ""; // top node final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final String nodeArchivePath = "https:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final URL nodeArchiveURL = new URL(nodeArchivePath); final boolean isNodeProtected = Boolean.FALSE; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; workspace.setTopNodeID(nodeWsID);// w w w. jav a2s.com workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); final String expectedErrorMessage = "Node not found in archive database for URI " + nodeArchiveURI; checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); oneOf(mockCorpusStructureProvider).getNode(nodeArchiveURI); will(returnValue(null)); //logger oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); } }); try { generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); fail("should have thrown exception"); } catch (WorkspaceExportException ex) { assertEquals("Message different from expected", expectedErrorMessage, ex.getMessage()); assertEquals("Workspace ID different from expected", workspace.getWorkspaceID(), ex.getWorkspaceID()); assertEquals("Cause different from expected", null, ex.getCause()); } }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void export_ProblemsRetrievingCorpusNamePath() throws MalformedURLException, URISyntaxException { final int parentNodeWsID = 1; final String metadataExtension = "cmdi"; final String parentCorpusNamePathToClosestTopNode = ""; // top node final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final String nodeArchivePath = "https:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final URL nodeArchiveURL = new URL(nodeArchivePath); final String nodeArchiveLocalPath = "file:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final File nodeArchiveLocalFile = new File(URI.create(nodeArchiveLocalPath)); final boolean isNodeProtected = Boolean.FALSE; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; final String expectedExceptionMessage = "Problems retrieving the corpus name path for node " + nodeArchiveURI;/*from w w w . jav a 2s .co m*/ workspace.setTopNodeID(nodeWsID); workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); allowing(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); oneOf(mockCorpusStructureProvider).getNode(nodeArchiveURI); will(returnValue(mockCorpusNode)); oneOf(mockNodeResolver).getLocalFile(mockCorpusNode); will(returnValue(nodeArchiveLocalFile)); oneOf(mockNodeUtil).isNodeMetadata(mockChildWsNode); will(returnValue(Boolean.TRUE)); oneOf(mockExporterHelper).getNamePathToUseForThisExporter(mockChildWsNode, mockParentWsNode, parentCorpusNamePathToClosestTopNode, Boolean.TRUE, generalNodeExporter.getClass()); will(returnValue(null)); } }); try { generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); fail("should have thrown exception"); } catch (WorkspaceExportException ex) { assertEquals("Exception message different from expected", expectedExceptionMessage, ex.getMessage()); assertEquals("Workspace ID different from expected", workspace.getWorkspaceID(), ex.getWorkspaceID()); assertNull("Cause should be null", ex.getCause()); } }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportProtectedNode() throws MalformedURLException, URISyntaxException, WorkspaceExportException { final int parentNodeWsID = 1; final String parentNodeName = "TopNode"; final String metadataExtension = "cmdi"; final String parentCorpusNamePathToClosestTopNode = ""; // top node final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final String nodeArchivePath = "https:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final URL nodeArchiveURL = new URL(nodeArchivePath); final boolean isNodeProtected = Boolean.TRUE; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; workspace.setTopNodeID(nodeWsID);//from w w w. j a v a 2s .c om workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); //logger oneOf(mockChildWsNode).getWorkspaceNodeID(); will(returnValue(nodeWsID)); } }); generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportNullWorkspace() throws MalformedURLException, URISyntaxException, WorkspaceExportException { final String metadataExtension = "cmdi"; final String parentCorpusNamePathToClosestTopNode = ""; // top node final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final URL nodeArchiveURL = new URL("http:/archive/location/TopNode/Corpusstructure/" + nodeFilename); final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; workspace.setTopNodeID(nodeWsID);/*from w ww. j av a2 s. c om*/ workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); try { generalNodeExporter.exportNode(null, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); fail("should have thrown exception"); } catch (IllegalArgumentException ex) { String errorMessage = "Workspace not set"; assertEquals("Message different from expected", errorMessage, ex.getMessage()); assertNull("Cause should be null", ex.getCause()); } }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportChangedMetadataNodeIOException() throws MalformedURLException, URISyntaxException, IOException, MetadataException, TransformerException, WorkspaceExportException { final String metadataExtension = "cmdi"; final int parentNodeWsID = 1; final String parentCorpusNamePathToClosestTopNode = ""; // top node final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URL nodeWsURL = new URL( "file:/workspace/" + workspace.getWorkspaceID() + File.separator + nodeFilename); final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final URL nodeArchiveURL = new URL("http:/archive/location/TopNode/Corpusstructure/" + nodeFilename); final String nodeArchiveLocalPath = "file:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final File nodeArchiveLocalFile = new File(URI.create(nodeArchiveLocalPath)); final boolean isNodeProtected = Boolean.FALSE; final String currentCorpusNamePathToClosestTopNode = "TopNode"; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; workspace.setTopNodeID(nodeWsID);/*from w w w .ja v a 2 s. c o m*/ workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); final String expectedErrorMessage = "Error getting Metadata Document for node " + nodeArchiveURI; final IOException expectedException = new IOException("some exception message"); checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); oneOf(mockCorpusStructureProvider).getNode(nodeArchiveURI); will(returnValue(mockCorpusNode)); oneOf(mockNodeResolver).getLocalFile(mockCorpusNode); will(returnValue(nodeArchiveLocalFile)); oneOf(mockNodeUtil).isNodeMetadata(mockChildWsNode); will(returnValue(Boolean.TRUE)); oneOf(mockExporterHelper).getNamePathToUseForThisExporter(mockChildWsNode, mockParentWsNode, parentCorpusNamePathToClosestTopNode, Boolean.TRUE, generalNodeExporter.getClass()); will(returnValue(currentCorpusNamePathToClosestTopNode)); oneOf(mockWorkspaceTreeExporter).explore(workspace, mockChildWsNode, currentCorpusNamePathToClosestTopNode, keepUnlinkedFiles, submissionType, exportPhase); oneOf(mockChildWsNode).getWorkspaceURL(); will(returnValue(nodeWsURL)); oneOf(mockMetadataAPI).getMetadataDocument(nodeWsURL); will(throwException(expectedException)); //logger oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); } }); try { generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); fail("should have thrown exception"); } catch (WorkspaceExportException ex) { assertEquals("Message different from expected", expectedErrorMessage, ex.getMessage()); assertEquals("Workspace ID different from expected", workspace.getWorkspaceID(), ex.getWorkspaceID()); assertEquals("Cause different from expected", expectedException, ex.getCause()); } }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportChangedMetadataNodeMetadataException() throws MalformedURLException, URISyntaxException, IOException, MetadataException, TransformerException, WorkspaceExportException { final String metadataExtension = "cmdi"; final int parentNodeWsID = 1; final String parentCorpusNamePathToClosestTopNode = ""; // top node final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URL nodeWsURL = new URL( "file:/workspace/" + workspace.getWorkspaceID() + File.separator + nodeFilename); final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final URL nodeArchiveURL = new URL("http:/archive/location/TopNode/Corpusstructure/" + nodeFilename); final String nodeArchiveLocalPath = "file:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final File nodeArchiveLocalFile = new File(URI.create(nodeArchiveLocalPath)); final boolean isNodeProtected = Boolean.FALSE; final String currentCorpusNamePathToClosestTopNode = "TopNode"; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; workspace.setTopNodeID(nodeWsID);/* w ww .j a v a2 s. c om*/ workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); final String expectedErrorMessage = "Error getting Metadata Document for node " + nodeArchiveURI; final MetadataException expectedException = new MetadataException("some exception message"); checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); oneOf(mockCorpusStructureProvider).getNode(nodeArchiveURI); will(returnValue(mockCorpusNode)); oneOf(mockNodeResolver).getLocalFile(mockCorpusNode); will(returnValue(nodeArchiveLocalFile)); oneOf(mockNodeUtil).isNodeMetadata(mockChildWsNode); will(returnValue(Boolean.TRUE)); oneOf(mockExporterHelper).getNamePathToUseForThisExporter(mockChildWsNode, mockParentWsNode, parentCorpusNamePathToClosestTopNode, Boolean.TRUE, generalNodeExporter.getClass()); will(returnValue(currentCorpusNamePathToClosestTopNode)); oneOf(mockWorkspaceTreeExporter).explore(workspace, mockChildWsNode, currentCorpusNamePathToClosestTopNode, keepUnlinkedFiles, submissionType, exportPhase); oneOf(mockChildWsNode).getWorkspaceURL(); will(returnValue(nodeWsURL)); oneOf(mockMetadataAPI).getMetadataDocument(nodeWsURL); will(throwException(expectedException)); //logger oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); } }); try { generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); fail("should have thrown exception"); } catch (WorkspaceExportException ex) { assertEquals("Message different from expected", expectedErrorMessage, ex.getMessage()); assertEquals("Workspace ID different from expected", workspace.getWorkspaceID(), ex.getWorkspaceID()); assertEquals("Cause different from expected", expectedException, ex.getCause()); } }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportChangedMetadataNodeTransformerException() throws MalformedURLException, URISyntaxException, IOException, MetadataException, TransformerException, WorkspaceExportException { final String metadataExtension = "cmdi"; final int parentNodeWsID = 1; final String parentCorpusNamePathToClosestTopNode = ""; final int nodeWsID = 10; final String nodeName = "SomeNode"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URL nodeWsURL = new URL( "file:/workspace/" + workspace.getWorkspaceID() + File.separator + nodeFilename); final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final URL nodeArchiveURL = new URL("http:/archive/location/TopNode/Corpusstructure/" + nodeFilename); final String nodeArchiveLocalPath = "file:/archive/location/TopNode/Corpusstructure/" + nodeFilename; final File nodeArchiveLocalFile = new File(URI.create(nodeArchiveLocalPath)); final boolean isNodeProtected = Boolean.FALSE; final String currentCorpusNamePathToClosestTopNode = "TopNode"; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; workspace.setTopNodeID(nodeWsID);/*from w w w .java2s .c om*/ workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); final String expectedErrorMessage = "Error writing file for node " + nodeArchiveURI; final TransformerException expectedException = new TransformerException("some exception message"); checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); oneOf(mockCorpusStructureProvider).getNode(nodeArchiveURI); will(returnValue(mockCorpusNode)); oneOf(mockNodeResolver).getLocalFile(mockCorpusNode); will(returnValue(nodeArchiveLocalFile)); oneOf(mockNodeUtil).isNodeMetadata(mockChildWsNode); will(returnValue(Boolean.TRUE)); oneOf(mockExporterHelper).getNamePathToUseForThisExporter(mockChildWsNode, mockParentWsNode, parentCorpusNamePathToClosestTopNode, Boolean.TRUE, generalNodeExporter.getClass()); will(returnValue(currentCorpusNamePathToClosestTopNode)); oneOf(mockWorkspaceTreeExporter).explore(workspace, mockChildWsNode, currentCorpusNamePathToClosestTopNode, keepUnlinkedFiles, submissionType, exportPhase); oneOf(mockChildWsNode).getWorkspaceURL(); will(returnValue(nodeWsURL)); oneOf(mockMetadataAPI).getMetadataDocument(nodeWsURL); will(returnValue(mockChildCmdiDocument)); oneOf(mockWorkspaceFileHandler).getStreamResultForNodeFile(nodeArchiveLocalFile); will(returnValue(mockStreamResult)); oneOf(mockMetadataAPI).writeMetadataDocument(mockChildCmdiDocument, mockStreamResult); will(throwException(expectedException)); //logger oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); } }); try { generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); fail("should have thrown exception"); } catch (WorkspaceExportException ex) { assertEquals("Message different from expected", expectedErrorMessage, ex.getMessage()); assertEquals("Workspace ID different from expected", workspace.getWorkspaceID(), ex.getWorkspaceID()); assertEquals("Cause different from expected", expectedException, ex.getCause()); } }
From source file:nl.mpi.lamus.workspace.exporting.implementation.GeneralNodeExporterTest.java
@Test public void exportResourceNode() throws MalformedURLException, URISyntaxException, WorkspaceExportException, IOException, MetadataException, TransformerException { final int parentNodeWsID = 1; final String parentNodeName = "ParentNode"; final String metadataExtension = "cmdi"; final String parentFilename = parentNodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + metadataExtension; final URL parentNodeWsURL = new URL( "file:/workspace" + workspace.getWorkspaceID() + File.separator + parentFilename); final URI parentNodeArchiveURI = new URI(UUID.randomUUID().toString()); final File parentNodeWsFile = new File(parentNodeWsURL.getPath()); final String parentNodeArchiveLocalPath = "file:/archive/location/TopNode/SomeNode/Metadata/" + parentFilename;/*from w ww . jav a2 s . c o m*/ final URL parentNodeArchiveLocalUrl = new URL(parentNodeArchiveLocalPath); final File parentNodeArchiveLocalFile = new File(URI.create(parentNodeArchiveLocalPath)); final String parentCorpusNamePathToClosestTopNode = "TopNode/SomeNode"; final int nodeWsID = 10; final String nodeName = "SomeResource"; final String pdfExtension = "pdf"; final String nodeFilename = nodeName + FilenameUtils.EXTENSION_SEPARATOR_STR + pdfExtension; final URI nodeArchiveURI = new URI(UUID.randomUUID().toString()); final URL nodeArchiveURL = new URL("http:/archive/location/TopNode/SomeNode/Annotations/" + nodeFilename); final String nodeArchiveLocalPath = "file:/archive/location/TopNode/SomeNode/Annotations/" + nodeFilename; final File nodeArchiveLocalFile = new File(URI.create(nodeArchiveLocalPath)); final boolean isNodeProtected = Boolean.FALSE; final boolean keepUnlinkedFiles = Boolean.FALSE; //not used in this exporter final WorkspaceSubmissionType submissionType = WorkspaceSubmissionType.SUBMIT_WORKSPACE; final WorkspaceExportPhase exportPhase = WorkspaceExportPhase.TREE_EXPORT; final String nodePathRelativeToParent = "../Annotations/" + nodeFilename; workspace.setTopNodeID(nodeWsID); workspace.setTopNodeArchiveURI(nodeArchiveURI); workspace.setTopNodeArchiveURL(nodeArchiveURL); checkLoggerInvocations(parentNodeWsID, nodeWsID); context.checking(new Expectations() { { oneOf(mockChildWsNode).isProtected(); will(returnValue(isNodeProtected)); oneOf(mockChildWsNode).getArchiveURI(); will(returnValue(nodeArchiveURI)); oneOf(mockCorpusStructureProvider).getNode(nodeArchiveURI); will(returnValue(mockCorpusNode)); oneOf(mockNodeResolver).getLocalFile(mockCorpusNode); will(returnValue(nodeArchiveLocalFile)); oneOf(mockNodeUtil).isNodeMetadata(mockChildWsNode); will(returnValue(Boolean.FALSE)); } }); checkParentReferenceUpdateInvocations(nodeArchiveURI, parentNodeArchiveURI, parentNodeWsURL, parentNodeWsFile, parentNodeArchiveLocalUrl, parentNodeArchiveLocalFile, nodeArchiveLocalFile, nodePathRelativeToParent, null); generalNodeExporter.exportNode(workspace, mockParentWsNode, parentCorpusNamePathToClosestTopNode, mockChildWsNode, keepUnlinkedFiles, submissionType, exportPhase); }