ModeShape

Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
MODE-1244: Fix for NPE while server is being restarted

MODE-1254 Okay to call toString on ModeShape's Node and Property objects with Binary values

Large Binary values would cause an out-of-memory exception when 'toString()' is called.

This change corrects that behavior to place "**binary-value**" in the toString() result

any place where a Binary value is encountered.

A new unit test was added to verify the behavior, and all unit and integration tests pass.

MODE-1254 Okay to call toString on ModeShape's Node and Property objects with Binary values

Large Binary values would cause an out-of-memory exception when 'toString()' is called.

This change corrects that behavior to place "**binary-value**" in the toString() result

any place where a Binary value is encountered.

A new unit test was added to verify the behavior, and all unit and integration tests pass.

MODE-1257 Corrected class cast exception

The JoinRequestProcessor.process(RemovePropertyRequest) was incorrectly casting the forked request

to SetPropertyRequest. This was a copy-and-paste error, and fixing it appears to fix the issue.

(Additional tests being added under MODE-1256.)

All unit and integration tests pass with these changes.

MODE-1257 Corrected class cast exception

The JoinRequestProcessor.process(RemovePropertyRequest) was incorrectly casting the forked request

to SetPropertyRequest. This was a copy-and-paste error, and fixing it appears to fix the issue.

(Additional tests being added under MODE-1256.)

All unit and integration tests pass with these changes.

MODE-1255 Corrected 'restore' logic

The logic for restoring nodes was not correctly getting the 'jcr:primaryType' value when checking

if the node in version history had a primary type of 'nt:frozenNode': it was comparing the

'nt:frozenNode' Name constant to the Property object (rather than the first value of the Property).

Thus, the if-check never succeeded, and the node is restored with a primary type of 'nt:frozenNode'.

After the simple fix, all unit and integration tests pass.

MODE-1255 Corrected 'restore' logic

The logic for restoring nodes was not correctly getting the 'jcr:primaryType' value when checking

if the node in version history had a primary type of 'nt:frozenNode': it was comparing the

'nt:frozenNode' Name constant to the Property object (rather than the first value of the Property).

Thus, the if-check never succeeded, and the node is restored with a primary type of 'nt:frozenNode'.

After the simple fix, all unit and integration tests pass.

Ignored .log files (the correct way)

Ignored .log files (the correct way)

Ignored .log files

Ignored .log files

MODE-1243 Improved JndiRepositoryFactory logic and logging

The JndiRepositoryFactory now uses the "type" value (as specified in the 'conf/context.xml' for Tomcat) as the major impetus for registering the ModeShape JcrEngine instance or a javax.jcr.Repository instance. If an engine is to be registered, then the existence of a 'repositoryName' is logged as a warning. If a repository is to be registered, then the 'repositoryName' value is expected and must match an existing repository; all other cases are logged as an error.

MODE-1243 Improved JndiRepositoryFactory logic and logging

The JndiRepositoryFactory now uses the "type" value (as specified in the 'conf/context.xml' for Tomcat) as the major impetus for registering the ModeShape JcrEngine instance or a javax.jcr.Repository instance. If an engine is to be registered, then the existence of a 'repositoryName' is logged as a warning. If a repository is to be registered, then the 'repositoryName' value is expected and must match an existing repository; all other cases are logged as an error.

MODE-1251 Downgrade Hibernate to 3.3.2

Downgraded our use of Hibernate (only on the 2.5.x branch) to 3.3.2.GA and made one change to the POM

and to the HibernateAdapter class, which was using an API introduced in Hibernate in 3.5.

All unit and integration tests pass with these changes.

Downgraded Hibernate version to 3.4.0.GA so that it doesn't depend on JPA 2

MODE-1201 Reverted the addition of FileInputStreamBinary

Reverted the change to add a FileInputStreamBinary class. This change caused problems when the

BINARY value is read more than once and when stored in the In-Memory, Infinispan, JBoss Cache

and similar connectors (since they attempt to store the read-only-once value, preventing

reading the value back out). See MODE-1241 for details.

This reverts commit 51403d529df39d5d9d1c83f4e4d68190bbb708c4 and also deletes the

LargeFileTest.java test (perhaps added after 51403d?)

MODE-1201 Reverted the addition of FileInputStreamBinary

Reverted the change to add a FileInputStreamBinary class. This change caused problems when the

BINARY value is read more than once and when stored in the In-Memory, Infinispan, JBoss Cache

and similar connectors (since they attempt to store the read-only-once value, preventing

reading the value back out). See MODE-1241 for details.

