Uploaded image for project: 'JBoss Enterprise SOA Platform'
  1. JBoss Enterprise SOA Platform
  2. SOA-2502

FileSystemConnector should perform validation on filenamefilter

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 5.1.0.ER3
    • Fix Version/s: 5.2.0 ER1
    • Component/s: EDS
    • Labels:
      None
    • Affects:
      Release Notes
    • Workaround Description:
      Hide

      The correct class name is specified.

      Show
      The correct class name is specified.
    • Release Notes Text:
      If an invalid filenamefilter was specified, a javax.jcr.PathNotFoundException was thrown, instead of a user-friendly exception explaining the configuration issue. A patch has been applied to Modeshape to rectify this issue.
    • Release Notes Docs Status:
      Documented as Resolved Issue

      Description

      This code does not work
      Session session = RepositoryReferenceFactory.getRepository("test-file").login();
      ValueFactory vf = session.getValueFactory();

      Node root = session.getRootNode();
      Node file = root.addNode("createfile.mode", "nt:file");
      Node content = file.addNode("jcr:content", "nt:resource");
      content.setProperty("jcr:data", vf.createBinary(new ByteArrayInputStream("Write 1".getBytes())));
      session.save();

      session.getNode("/createfile.mode");

      It throws an exception
      javax.jcr.PathNotFoundException: Unable to find "{}createfile.mode"; lowest existing path is "/"
      at org.modeshape.jcr.JcrSession.getNode(JcrSession.java:779)
      at org.modeshape.jcr.JcrSession.getNode(JcrSession.java:649)
      at org.modeshape.jcr.JcrSession.getNode(JcrSession.java:106)
      at org.jboss.soa.modeshape.qa.tests.BrokenFileConnectorTest.fileCreate(BrokenFileConnectorTest.java:31)

      Connector configuration
      <mode:source jcr:name="test-file"
      mode:classname="org.modeshape.connector.filesystem.FileSystemSource"
      mode:creatingWorkspaceAllowed="true"
      mode:retryLimit="3"
      mode:defaultWorkspaceName="default"
      mode:filenameFilter="*.mode"
      mode:updatesAllowed="true"
      >
      <xsl:attribute name="mode:workspaceRootPath">
      <xsl:value-of select="$repositorypath"/>
      </xsl:attribute>
      <mode:predefinedWorkspaceNames>file1</mode:predefinedWorkspaceNames>
      <mode:predefinedWorkspaceNames>file2</mode:predefinedWorkspaceNames>
      <mode:predefinedWorkspaceNames>custom-federated</mode:predefinedWorkspaceNames>
      </mode:source>

      The file is not physically created after the session.save(). Creating folders works reliably.
      This code was worked in ER2.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  van.halbert Van Halbert
                  Reporter:
                  jpechanec Jiri Pechanec
                  Writer:
                  David Le Sage
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: