Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
MODE-2558 Adds the Audio sequencer to the WF kit and deprecates the Mp3 sequencer

    • -0
    • +3
    ./modeshape/sequencer/mp3/Mp3Metadata.java
    • -0
    • +1
    ./modeshape/sequencer/mp3/package-info.java
  1. … 14 more files in changeset.
MODE-2298 Updated the sequencers to only log warnings if an exception is raised and the repository has been shut down and also to use JDK 7 try-with-resources style.

  1. … 16 more files in changeset.
MODE-2081 Changed the remaining files over to the ASL 2.0 license

    • -17
    • +9
    ./modeshape/sequencer/mp3/Mp3Metadata.java
    • -17
    • +9
    ./modeshape/sequencer/mp3/package-info.java
  1. … 1047 more files in changeset.
MODE-2148 Added checkstyle to our build, and corrected numerous potential problems or issues in the code. Also removed lots of meaningless JavaDoc

  1. … 366 more files in changeset.
Corrected compiler warnings and removed unnecessary JavaDoc

    • -4
    • +9
    ./modeshape/sequencer/mp3/Mp3Metadata.java
  1. … 20 more files in changeset.
MODE-1762 Added code to ensure the sequencers always close the Binary's stream

Our Binary values always return a stream that closes itself when fully-read.

However, if any of the sequencers do not read the entire stream (e.g.,

intentionally or if they experience an exception while processing),

the stream might not be closed.

These changes ensure that the stream is always closed. All sequencer

implementations where checked, and only those that were not always

closing the stream in a finally block were modified/corrected.

All tests pass with these changes.

  1. … 10 more files in changeset.
MODE-1762 Added code to ensure the sequencers always close the Binary's stream

Our Binary values always return a stream that closes itself when fully-read.

However, if any of the sequencers do not read the entire stream (e.g.,

intentionally or if they experience an exception while processing),

the stream might not be closed.

These changes ensure that the stream is always closed. All sequencer

implementations where checked, and only those that were not always

closing the stream in a finally block were modified/corrected.

All tests pass with these changes.

  1. … 10 more files in changeset.
MODE-1609 - Fixed AS7 subsystem binary storage integration plus some issues which surfaced: * a bug inside ChunkInputStream * wrongful logging by the sequencers

  1. … 15 more files in changeset.
MODE-1639, MODE-1640, MODE-1634 Replaced the Aperture-based MIME type detector with a Tika-based one

This required quite a bit of dependency gymnastics, since Tika has quite a few more transitive

dependencies than the Aperture library (which we had successfully pared down several years ago).

Tika references about 25 dependencies (including transitive dependencies), but this was reduced

in 'modeshape-jcr' to about 8 for basic MIME type detection. Note that Tika usually includes

two BouncyCastle libraries in its dependencies (used for encrypted PDFs, among other things),

but ModeShape intentionally excludes these (as we don't want to ship or depend on any

security-related JARs).

Not only do we get Tika's substantial MIME type database, we've made it possible for users

to edit the 'org/modeshape/custom-mimetypes.xml' file and provide the updated one on the application

classpath. What goes in that file will overwrite all of the other sources (namely Tika's built-in

file and its customization file, both of which are to be found on the classpath), which means

it's easiest to simply provide an updated version of this file at 'org/modeshape/custom-mimetypes.xml'.

Be sure to not remove any of the (few) customizations that ModeShape includes - those are important.

As we upgrade Tika, we'll get updated versions of the media type data. This is far more preferable

than having a ModeShape-specific version.

The MIME type related interfaces in ModeShape's public API (e.g., 'modeshape-jcr-api') have been removed.

These were added sometime in one of the 3.0 releases, so removing them will not introduce compatibility

issues for users.

Instead, we've decided to get out of the MIME type detection framework business, and have decided

to switch to Tika for all MIME type detection. In fact, you can still write your own MIME type detector,

but you do that by implementing Tika's interface and reference the implementation class(es) in the

corresponding service loader file in your JAR. (See the TIKA documentation for details.)