This reverts commit 51403d529df39d5d9d1c83f4e4d68190bbb708c4 and also deletes the

LargeFileTest.java test (perhaps added after 51403d?)

MODE-1249 the maxPathLength property was being picked up from the configuration file

    • -0
    • +83
    /modeshape-integration-tests/src/test/resources/config/configRepositoryForFileSystemPropValidation.xml
MODE-1249 the maxPathLength property was being picked up from the configuration file

    • -0
    • +83
    /modeshape-integration-tests/src/test/resources/config/configRepositoryForFileSystemPropValidation.xml
MODE-1250 Upgrade Apache POI to 3.7

The MS Office sequencer is using a different value of Apache POI than is being inherited from the Tika library used in the Tika Text Extractor module. This change upgrade the sequencer to also use 3.7, adds several unit and integration tests, and also makes a number of fixes to the way the sequencer works.

All unit and integration tests pass with these changes.

  1. … 5 more files in changeset.
MODE-1250 Upgrade Apache POI to 3.7

The MS Office sequencer is using a different value of Apache POI than is being inherited from the Tika library used in the Tika Text Extractor module. This change upgrade the sequencer to also use 3.7, adds several unit and integration tests, and also makes a number of fixes to the way the sequencer works.

All unit and integration tests pass with these changes.

  1. … 5 more files in changeset.
MODE-1248 Corrected properties passed to authorization providers

The JcrEngine was passing the wrong properties to the AuthoriziationProvider configuration.

A simple change fixes the issue.

All unit and integration tests pass with these changes.

MODE-1248 Corrected properties passed to authorization providers

The JcrEngine was passing the wrong properties to the AuthoriziationProvider configuration.

A simple change fixes the issue.

All unit and integration tests pass with these changes.

MODE-1245 because of the performance of the jpa source (i.e., mysql, oracle, etc.), it could cause a timing issue with loading the cache and finding the node. Therefore, by moving the find to the end of the method and, on the rare case the find isn't found on the first lookup, a loop of maximum 5 tries will be peformed in order to allow the cache time to fill.

MODE-1245 because of the performance of the jpa source (i.e., mysql, oracle, etc.), it could cause a timing issue with loading the cache and finding the node. Therefore, by moving the find to the end of the method and, on the rare case the find isn't found on the first lookup, a loop of maximum 5 tries will be peformed in order to allow the cache time to fill.

MODE-1247 Corrected PropertyType of Binary value

The code was using the wrong PropertyType when setting the Property value to a Binary object.

MODE-1247 Corrected PropertyType of Binary value

The code was using the wrong PropertyType when setting the Property value to a Binary object.

MODE-1289 New approach for storing/caching JCR content

This is the first commit to start the 3.0 effort, which involves a major change to how

the JCR layer stores and caches information. The new approach is based upon Infinispan and uses

Infinispan's cache loaders for persistence, and JSON-like documents (that are in-memory

structures not needing to parsed/written) are used to store information for each node.

There are several new Maven modules:

- modeshape-jcr-redux

- modeshape-schematic

The 'modeshape-jcr-redux' module will eventually replace the 'modeshape-jcr' module once

the implementation is far-enough along. And the 'modeshape-schematic' module will likely

move into the Infinispan project, so that needs to remain separate.

Although it may seem strange and unkempt to have the new JCR implementation in a new module,

doing so means that we can continue to rebase from 'master' (and the 2.7 work) for at least

some time. When the new module becomes complete enough, we'll move it and replace the

existing 'modeshape-jcr' module. It's also convenient to have both the old and new implementations

around in the same codebase.

The build was changed to focus upon the (few) modules that are oriented around the new

implementation. So the following can be used to build the newer codebase:

mvn clean install

However, the build has a new Maven profile called "legacy" that can be used to build the

old modules. We kept this to make sure that any rebasing can be compiled and verified.

For example, to build everyhing, including the new modules and the 2.x-style modules,

use the following command:

mvn clean install -Plegacy

As the newer 'modeshape-jcr-redux' progresses and other modules (e.g., sequencers, web,

jboss, text extractors) are converted to use the new module, they should be moved

from the 'legacy' profile into the main set of modules in the top-level 'pom.xml'

  1. … 433 more files in changeset.
MODE-1246 Removed colons (not allowed on Windows) from worksapce name in WorkspaceConnectorTest

MODE-1246 Removed colons (not allowed on Windows) from worksapce name in WorkspaceConnectorTest