You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by ma...@apache.org on 2010/08/11 21:02:10 UTC
svn commit: r984537 - in /incubator/ace/trunk: ./ ace-range-api/
ace-range-api/src/ ace-range-api/src/main/ ace-range-api/src/main/java/
ace-range-api/src/main/java/org/ ace-range-api/src/main/java/org/apache/
ace-range-api/src/main/java/org/apache/ace...
Author: marrs
Date: Wed Aug 11 19:02:09 2010
New Revision: 984537
URL: http://svn.apache.org/viewvc?rev=984537&view=rev
Log:
Added a bundle for the range classes. Fixed two poms.
Added:
incubator/ace/trunk/ace-range-api/
incubator/ace/trunk/ace-range-api/osgi.bnd
incubator/ace/trunk/ace-range-api/pom.xml
incubator/ace/trunk/ace-range-api/src/
incubator/ace/trunk/ace-range-api/src/main/
incubator/ace/trunk/ace-range-api/src/main/java/
incubator/ace/trunk/ace-range-api/src/main/java/org/
incubator/ace/trunk/ace-range-api/src/main/java/org/apache/
incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/
incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/
incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/Range.java
incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/RangeIterator.java
incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/SortedRangeSet.java
incubator/ace/trunk/ace-range-api/src/test/
incubator/ace/trunk/ace-range-api/src/test/java/
incubator/ace/trunk/ace-range-api/src/test/java/org/
incubator/ace/trunk/ace-range-api/src/test/java/org/apache/
incubator/ace/trunk/ace-range-api/src/test/java/org/apache/ace/
incubator/ace/trunk/ace-range-api/src/test/java/org/apache/ace/range/
incubator/ace/trunk/ace-range-api/src/test/java/org/apache/ace/range/SortedRangeSetTest.java
Modified:
incubator/ace/trunk/ace-webui/pom.xml
incubator/ace/trunk/pom.xml
Added: incubator/ace/trunk/ace-range-api/osgi.bnd
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-range-api/osgi.bnd?rev=984537&view=auto
==============================================================================
--- incubator/ace/trunk/ace-range-api/osgi.bnd (added)
+++ incubator/ace/trunk/ace-range-api/osgi.bnd Wed Aug 11 19:02:09 2010
@@ -0,0 +1,8 @@
+Bundle-Version>:\
+ ${pom.version}
+
+Bundle-SymbolicName:\
+ ${bundle.symbolicName}
+
+Export-Package:\
+ ${bundle.namespace}; version="${pom.version}"
Added: incubator/ace/trunk/ace-range-api/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-range-api/pom.xml?rev=984537&view=auto
==============================================================================
--- incubator/ace/trunk/ace-range-api/pom.xml (added)
+++ incubator/ace/trunk/ace-range-api/pom.xml Wed Aug 11 19:02:09 2010
@@ -0,0 +1,58 @@
+<?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.ace</groupId>
+ <artifactId>ace-pom</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <relativePath>../pom/</relativePath>
+ </parent>
+
+ <groupId>org.apache.ace</groupId>
+ <artifactId>ace-range-api</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <name>Apache ACE - Range API</name>
+
+ <properties>
+ <bundle.symbolicName>${namespace}.range</bundle.symbolicName>
+ <bundle.namespace>${namespace}.range</bundle.namespace>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>${groupId}</groupId>
+ <artifactId>ace-util</artifactId>
+ <version>${version}</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Added: incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/Range.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/Range.java?rev=984537&view=auto
==============================================================================
--- incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/Range.java (added)
+++ incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/Range.java Wed Aug 11 19:02:09 2010
@@ -0,0 +1,146 @@
+/*
+ * 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.
+ */
+package org.apache.ace.range;
+
+/**
+ * Class that captures a simple, modifiable range.
+ */
+public class Range
+{
+ private long m_low;
+ private long m_high;
+
+ /**
+ * Create a new range based on a string representation of that range.
+ *
+ * @param representation the string representation
+ */
+ public Range(String representation) {
+ int i = representation.indexOf('-');
+ if (i == -1) {
+ m_low = m_high = Long.parseLong(representation);
+ }
+ else {
+ long low = Long.parseLong(representation.substring(0, i));
+ long high = Long.parseLong(representation.substring(i + 1));
+ if (low <= high) {
+ m_low = low;
+ m_high = high;
+ }
+ else {
+ throw new IllegalArgumentException("illegal range");
+ }
+ }
+ }
+
+ /**
+ * Create a range that consists of a single number.
+ *
+ * @param number the number
+ */
+ public Range(long number) {
+ m_low = m_high = number;
+ }
+
+ /**
+ * Creates a range from a lower to a higher bound.
+ *
+ * @param low the lower bound
+ * @param high the higher bound
+ */
+ public Range(long low, long high) {
+ if (low <= high) {
+ m_low = low;
+ m_high = high;
+ }
+ else {
+ throw new IllegalArgumentException("illegal range");
+ }
+ }
+
+ /**
+ * Returns the lower bound.
+ *
+ * @return the lower bound
+ */
+ public long getLow() {
+ return m_low;
+ }
+
+ /**
+ * Sets a new lower bound. Will make sure the range stays valid,
+ * so if the higher bound is smaller than the new lower bound, it will
+ * be made equal to this new lower bound.
+ *
+ * @param low the new lower bound
+ */
+ public void setLow(long low) {
+ m_low = low;
+ if (m_high < m_low) {
+ m_high = m_low;
+ }
+ }
+
+ /**
+ * Returns the higher bound.
+ *
+ * @return the higher bound
+ */
+ public long getHigh() {
+ return m_high;
+ }
+
+ /**
+ * Sets a new higher bound. Will make sure the range stays valid,
+ * so if the lower bound is bigger than the new higher bound, it will
+ * be made equal to this new higher bound.
+ *
+ * @param high the new higher bound
+ */
+ public void setHigh(long high) {
+ m_high = high;
+ if (m_low > m_high) {
+ m_low = m_high;
+ }
+ }
+
+ /**
+ * Checks if a number falls within this range.
+ *
+ * @param number the number to check
+ * @return <code>true</code> if the number was inside the range
+ */
+ public boolean contains(long number) {
+ return (m_low <= number) && (m_high >= number);
+ }
+
+ /**
+ * Converts the range to a string representation that can be parsed
+ * back to a new <code>Range</code> object.
+ * @return
+ */
+ public String toRepresentation() {
+ if (m_low == m_high) {
+ return Long.toString(m_low);
+ }
+ else {
+ return Long.toString(m_low) + '-' + Long.toString(m_high);
+ }
+ }
+}
\ No newline at end of file
Added: incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/RangeIterator.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/RangeIterator.java?rev=984537&view=auto
==============================================================================
--- incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/RangeIterator.java (added)
+++ incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/RangeIterator.java Wed Aug 11 19:02:09 2010
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+package org.apache.ace.range;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * Iterates over a <code>SortedRangeSet</code>. Does not exactly implement
+ * the <code>Iterator</code> interface because we have <code>long</code>
+ * primitives in our collection instead of full-blown objects. This iterator
+ * is not thread-safe and results are unpredictable if the underlying set is
+ * modified.
+ */
+public class RangeIterator
+{
+ private final Iterator m_iterator;
+ private Range m_current;
+ private long m_number;
+
+ RangeIterator(Iterator iterator) {
+ m_iterator = iterator;
+ }
+
+ public boolean hasNext() {
+ if (m_current == null) {
+ return m_iterator.hasNext();
+ }
+ if (m_number == m_current.getHigh()) {
+ return m_iterator.hasNext();
+ }
+ else {
+ return true;
+ }
+ }
+
+ public long next() {
+ if (m_current == null) {
+ if (m_iterator.hasNext()) {
+ m_current = (Range) m_iterator.next();
+ m_number = m_current.getLow();
+ return m_number;
+ }
+ }
+ else {
+ if (m_number == m_current.getHigh()) {
+ if (m_iterator.hasNext()) {
+ m_current = (Range) m_iterator.next();
+ m_number = m_current.getLow();
+ return m_number;
+ }
+ }
+ else {
+ m_number++;
+ return m_number;
+ }
+ }
+ throw new NoSuchElementException();
+ }
+}
\ No newline at end of file
Added: incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/SortedRangeSet.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/SortedRangeSet.java?rev=984537&view=auto
==============================================================================
--- incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/SortedRangeSet.java (added)
+++ incubator/ace/trunk/ace-range-api/src/main/java/org/apache/ace/range/SortedRangeSet.java Wed Aug 11 19:02:09 2010
@@ -0,0 +1,209 @@
+/*
+ * 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.
+ */
+package org.apache.ace.range;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.StringTokenizer;
+
+/**
+ * Collection that stores a sorted set of ranges and is able to represent them
+ * as a string.
+ */
+public class SortedRangeSet
+{
+ /**
+ * A static set which contains all possible values.
+ */
+ public final static SortedRangeSet FULL_SET = new SortedRangeSet(0 + "-" + Long.MAX_VALUE) {
+ public boolean contains(long number) {
+ return true;
+ }
+ };
+
+ private List m_ranges = new ArrayList();
+
+ /**
+ * Creates a new instance from a string representation.
+ *
+ * @param representation The string representation of a <code>SortedRangeSet</code>.
+ * @throws NumberFormatException If the string representation does not contain a valid <code>SortedRangeSet</code>.
+ */
+ public SortedRangeSet(String representation) {
+ StringTokenizer st = new StringTokenizer(representation, ",");
+ while (st.hasMoreTokens()) {
+ m_ranges.add(new Range(st.nextToken()));
+ }
+ }
+
+ /**
+ * Creates a new instance from an array of longs.
+ *
+ * @param items Array of longs
+ */
+ public SortedRangeSet(long[] items) {
+ // TODO: deal with items not being in ascending order
+ Range r = null;
+ for (int i = 0; i < items.length; i++) {
+ if (r == null) {
+ r = new Range(items[i]);
+ }
+ else {
+ if (items[i] == r.getHigh() + 1) {
+ r.setHigh(items[i]);
+ }
+ else {
+ m_ranges.add(r);
+ r = new Range(items[i]);
+ }
+ }
+ }
+ if (r != null) {
+ m_ranges.add(r);
+ }
+ }
+
+ private SortedRangeSet() {
+ }
+
+ /**
+ * Retrieve a string representation of the <code>SortedRangeSet</code>.
+ *
+ * @return A string representation of the <code>SortedRangeSet</code>.
+ */
+ public String toRepresentation() {
+ StringBuffer result = new StringBuffer();
+ Iterator i = m_ranges.iterator();
+ while (i.hasNext()) {
+ Range r = (Range) i.next();
+ if (result.length() > 0) {
+ result.append(',');
+ }
+ result.append(r.toRepresentation());
+ }
+ return result.toString();
+ }
+
+ /**
+ * Creates the difference between this set and <code>dest</code>, by (in set notation)<br>
+ * <code>result = dest \ this</code>,<br>
+ * that is, if <code>dest = {1, 2}</code> and <code>this = {2, 3}</code>, then
+ * <code>result = {1, 2} \ {2, 3} = {1}</code>
+ * @param dest The set from which this set should be 'set-minussed'.
+ * @return The resulting set after the diff.
+ */
+ public SortedRangeSet diffDest(SortedRangeSet dest) {
+ SortedRangeSet result = new SortedRangeSet();
+ RangeIterator i = dest.iterator();
+ while (i.hasNext()) {
+ long number = i.next();
+ if (!contains(number)) {
+ result.add(number);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Checks if a number falls within any range in this set.
+ *
+ * @param number the number to check
+ * @return <code>true</code> if the number was inside any range in this set
+ */
+ public boolean contains(long number) {
+ Iterator i = m_ranges.iterator();
+ while (i.hasNext()) {
+ Range r = (Range) i.next();
+ if (r.contains(number)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Adds a number to the set of ranges. Tries to be as smart as possible about it.
+ *
+ * @param number the number to add
+ */
+ private void add(long number) {
+ ListIterator i = m_ranges.listIterator();
+ while (i.hasNext()) {
+ int index = i.nextIndex();
+ Range r = (Range) i.next();
+ if (r.contains(number)) {
+ return;
+ }
+ long low = r.getLow();
+ long high = r.getHigh();
+ if (number < low) {
+ if (number == low - 1) {
+ r.setLow(number);
+ return;
+ }
+ else {
+ Range nr = new Range(number);
+ m_ranges.add(index, nr);
+ return;
+ }
+ }
+ if (number == high + 1) {
+ r.setHigh(number);
+ if (i.hasNext()) {
+ Range nr = (Range) i.next();
+ if (number == low - 1) {
+ r.setHigh(nr.getHigh());
+ i.remove();
+ }
+ }
+ return;
+ }
+ }
+ Range nr = new Range(number);
+ m_ranges.add(nr);
+ }
+
+ /**
+ * Returns an iterator that iterates over all the ranges in this set.
+ *
+ * @return a range iterator
+ */
+ public RangeIterator iterator() {
+ return new RangeIterator(m_ranges.iterator());
+ }
+
+ /**
+ * Returns the highest value present in any of the ranges in this <code>SortredRangeSet</code>.
+ *
+ * @return the highest value present in any of the ranges in this <code>SortredRangeSet</code>
+ * or <code>0</code> if the <code>SortedRangeSet</code> is empty.
+ */
+ public long getHigh() {
+ int size = m_ranges.size();
+ if (size > 0) {
+ Range range = (Range) m_ranges.get(size - 1);
+ return range.getHigh();
+ }
+ else {
+ return 0;
+ }
+ }
+}
\ No newline at end of file
Added: incubator/ace/trunk/ace-range-api/src/test/java/org/apache/ace/range/SortedRangeSetTest.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-range-api/src/test/java/org/apache/ace/range/SortedRangeSetTest.java?rev=984537&view=auto
==============================================================================
--- incubator/ace/trunk/ace-range-api/src/test/java/org/apache/ace/range/SortedRangeSetTest.java (added)
+++ incubator/ace/trunk/ace-range-api/src/test/java/org/apache/ace/range/SortedRangeSetTest.java Wed Aug 11 19:02:09 2010
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+package org.apache.ace.range;
+
+import static org.apache.ace.test.utils.TestUtils.UNIT;
+
+import org.apache.ace.range.Range;
+import org.apache.ace.range.RangeIterator;
+import org.apache.ace.range.SortedRangeSet;
+import org.testng.annotations.Test;
+
+public class SortedRangeSetTest {
+ @Test(groups = { UNIT })
+ public void manipulateSimpleRanges() {
+ Range r1 = new Range("5");
+ assert r1.getLow() == 5 : "Lowest value should be 5";
+ assert r1.getHigh() == 5 : "Highest value should be 5";
+ assert r1.contains(5) : "Range should contain 5";
+ assert !r1.contains(4) : "Range should not contain 4";
+ assert !r1.contains(6) : "Range should not contain 6";
+ assert "5".equals(r1.toRepresentation()) : "Representation should be 5";
+ Range r2 = new Range("2-6");
+ assert r2.getLow() == 2 : "Lowest value should be 2";
+ assert r2.getHigh() == 6 : "Highest value should be 6";
+ assert r2.contains(6) : "Range should contain 6";
+ assert !r2.contains(7) : "Range should not contain 7";
+ assert !r2.contains(0) : "Range should not contain 0";
+ assert "2-6".equals(r2.toRepresentation()) : "Representation should be 2-6";
+ Range r3 = new Range(5);
+ assert r3.getLow() == 5 : "Lowest value should be 5";
+ assert r3.getHigh() == 5 : "Highest value should be 5";
+ Range r4 = new Range(6,8);
+ assert r4.getLow() == 6 : "Lowest value should be 6";
+ assert r4.getHigh() == 8 : "Highest value should be 8";
+ Range r5 = new Range(5);
+ r5.setLow(8);
+ assert r5.getHigh() == 8 : "Highest value should be 8";
+ r5.setHigh(2);
+ assert r5.getLow() == 2 : "Lowest value should be 2";
+ }
+
+ @Test(groups = { UNIT })
+ public void manipulateSortedRangeSets() {
+ SortedRangeSet s1 = new SortedRangeSet("1,3,5-8");
+ RangeIterator ri1 = s1.iterator();
+ assert ri1.next() == 1 : "Illegal value in range iterator";
+ assert ri1.next() == 3 : "Illegal value in range iterator";
+ assert ri1.next() == 5 : "Illegal value in range iterator";
+ assert ri1.next() == 6 : "Illegal value in range iterator";
+ assert ri1.next() == 7 : "Illegal value in range iterator";
+ assert ri1.next() == 8 : "Illegal value in range iterator";
+ assert !ri1.hasNext() : "There should not be more values in the iterator";
+ assert new SortedRangeSet("1-20").diffDest(new SortedRangeSet("5-25")).toRepresentation().equals("21-25") : "Result of diff should be 21-25";
+ assert new SortedRangeSet(new long[] {1,3,5,7,9}).diffDest(new SortedRangeSet("1-10")).toRepresentation().equals("2,4,6,8,10") : "Result of diff should be 2,4,6,8,10";
+ assert new SortedRangeSet("1-5,8,12").diffDest(new SortedRangeSet("1-5,7,9,12,20")).toRepresentation().equals("7,9,20") : "Result of diff should be 7,9,20";
+ }
+
+ @Test(groups = { UNIT }, expectedExceptions = IllegalArgumentException.class)
+ public void invalidRange() {
+ new SortedRangeSet("8-5");
+ }
+}
Modified: incubator/ace/trunk/ace-webui/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-webui/pom.xml?rev=984537&r1=984536&r2=984537&view=diff
==============================================================================
--- incubator/ace/trunk/ace-webui/pom.xml (original)
+++ incubator/ace/trunk/ace-webui/pom.xml Wed Aug 11 19:02:09 2010
@@ -117,7 +117,7 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>ace-client-repository</artifactId>
+ <artifactId>ace-client-repository-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Modified: incubator/ace/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/pom.xml?rev=984537&r1=984536&r2=984537&view=diff
==============================================================================
--- incubator/ace/trunk/pom.xml (original)
+++ incubator/ace/trunk/pom.xml Wed Aug 11 19:02:09 2010
@@ -41,15 +41,20 @@
<modules>
<module>pom</module>
<module>ace-util</module>
+
+ <module>ace-range-api</module>
+
<module>ace-repository-api</module>
- <module>ace-repository</module>
+ <module>ace-repository-impl</module>
<module>ace-repository-servlet</module>
<module>ace-repository-task</module>
<module>ace-consolelogger</module>
<module>ace-log</module>
+
<module>ace-discovery-api</module>
<module>ace-discovery-property</module>
+ <module>ace-discovery-upnp</module>
<module>ace-identification-api</module>
<module>ace-identification-property</module>
@@ -58,9 +63,10 @@
<module>ace-scheduler-api</module>
<module>ace-scheduler</module>
- <module>ace-client-repository</module>
+ <module>ace-client-repository-api</module>
<module>ace-client-repository-configuration</module>
<module>ace-client-repository-impl</module>
+ <module>ace-client-repository-helper-base</module>
<module>ace-client-repository-helper-bundle</module>
<module>ace-client-repository-helper-user</module>
<module>ace-client-automation</module>
@@ -71,8 +77,9 @@
<module>ace-deployment-provider-base</module>
<module>ace-deployment-provider-filebased</module>
<module>ace-deployment-provider-repositorybased</module>
+
<module>ace-deployment-api</module>
- <module>ace-deployment</module>
+ <module>ace-deployment-deploymentadmin</module>
<module>ace-deployment-task</module>
<module>ace-httplistener</module>