However, internally we still have an abstraction. This is because it is possible to remove the Tika

(and transitive dependencies) from a ModeShape installation, as long as your applications will not

expect any kind of automatic MIME type detection. This is a perfectly valid use case: for example,

using a repository to store data and do not store files (and don't use sequencers).

The AS7 kits required a bit more modification. There is now a new AS7 module for 'org.apache.tika'

that contains all of the JARs, and this is used by the ModeShape module and by the Tika text extractor

module.

All unit and integration tests pass with these changes. Several new tests were added.

  1. … 70 more files in changeset.
MODE-1491 Improved the sequencer initialization logic

Added state that captures whether each Sequencer instance has been successfully initialized, allowing

the Sequencer's internal (private) methods to better manage and create state that is now safely accessible to

subclasses. (For example, the Set<String> containing the accepted MIME types is now an immutable collection.)

  1. … 8 more files in changeset.
MODE-1491 Added support for sequencers specifying acceptable MIME types

Added support for the sequencers to specify the set of MIME types for the binary content that they accept. Some sequencers (such as the DDL sequencer) do not specify any MIME types (for various reasons, often because there is no MIME type defined for the content types), and thus fall back to the old behavior where the sequencer attempts to process all matching input.

As before, the input node must first satisfy the path expression. However, sequencers that also specify one or more MIME types (either via defaults or overwritten in each sequencer configuration) are invoked only if the MIME type of the changed property matches can be found and is one of the sequencer's MIME types.

The MIME type of the changed property is found as follows:

- if the input node contains a single-valued 'jcr:mimeType' property, then the value of this property is considered the MIME type of the changed property; otherwise

- if the input node is named "jcr:content" and its parent contains a single-valued 'jcr:mimeType' property, then the value of this property is considered the MIME type of the changed property; otherwise

- if the changed property is a BINARY property, then the ModeShape-specific Binary interface is used to obtain the MIME type for the binary value, given the name of the parent node (or grandparent node, if the parent node is named "jcr:content"); otherwise

- the MIME type could not be determined and does not influence whether the sequencer is invoked

  1. … 13 more files in changeset.
MODE-1462 - Updated logging based on code review comments

  1. … 14 more files in changeset.
MODE-1462 - Updated logging: - moved all logging classes to common.logging instead of common.util - added logging factory & logger for pure Log4j support - changed logging dependencies scope from <compile> to <provided> - added a logger abstraction in modeshape-jcr-api and an implementation in modeshape-jcr which should be used for extensions - updated Sequencer and TextExtractor base classes so that upon creation, they are provided with the extension logger

  1. … 97 more files in changeset.
MODE-1465 - Added additional event for sequencing failures

  1. … 12 more files in changeset.
MODE-1378 Fixes from recent changes

Recent changes moved the sequencers to 'modeshape-sequencer' (unclear why this was done),

and several of the POM files in modules that are not yet used were missing version elements

on test dependencies.

    • -0
    • +0
    ./modeshape/sequencer/mp3/Mp3Metadata.java
    • -0
    • +0
    ./modeshape/sequencer/mp3/package-info.java
  1. … 851 more files in changeset.
MODE-1378 Added common parent for all sequencers - modeshape-sequencers and updated the build accordingly

    • -102
    • +0
    ./modeshape/sequencer/mp3/Mp3Metadata.java
    • -29
    • +0
    ./modeshape/sequencer/mp3/package-info.java
  1. … 843 more files in changeset.
MODE-1336 Ported mp3 sequencer to 3.x

Also, updated jaudiotagger version to 2.0.3

    • -0
    • +102
    ./modeshape/sequencer/mp3/Mp3Metadata.java
    • -0
    • +48
    ./modeshape/sequencer/mp3/Mp3MetadataLexicon.java
    • -0
    • +91
    ./modeshape/sequencer/mp3/Mp3MetadataSequencer.java
    • -0
    • +29
    ./modeshape/sequencer/mp3/package-info.java
  1. … 9 more files in changeset.