Repository: servicemix-bundles Updated Branches: refs/heads/master c4694da92 -> b51292c50
[SM-2521] Create OSGi bundle for JavaEWAH 1.0.2 Project: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/repo Commit: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/commit/b51292c5 Tree: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/tree/b51292c5 Diff: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/diff/b51292c5 Branch: refs/heads/master Commit: b51292c5057cb35049ea7af280ac10633eb3ab8a Parents: c4694da Author: Jean-Baptiste Onofré <[email protected]> Authored: Sat May 2 07:26:26 2015 +0200 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Sat May 2 07:26:26 2015 +0200 ---------------------------------------------------------------------- javaewah-1.0.2/pom.xml | 105 +++++++++++++++++++ .../src/main/resources/OSGI-INF/bundle.info | 32 ++++++ pom.xml | 1 + 3 files changed, 138 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/servicemix-bundles/blob/b51292c5/javaewah-1.0.2/pom.xml ---------------------------------------------------------------------- diff --git a/javaewah-1.0.2/pom.xml b/javaewah-1.0.2/pom.xml new file mode 100644 index 0000000..87a9221 --- /dev/null +++ b/javaewah-1.0.2/pom.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.servicemix.bundles</groupId> + <artifactId>bundles-pom</artifactId> + <version>12</version> + <relativePath>../bundles-pom/pom.xml</relativePath> + </parent> + + <groupId>org.apache.servicemix.bundles</groupId> + <artifactId>org.apache.servicemix.bundles.javaewah</artifactId> + <version>1.0.2_1-SNAPSHOT</version> + <packaging>bundle</packaging> + <name>Apache ServiceMix :: Bundles :: ${pkgArtifactId}</name> + <description>This OSGi bundle wraps ${pkgArtifactId} ${pkgVersion} jar file.</description> + + <scm> + <connection>scm:git:https://git-wip-us.apache.org/repos/asf/servicemix-bundles.git</connection> + <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/servicemix-bundles.git</developerConnection> + <url>https://git-wip-us.apache.org/repos/asf?p=servicemix-bundles.git</url> + </scm> + + <properties> + <pkgGroupId>com.googlecode.javaewah</pkgGroupId> + <pkgArtifactId>JavaEWAH</pkgArtifactId> + <pkgVersion>1.0.2</pkgVersion> + <servicemix.osgi.export.pkg> + com.googlecode.javaewah + </servicemix.osgi.export.pkg> + <servicemix.osgi.import.pkg> + + </servicemix.osgi.import.pkg> + </properties> + + <dependencies> + <dependency> + <groupId>${pkgGroupId}</groupId> + <artifactId>${pkgArtifactId}</artifactId> + <version>${pkgVersion}</version> + </dependency> + + <!-- sources --> + <dependency> + <groupId>${pkgGroupId}</groupId> + <artifactId>${pkgArtifactId}</artifactId> + <version>${pkgVersion}</version> + <classifier>sources</classifier> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <artifactSet> + <includes> + <include>${pkgGroupId}:${pkgArtifactId}</include> + </includes> + </artifactSet> + <filters> + <filter> + <artifact>${pkgGroupId}:${pkgArtifactId}</artifact> + <excludes> + <exclude>**/*</exclude> + </excludes> + </filter> + </filters> + <promoteTransitiveDependencies>true</promoteTransitiveDependencies> + <createDependencyReducedPom>true</createDependencyReducedPom> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/servicemix-bundles/blob/b51292c5/javaewah-1.0.2/src/main/resources/OSGI-INF/bundle.info ---------------------------------------------------------------------- diff --git a/javaewah-1.0.2/src/main/resources/OSGI-INF/bundle.info b/javaewah-1.0.2/src/main/resources/OSGI-INF/bundle.info new file mode 100644 index 0000000..58339a1 --- /dev/null +++ b/javaewah-1.0.2/src/main/resources/OSGI-INF/bundle.info @@ -0,0 +1,32 @@ +\u001B[1mSYNOPSIS\u001B[0m + ${project.description} + + Original Maven URL: + \u001B[33mmvn:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m + +\u001B[1mDESCRIPTION\u001B[0m + The bit array data structure is implemented in Java as the BitSet class. Unfortunately, this fails to scale + without compression. + + JavaEWAH is a word-aligned compressed variant of the Java bitset class. It uses a 64-bit run-length encoding (RLE) + compression scheme. We trade-off some compression for better processing speed. We also have a 32-bit version which + compresses better, but is not as fast. + + In general, the goal of word-aligned compression is not to achieve the best compression, but rather to improve query + processing time. Hence, we try to save CPU cycles, maybe at the expense of storage. However, the EWAH scheme we + implemented is always more efficient storage-wise than an uncompressed bitmap as implemented in the BitSet class). + Unlike some alternatives, javaewah does not rely on a patented scheme. + + It includes exhaustive unit testing. As of November 2011, Apache Maven is used to build and validate the releases. + (Building the source code with javac remains trivial). + + Usage: + + // set bits at pos. 0, 2, 64, and 1<<30 to value "true" (others are false) + EWAHCompressedBitmap ewahBitmap1 = EWAHCompressedBitmap.bitmapOf(0,2,64,1<<30); + EWAHCompressedBitmap ewahBitmap2 = EWAHCompressedBitmap.bitmapOf(1,3,64,1<<30); + EWAHCompressedBitmap xorbitmap = EWAHCompressedBitmap.xor(ewahBitmap1,ewahBitmap2); + int[] setbits = xorbitmap.toArray();// which bits are set? + +\u001B[1mSEE ALSO\u001B[0m + \u001B[36mhttp://code.google.com/p/javaewah/\u001B[0m http://git-wip-us.apache.org/repos/asf/servicemix-bundles/blob/b51292c5/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 81ef32e..60ee61f 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,7 @@ <module>bcprov-jdk15on-1.52</module> <module>aws-java-sdk-1.9.33</module> <module>lightcouch-0.1.8</module> + <module>javaewah-1.0.2</module> </modules> </project>
