svn commit: r539940 - in /felix/trunk: ./ eventadmin.bridge.configuration/ eventadmin.bridge.upnp/ eventadmin.bridge.useradmin/ eventadmin.bridge.wireadmin/ eventadmin/ eventadmin/bridge.configuration
Author: pauls Date: Sun May 20 14:12:33 2007 New Revision: 539940 URL: http://svn.apache.org/viewvc?view=revrev=539940 Log: Refactor eventadmin project layouts. Added: felix/trunk/eventadmin/bridge.configuration/ - copied from r539859, felix/trunk/eventadmin.bridge.configuration/ felix/trunk/eventadmin/bridge.upnp/ - copied from r539859, felix/trunk/eventadmin.bridge.upnp/ felix/trunk/eventadmin/bridge.useradmin/ - copied from r539859, felix/trunk/eventadmin.bridge.useradmin/ felix/trunk/eventadmin/bridge.wireadmin/ - copied from r539859, felix/trunk/eventadmin.bridge.wireadmin/ felix/trunk/eventadmin/impl/ felix/trunk/eventadmin/impl/pom.xml - copied unchanged from r539859, felix/trunk/eventadmin/pom.xml felix/trunk/eventadmin/impl/src/ - copied from r539859, felix/trunk/eventadmin/src/ Removed: felix/trunk/eventadmin.bridge.configuration/ felix/trunk/eventadmin.bridge.upnp/ felix/trunk/eventadmin.bridge.useradmin/ felix/trunk/eventadmin.bridge.wireadmin/ felix/trunk/eventadmin/pom.xml felix/trunk/eventadmin/src/ Modified: felix/trunk/pom.xml Modified: felix/trunk/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/pom.xml?view=diffrev=539940r1=539939r2=539940 == --- felix/trunk/pom.xml (original) +++ felix/trunk/pom.xml Sun May 20 14:12:33 2007 @@ -133,11 +133,12 @@ moduleshell.tui/module modulebundlerepository/module modulelog/module -moduleeventadmin/module +!--moduleeventadmin/module moduleeventadmin.bridge.upnp/module moduleeventadmin.bridge.configuration/module moduleeventadmin.bridge.useradmin/module moduleeventadmin.bridge.wireadmin/module +-- modulehttp.jetty/module modulescr/module moduleconfigadmin/module
svn commit: r548491 - /felix/trunk/installers/pom.xml
Author: pauls Date: Mon Jun 18 13:58:53 2007 New Revision: 548491 URL: http://svn.apache.org/viewvc?view=revrev=548491 Log: Update email to dev Modified: felix/trunk/installers/pom.xml Modified: felix/trunk/installers/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/installers/pom.xml?view=diffrev=548491r1=548490r2=548491 == --- felix/trunk/installers/pom.xml (original) +++ felix/trunk/installers/pom.xml Mon Jun 18 13:58:53 2007 @@ -81,7 +81,7 @@ copyrightYear2006/copyrightYear minimumJavaVersion1.4/minimumJavaVersion urlhttp://felix.apache.org/url -email[EMAIL PROTECTED]/email +email[EMAIL PROTECTED]/email descriptionApache OSGi Platform/description authors authorApache Felix Team/author
svn commit: r554078 - in /felix/trunk/bundleplugin/doc: ./ maven-bundle-plugin-bnd_files/
Author: pauls Date: Fri Jul 6 15:36:17 2007 New Revision: 554078 URL: http://svn.apache.org/viewvc?view=revrev=554078 Log: Add a copy of the current bundle plugin documentation to svn Added: felix/trunk/bundleplugin/doc/ felix/trunk/bundleplugin/doc/changelog.txt felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd.html felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd_files/ felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd_files/apache-felix-small.png (with props) felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd_files/linkext7.gif (with props) felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd_files/print.html felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd_files/site.css Added: felix/trunk/bundleplugin/doc/changelog.txt URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/doc/changelog.txt?view=autorev=554078 == --- felix/trunk/bundleplugin/doc/changelog.txt (added) +++ felix/trunk/bundleplugin/doc/changelog.txt Fri Jul 6 15:36:17 2007 @@ -0,0 +1,23 @@ +Changes from 0.8.0-incubator to 1.0.0 +- +* [2007-03-13] Include-Resources now supports JAR files in the class path, +not just JAR files in the project directory. +* [2007-03-15] Fixed a bug in converting Maven version numbers to OSGi version +numbers (FELIX-256). +* [2007-03-28] Added support for using BND directives in the POM file +(FELIX-218). +* [2007-04-10] Added a recursive bundleall goal to generate OSGi bundles for +all dependencies and a manifest goal to generate just the manifest +(FELIX-199). +* [2007-04-27] Modified the plugin so that it does not run on POM projects +(FELIX-269). +* [2007-05-17] Plugin now handles null property values better (FELIX-281). +* [2007-05-20] Renamed project directory from maven-bundle-plugin to +bundleplugin. +* [2007-05-20] Changed package naming. +* [2007-05-21] Improved handling of resource copying to copy the plugin's +resources if specified or the standard Maven-specified resources (FELIX-261). +* [2007-05-24] Updated to BND version 0.0.145. +* [2007-06-13] Factored out some common code (FELIX-304). +* [2007-06-14] Enable output folder to be configured (FELIX-305). +* [2007-07-05] Added support for overriding project type (FELIX-309). Added: felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd.html URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd.html?view=autorev=554078 == --- felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd.html (added) +++ felix/trunk/bundleplugin/doc/maven-bundle-plugin-bnd.html Fri Jul 6 15:36:17 2007 @@ -0,0 +1,434 @@ +!DOCTYPE HTML PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; +htmlheadtitleApache Felix/title + + + + +link rel=stylesheet href=maven-bundle-plugin-bnd_files/site.css type=text/css media=all +link rel=stylesheet href=maven-bundle-plugin-bnd_files/print.html type=text/css media=print +meta http-equiv=Content-Type content=text/html;charset=UTF-8/headbody +div class=title + img alt=Logo src=maven-bundle-plugin-bnd_files/apache-felix-small.png align=right +/div +div class=menu + ul +lia href=http://cwiki.apache.org/FELIX/index.html;home/a/li +lia href=http://cwiki.apache.org/FELIX/news.html;news/a/li +lia href=http://cwiki.apache.org/FELIX/status.html;status/a/li +lia href=http://cwiki.apache.org/FELIX/license.html;license/a/li +lia href=http://cwiki.apache.org/FELIX/downloads.html;downloads/a/li +lia href=http://cwiki.apache.org/FELIX/documentation.html;documentation/a/li +lia href=http://cwiki.apache.org/FELIX/committers.html;committers/a/li +lia href=http://cwiki.apache.org/FELIX/mailinglists.html;mailing lists/a/li +lia href=http://cwiki.apache.org/FELIX/faq.html;faq/a/li +lia href=http://cwiki.apache.org/FELIX/roadmap.html;roadmap/a/li +lia href=http://cwiki.apache.org/FELIX/sourcecode.html;source code/a/li +lia href=http://cwiki.apache.org/FELIX/codingstandards.html;coding standards/a/li +lia href=http://cwiki.apache.org/FELIX/issuetracking.html;issue tracking/a/li +lia href=http://cwiki.apache.org/FELIX/dependencies.html;dependencies/a/li + /ul +/div +div class=main +h1a name=MavenBundlePlugin(BND)-BundlePluginforMaven/aBundle Plugin for Maven/h1 + +pThis plugin for Maven 2 is based on the span class=nobra href=http://www.aqute.biz/Code/Bnd; title=Visit page outside Confluence rel=nofollowBNDsupimg class=rendericon src=maven-bundle-plugin-bnd_files/linkext7.gif alt= align=absmiddle border=0 height=7 width=7/sup/a/span +tool from Peter Kriens. The way BND works is by treating your project +as a big collection of classes (e.g., project
svn commit: r555534 - /felix/trunk/bundleplugin/pom.xml
Author: pauls Date: Thu Jul 12 01:35:56 2007 New Revision: 34 URL: http://svn.apache.org/viewvc?view=revrev=34 Log: Update dependency to released version Modified: felix/trunk/bundleplugin/pom.xml Modified: felix/trunk/bundleplugin/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/pom.xml?view=diffrev=34r1=33r2=34 == --- felix/trunk/bundleplugin/pom.xml (original) +++ felix/trunk/bundleplugin/pom.xml Thu Jul 12 01:35:56 2007 @@ -79,7 +79,7 @@ dependency groupIdorg.apache.maven.shared/groupId artifactIdmaven-osgi/artifactId - version0.1.0-SNAPSHOT/version + version0.1.0/version /dependency /dependencies /project
svn commit: r555536 - in /felix/trunk: framework/src/main/java/org/apache/felix/framework/util/ldap/ org.apache.felix.daemon/src/main/java/org/apache/felix/daemon/ tools/maven2/maven-felix-plugin/src/
Author: pauls Date: Thu Jul 12 01:37:56 2007 New Revision: 36 URL: http://svn.apache.org/viewvc?view=revrev=36 Log: Adapt to framework api changes Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java felix/trunk/org.apache.felix.daemon/src/main/java/org/apache/felix/daemon/Service.java felix/trunk/tools/maven2/maven-felix-plugin/src/main/java/org/apache/felix/tools/maven/felix/plugin/FelixRunMojo.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java?view=diffrev=36r1=35r2=36 == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Thu Jul 12 01:37:56 2007 @@ -65,6 +65,8 @@ // Flag indicating presense of BigDecimal. private static boolean m_hasBigDecimal = false; + + private static final Class[] STRING_CLASS = new Class[] { String.class }; static { @@ -555,7 +557,7 @@ result = ((Boolean) operands.pop()).booleanValue(); } } -operands.push(new Boolean(result)); +operands.push((result ? Boolean.TRUE : Boolean.FALSE)); } public String toString() @@ -620,7 +622,7 @@ result = ((Boolean) operands.pop()).booleanValue(); } } -operands.push(new Boolean(result)); +operands.push((result ? Boolean.TRUE : Boolean.FALSE)); } public String toString() @@ -666,7 +668,7 @@ fewOperands(NOT); } boolean result = !((Boolean) operands.pop()).booleanValue(); -operands.push(new Boolean(result)); +operands.push((result ? Boolean.TRUE : Boolean.FALSE)); } public String toString() @@ -717,7 +719,7 @@ Object lhs = operands.pop(); -operands.push(new Boolean(compare(lhs, rhs, EQUAL))); +operands.push((compare(lhs, rhs, EQUAL) ? Boolean.TRUE : Boolean.FALSE)); } public String toString() @@ -775,7 +777,7 @@ } Object lhs = operands.pop(); -operands.push(new Boolean(compare(lhs, rhs, GREATER_EQUAL))); +operands.push((compare(lhs, rhs, GREATER_EQUAL) ? Boolean.TRUE : Boolean.FALSE)); } public String toString() @@ -831,7 +833,7 @@ fewOperands(=); } Object lhs = (Object) operands.pop(); -operands.push(new Boolean(compare(lhs, rhs, LESS_EQUAL))); +operands.push((compare(lhs, rhs, LESS_EQUAL) ? Boolean.TRUE : Boolean.FALSE)); } public String toString() @@ -887,7 +889,7 @@ fewOperands(~=); } Object lhs = operands.pop(); -operands.push(new Boolean(compare(lhs, rhs, APPROX))); +operands.push((compare(lhs, rhs, APPROX) ? Boolean.TRUE : Boolean.FALSE)); } public String toString() @@ -935,7 +937,7 @@ throws EvaluationException { Object value = mapper.lookup(attribute); -operands.push(new Boolean(value != null)); +operands.push((value != null) ? Boolean.TRUE : Boolean.FALSE); } public String toString() @@ -1258,7 +1260,7 @@ else { rhsComparable = (Comparable) lhs.getClass() -.getConstructor(new Class[] { String.class }) +.getConstructor(STRING_CLASS) .newInstance(new Object[] { rhs }); } } @@ -1382,7 +1384,7 @@ array = new Boolean[src.length]; for (int i = 0; i src.length; i++) { -((Object[]) array)[i] = new Boolean(src[i]); +((Object[]) array)[i] = (src[i] ? Boolean.TRUE : Boolean.FALSE); } } else if (clazz == Character.TYPE) Modified: felix/trunk/org.apache.felix.daemon/src/main/java/org/apache/felix/daemon/Service.java URL: http://svn.apache.org/viewvc/felix/trunk/org.apache.felix.daemon/src/main/java/org/apache/felix/daemon/Service.java?view=diffrev=36r1=35r2=36 == --- felix/trunk/org.apache.felix.daemon/src/main/java/org/apache/felix/daemon/Service.java (original) +++ felix/trunk/org.apache.felix.daemon/src/main/java/org/apache/felix/daemon/Service.java Thu Jul 12 01:37:56 2007 @@ -30,7 +30,6 @@ import org.apache.felix.framework.Felix; import
svn commit: r555615 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java
Author: pauls Date: Thu Jul 12 05:44:25 2007 New Revision: 555615 URL: http://svn.apache.org/viewvc?view=revrev=555615 Log: Save some object creations in the ldap parser Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java?view=diffrev=555615r1=555614r2=555615 == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Thu Jul 12 05:44:25 2007 @@ -1075,7 +1075,7 @@ } } -operands.push((result) ? Boolean.TRUE : Boolean.FALSE); +operands.push(result ? Boolean.TRUE : Boolean.FALSE); } else { @@ -1292,16 +1292,16 @@ } // Determine class of LHS. -Class lhsClass = null; +Class lhsClass = lhs.getClass(); // If LHS is an array, then call compare() on each element // of the array until a match is found. -if (lhs.getClass().isArray()) +if (lhsClass.isArray()) { // First, if this is an array of primitives, then convert // the entire array to an array of the associated // primitive wrapper class instances. -if (lhs.getClass().getComponentType().isPrimitive()) +if (lhsClass.getComponentType().isPrimitive()) { lhs = convertPrimitiveArray(lhs); } @@ -1330,9 +1330,6 @@ } else { -// Get the class of LHS. -lhsClass = lhs.getClass(); - // At this point we are expecting the LHS to be a comparable, // but Boolean is a special case since it is the only primitive // wrapper class that does not implement comparable; deal with @@ -1349,7 +1346,7 @@ try { Object rhsObject = lhsClass -.getConstructor(new Class[] { String.class }) +.getConstructor(STRING_CLASS) .newInstance(new Object[] { rhs }); return lhs.equals(rhsObject); }
svn commit: r555759 - /felix/releases/bundleplugin-1.0.0-RC2/
Author: pauls Date: Thu Jul 12 14:00:35 2007 New Revision: 555759 URL: http://svn.apache.org/viewvc?view=revrev=555759 Log: Create the second release candidate of the bundleplugin for the 1.0.0 release Added: felix/releases/bundleplugin-1.0.0-RC2/ - copied from r555758, felix/trunk/bundleplugin/
svn commit: r555760 - /felix/releases/bundlerepository-1.0.0-RC/
Author: pauls Date: Thu Jul 12 14:01:48 2007 New Revision: 555760 URL: http://svn.apache.org/viewvc?view=revrev=555760 Log: Create the release candidate of the bundlerepository for the 1.0.0 release Added: felix/releases/bundlerepository-1.0.0-RC/ - copied from r555759, felix/trunk/bundlerepository/
svn commit: r555762 - /felix/releases/org.osgi.core-1.0.0-RC/
Author: pauls Date: Thu Jul 12 14:03:05 2007 New Revision: 555762 URL: http://svn.apache.org/viewvc?view=revrev=555762 Log: Create the release candidate of the org.osgi.core for the 1.0.0 release Added: felix/releases/org.osgi.core-1.0.0-RC/ - copied from r555761, felix/trunk/org.osgi.core/
svn commit: r555763 - /felix/releases/pom-1.0.0-RC/
Author: pauls Date: Thu Jul 12 14:03:47 2007 New Revision: 555763 URL: http://svn.apache.org/viewvc?view=revrev=555763 Log: Create the release candidate of the parent pom for the 1.0.0 release Added: felix/releases/pom-1.0.0-RC/ - copied from r555762, felix/trunk/pom/
svn commit: r555764 - /felix/releases/shell-1.0.0-RC/
Author: pauls Date: Thu Jul 12 14:04:26 2007 New Revision: 555764 URL: http://svn.apache.org/viewvc?view=revrev=555764 Log: Create the release candidate of the shell for the 1.0.0 release Added: felix/releases/shell-1.0.0-RC/ - copied from r555763, felix/trunk/shell/
svn commit: r555987 - /felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java
Author: pauls Date: Fri Jul 13 06:31:25 2007 New Revision: 555987 URL: http://svn.apache.org/viewvc?view=revrev=555987 Log: Fix a NPE in manifest goal (FELIX-326) Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java?view=diffrev=555987r1=555986r2=555987 == --- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java (original) +++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java Fri Jul 13 06:31:25 2007 @@ -19,6 +19,7 @@ package org.apache.felix.bundleplugin; import java.io.File; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.HashMap; @@ -109,12 +110,17 @@ analyzer.setProperties( props ); -if ( project.getArtifact().getFile() == null ) +File file = project.getArtifact().getFile(); +if ( file == null ) { analyzer.setJar( getOutputDirectory() ); } else { +if ( !file.exists() ) +{ +file.mkdirs(); +} analyzer.setJar( project.getArtifact().getFile() ); }
svn commit: r556127 - /felix/releases/bundleplugin-1.0.0/
Author: pauls Date: Fri Jul 13 12:45:27 2007 New Revision: 556127 URL: http://svn.apache.org/viewvc?view=revrev=556127 Log: Create the 1.0.0 release snapshot of the bundleplugin Added: felix/releases/bundleplugin-1.0.0/ - copied from r556126, felix/trunk/bundleplugin/
svn commit: r556129 - /felix/releases/org.osgi.core-1.0.0/
Author: pauls Date: Fri Jul 13 12:47:12 2007 New Revision: 556129 URL: http://svn.apache.org/viewvc?view=revrev=556129 Log: Create the 1.0.0 release snapshot of the org.osgi.core Added: felix/releases/org.osgi.core-1.0.0/ - copied from r556128, felix/trunk/org.osgi.core/
svn commit: r556130 - /felix/releases/shell-1.0.0/
Author: pauls Date: Fri Jul 13 12:47:54 2007 New Revision: 556130 URL: http://svn.apache.org/viewvc?view=revrev=556130 Log: Create the 1.0.0 release snapshot of the shell Added: felix/releases/shell-1.0.0/ - copied from r556129, felix/trunk/shell/
svn commit: r556166 - /felix/trunk/commons/commons-email/pom.xml
Author: pauls Date: Fri Jul 13 15:29:11 2007 New Revision: 556166 URL: http://svn.apache.org/viewvc?view=revrev=556166 Log: Fix an oversight from the version move Modified: felix/trunk/commons/commons-email/pom.xml Modified: felix/trunk/commons/commons-email/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/commons/commons-email/pom.xml?view=diffrev=556166r1=556165r2=556166 == --- felix/trunk/commons/commons-email/pom.xml (original) +++ felix/trunk/commons/commons-email/pom.xml Fri Jul 13 15:29:11 2007 @@ -74,7 +74,6 @@ plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId - version0.9.0-incubator-SNAPSHOT/version version1.1.0-SNAPSHOT/version extensionstrue/extensions configuration
svn commit: r556398 - in /felix/releases: bundleplugin-1.0.0/ bundlerepository-1.0.0/ org.osgi.core-1.0.0/ pom-1.0.0/ shell-1.0.0/ shell.tui-1.0.0/
Author: pauls Date: Sun Jul 15 04:16:35 2007 New Revision: 556398 URL: http://svn.apache.org/viewvc?view=revrev=556398 Log: Copy LICENSE and NOTICE files to the correct location at the root of the projects. Added: felix/releases/bundleplugin-1.0.0/LICENSE - copied unchanged from r556131, felix/releases/bundleplugin-1.0.0/src/main/resources/META-INF/LICENSE felix/releases/bundleplugin-1.0.0/NOTICE - copied unchanged from r556131, felix/releases/bundleplugin-1.0.0/src/main/resources/META-INF/NOTICE felix/releases/bundlerepository-1.0.0/LICENSE - copied unchanged from r556131, felix/releases/bundlerepository-1.0.0/src/main/resources/META-INF/LICENSE felix/releases/bundlerepository-1.0.0/NOTICE - copied unchanged from r556131, felix/releases/bundlerepository-1.0.0/src/main/resources/META-INF/NOTICE felix/releases/org.osgi.core-1.0.0/LICENSE - copied unchanged from r556131, felix/releases/org.osgi.core-1.0.0/src/main/resources/META-INF/LICENSE felix/releases/org.osgi.core-1.0.0/NOTICE - copied unchanged from r556131, felix/releases/org.osgi.core-1.0.0/src/main/resources/META-INF/NOTICE felix/releases/pom-1.0.0/LICENSE felix/releases/pom-1.0.0/NOTICE felix/releases/shell-1.0.0/LICENSE - copied unchanged from r556131, felix/releases/shell-1.0.0/src/main/resources/META-INF/LICENSE felix/releases/shell-1.0.0/NOTICE - copied unchanged from r556131, felix/releases/shell-1.0.0/src/main/resources/META-INF/NOTICE felix/releases/shell.tui-1.0.0/LICENSE - copied unchanged from r556131, felix/releases/shell.tui-1.0.0/src/main/resources/META-INF/LICENSE felix/releases/shell.tui-1.0.0/NOTICE - copied unchanged from r556131, felix/releases/shell.tui-1.0.0/src/main/resources/META-INF/NOTICE Added: felix/releases/pom-1.0.0/LICENSE URL: http://svn.apache.org/viewvc/felix/releases/pom-1.0.0/LICENSE?view=autorev=556398 == --- felix/releases/pom-1.0.0/LICENSE (added) +++ felix/releases/pom-1.0.0/LICENSE Sun Jul 15 04:16:35 2007 @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + License shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + Licensor shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + Legal Entity shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + control means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + You (or Your) shall mean an individual or Legal Entity + exercising permissions granted by this License. + + Source form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + Object form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + Work shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + Derivative Works shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + Contribution shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, submitted + means any form
svn commit: r556699 - in /felix/trunk: bundleplugin/ bundlerepository/ framework/ main/ org.osgi.core/ pom/ shell.tui/ shell/
Author: pauls Date: Mon Jul 16 12:04:43 2007 New Revision: 556699 URL: http://svn.apache.org/viewvc?view=revrev=556699 Log: Copy LICENSE and NOTICE files to the root of the artifacts. Added: felix/trunk/bundleplugin/LICENSE - copied unchanged from r556696, felix/trunk/bundleplugin/src/main/resources/META-INF/LICENSE felix/trunk/bundleplugin/NOTICE - copied unchanged from r556696, felix/trunk/bundleplugin/src/main/resources/META-INF/NOTICE felix/trunk/bundlerepository/LICENSE - copied unchanged from r556696, felix/trunk/bundlerepository/src/main/resources/META-INF/LICENSE felix/trunk/bundlerepository/NOTICE - copied unchanged from r556696, felix/trunk/bundlerepository/src/main/resources/META-INF/NOTICE felix/trunk/framework/LICENSE - copied unchanged from r556696, felix/trunk/framework/src/main/resources/META-INF/LICENSE felix/trunk/framework/NOTICE - copied unchanged from r556696, felix/trunk/framework/src/main/resources/META-INF/NOTICE felix/trunk/main/LICENSE - copied unchanged from r556696, felix/trunk/main/src/main/resources/META-INF/LICENSE felix/trunk/main/NOTICE - copied unchanged from r556696, felix/trunk/main/src/main/resources/META-INF/NOTICE felix/trunk/org.osgi.core/LICENSE - copied unchanged from r556696, felix/trunk/org.osgi.core/src/main/resources/META-INF/LICENSE felix/trunk/org.osgi.core/NOTICE - copied unchanged from r556696, felix/trunk/org.osgi.core/src/main/resources/META-INF/NOTICE felix/trunk/pom/LICENSE felix/trunk/pom/NOTICE felix/trunk/shell.tui/LICENSE - copied unchanged from r556696, felix/trunk/shell.tui/src/main/resources/META-INF/LICENSE felix/trunk/shell.tui/NOTICE - copied unchanged from r556696, felix/trunk/shell.tui/src/main/resources/META-INF/NOTICE felix/trunk/shell/LICENSE - copied unchanged from r556696, felix/trunk/shell/src/main/resources/META-INF/LICENSE felix/trunk/shell/NOTICE - copied unchanged from r556696, felix/trunk/shell/src/main/resources/META-INF/NOTICE Added: felix/trunk/pom/LICENSE URL: http://svn.apache.org/viewvc/felix/trunk/pom/LICENSE?view=autorev=556699 == --- felix/trunk/pom/LICENSE (added) +++ felix/trunk/pom/LICENSE Mon Jul 16 12:04:43 2007 @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + License shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + Licensor shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + Legal Entity shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + control means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + You (or Your) shall mean an individual or Legal Entity + exercising permissions granted by this License. + + Source form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + Object form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + Work shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + Derivative Works shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + Contribution shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted
svn commit: r557740 - /felix/trunk/framework/pom.xml
Author: pauls Date: Thu Jul 19 12:09:24 2007 New Revision: 557740 URL: http://svn.apache.org/viewvc?view=revrev=557740 Log: Prepare the framework for the 1.0.0 release. Modified: felix/trunk/framework/pom.xml Modified: felix/trunk/framework/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/framework/pom.xml?view=diffrev=557740r1=557739r2=557740 == --- felix/trunk/framework/pom.xml (original) +++ felix/trunk/framework/pom.xml Thu Jul 19 12:09:24 2007 @@ -20,19 +20,19 @@ parent groupIdorg.apache.felix/groupId artifactIdfelix/artifactId -version1.1.0-SNAPSHOT/version +version1.0.0/version relativePath../pom/pom.xml/relativePath /parent modelVersion4.0.0/modelVersion packagingbundle/packaging nameApache Felix Framework/name artifactIdorg.apache.felix.framework/artifactId - version0.9.0-SNAPSHOT/version + version1.0.0/version dependencies dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.core/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version /dependency !--dependency We include ServiceTracker source code directly to avoid some @@ -48,7 +48,7 @@ plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId -version1.1.0-SNAPSHOT/version +version1.0.0/version extensionstrue/extensions configuration instructions @@ -60,28 +60,6 @@ Include-Resource{src/main/resources/},org/osgi/framework/=target/classes/org/osgi/framework//Include-Resource /instructions /configuration - /plugin - plugin -artifactIdmaven-dependency-plugin/artifactId -executions - execution -idunpack/id -phasepackage/phase -goals - goalunpack/goal -/goals -configuration - outputDirectory${project.build.outputDirectory}/outputDirectory - artifactItems -artifactItem - groupId${project.groupId}/groupId - artifactId${project.artifactId}/artifactId - version${project.version}/version -/artifactItem - /artifactItems -/configuration - /execution -/executions /plugin /plugins /build
svn commit: r557741 - in /felix/trunk/main: pom.xml src/main/resources/config.properties
Author: pauls Date: Thu Jul 19 12:09:54 2007 New Revision: 557741 URL: http://svn.apache.org/viewvc?view=revrev=557741 Log: Prepare the main subproject for the 1.0.0 release. Modified: felix/trunk/main/pom.xml felix/trunk/main/src/main/resources/config.properties Modified: felix/trunk/main/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/main/pom.xml?view=diffrev=557741r1=557740r2=557741 == --- felix/trunk/main/pom.xml (original) +++ felix/trunk/main/pom.xml Thu Jul 19 12:09:54 2007 @@ -20,19 +20,19 @@ parent groupIdorg.apache.felix/groupId artifactIdfelix/artifactId -version1.1.0-SNAPSHOT/version +version1.0.0/version relativePath../pom/pom.xml/relativePath /parent modelVersion4.0.0/modelVersion packagingbundle/packaging nameApache Felix Main/name artifactIdorg.apache.felix.main/artifactId - version0.9.0-SNAPSHOT/version + version1.0.0/version dependencies dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.framework/artifactId - version0.9.0-SNAPSHOT/version + version1.0.0/version exclusions exclusion groupId${pom.groupId}/groupId @@ -49,7 +49,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version exclusions exclusion groupId${pom.groupId}/groupId @@ -60,7 +60,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell.tui/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version exclusions exclusion groupId${pom.groupId}/groupId @@ -71,7 +71,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.bundlerepository/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version exclusions exclusion groupId${pom.groupId}/groupId @@ -92,7 +92,7 @@ plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId -version1.1.0-SNAPSHOT/version +version1.0.0/version extensionstrue/extensions configuration instructions @@ -107,6 +107,64 @@ /configuration /plugin plugin +groupIdorg.apache.maven.plugins/groupId +artifactIdmaven-dependency-plugin/artifactId +executions + execution +idunpack/id +phasevalidate/phase +goals + goalunpack/goal +/goals +configuration + outputDirectory${project.build.outputDirectory}/outputDirectory + artifactItems +artifactItem + groupId${pom.groupId}/groupId + artifactIdorg.apache.felix.framework/artifactId + version1.0.0/version +/artifactItem + /artifactItems +/configuration + /execution + execution +idcopy/id +phaseinstall/phase +goals + goalcopy/goal +/goals +configuration +artifactItems + artifactItem + groupId${pom.groupId}/groupId + artifactIdorg.apache.felix.shell/artifactId + version1.0.0/version + typejar/type + overWritetrue/overWrite + outputDirectory${project.build.directory}/bundle/outputDirectory + /artifactItem + artifactItem + groupId${pom.groupId}/groupId + artifactIdorg.apache.felix.shell.tui/artifactId + version1.0.0/version + typejar/type + overWritetrue/overWrite + outputDirectory${project.build.directory}/bundle/outputDirectory + /artifactItem + artifactItem + groupId${pom.groupId}/groupId + artifactIdorg.apache.felix.bundlerepository/artifactId + version1.0.0/version + typejar/type + overWritetrue/overWrite + outputDirectory${project.build.directory}/bundle/outputDirectory + /artifactItem + /artifactItems +/configuration + /execution +/executions + /plugin + plugin artifactIdmaven-antrun-plugin/artifactId executions execution @@ -118,17 +176,12 @@ delete dir=${basedir}/conf/ mkdir dir=${basedir}/conf/ delete dir=${basedir}/bundle/ -mkdir dir=${basedir}/bundle/ -copy file=${basedir}/target
svn commit: r557743 - /felix/releases/framework-1.0.0/
Author: pauls Date: Thu Jul 19 12:12:06 2007 New Revision: 557743 URL: http://svn.apache.org/viewvc?view=revrev=557743 Log: Copy the framework 1.0.0 release candidate Added: felix/releases/framework-1.0.0/ - copied from r557742, felix/trunk/framework/
svn commit: r557744 - /felix/releases/main-1.0.0/
Author: pauls Date: Thu Jul 19 12:12:42 2007 New Revision: 557744 URL: http://svn.apache.org/viewvc?view=revrev=557744 Log: Copy the main 1.0.0 release candidate Added: felix/releases/main-1.0.0/ - copied from r557743, felix/trunk/main/
svn commit: r557750 - in /felix/trunk: framework/pom.xml main/pom.xml main/src/main/resources/config.properties
Author: pauls Date: Thu Jul 19 12:42:00 2007 New Revision: 557750 URL: http://svn.apache.org/viewvc?view=revrev=557750 Log: Update the main and framework subprojects to 1.1.0-SNAPSHOT. Modified: felix/trunk/framework/pom.xml felix/trunk/main/pom.xml felix/trunk/main/src/main/resources/config.properties Modified: felix/trunk/framework/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/framework/pom.xml?view=diffrev=557750r1=557749r2=557750 == --- felix/trunk/framework/pom.xml (original) +++ felix/trunk/framework/pom.xml Thu Jul 19 12:42:00 2007 @@ -20,19 +20,19 @@ parent groupIdorg.apache.felix/groupId artifactIdfelix/artifactId -version1.0.0/version +version1.1.0-SNAPSHOT/version relativePath../pom/pom.xml/relativePath /parent modelVersion4.0.0/modelVersion packagingbundle/packaging nameApache Felix Framework/name artifactIdorg.apache.felix.framework/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version dependencies dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.core/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version /dependency !--dependency We include ServiceTracker source code directly to avoid some @@ -48,7 +48,7 @@ plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId -version1.0.0/version +version1.1.0-SNAPSHOT/version extensionstrue/extensions configuration instructions Modified: felix/trunk/main/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/main/pom.xml?view=diffrev=557750r1=557749r2=557750 == --- felix/trunk/main/pom.xml (original) +++ felix/trunk/main/pom.xml Thu Jul 19 12:42:00 2007 @@ -20,19 +20,19 @@ parent groupIdorg.apache.felix/groupId artifactIdfelix/artifactId -version1.0.0/version +version1.1.0-SNAPSHOT/version relativePath../pom/pom.xml/relativePath /parent modelVersion4.0.0/modelVersion packagingbundle/packaging nameApache Felix Main/name artifactIdorg.apache.felix.main/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version dependencies dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.framework/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version exclusions exclusion groupId${pom.groupId}/groupId @@ -49,7 +49,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version exclusions exclusion groupId${pom.groupId}/groupId @@ -60,7 +60,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell.tui/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version exclusions exclusion groupId${pom.groupId}/groupId @@ -71,7 +71,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.bundlerepository/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version exclusions exclusion groupId${pom.groupId}/groupId @@ -92,7 +92,7 @@ plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId -version1.0.0/version +version1.1.0-SNAPSHOT/version extensionstrue/extensions configuration instructions @@ -122,7 +122,7 @@ artifactItem groupId${pom.groupId}/groupId artifactIdorg.apache.felix.framework/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version /artifactItem /artifactItems /configuration @@ -138,7 +138,7 @@ artifactItem groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version typejar/type overWritetrue/overWrite outputDirectory${project.build.directory}/bundle/outputDirectory @@ -146,7 +146,7 @@ artifactItem groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell.tui/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version typejar/type overWritetrue/overWrite outputDirectory${project.build.directory}/bundle/outputDirectory @@ -154,7 +154,7 @@ artifactItem groupId
svn commit: r566323 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java
Author: pauls Date: Wed Aug 15 13:11:50 2007 New Revision: 566323 URL: http://svn.apache.org/viewvc?view=revrev=566323 Log: Fix a bug in the Framework FilterImpl which makes it not thread safe on execution (FELIX-338). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java?view=diffrev=566323r1=566322r2=566323 == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java Wed Aug 15 13:11:50 2007 @@ -21,6 +21,7 @@ import java.io.CharArrayReader; import java.io.IOException; import java.util.*; +import java.lang.ref.SoftReference; import org.apache.felix.framework.util.StringMap; import org.apache.felix.framework.util.ldap.*; @@ -34,10 +35,10 @@ **/ public class FilterImpl implements Filter { -private Logger m_logger = null; -private String m_toString = null; -private Evaluator m_evaluator = null; -private SimpleMapper m_mapper = null; +private final ThreadLocal m_cache = new ThreadLocal(); +private final Logger m_logger; +private final Object[] m_program; +private volatile String m_toString; // TODO: FilterImpl needs a logger, this is a hack for FrameworkUtil. public FilterImpl(String expr) throws InvalidSyntaxException @@ -57,32 +58,28 @@ throw new InvalidSyntaxException(Filter cannot be null, null); } -if (expr != null) +CharArrayReader car = new CharArrayReader(expr.toCharArray()); +LdapLexer lexer = new LdapLexer(car); +Parser parser = new Parser(lexer); +try { -CharArrayReader car = new CharArrayReader(expr.toCharArray()); -LdapLexer lexer = new LdapLexer(car); -Parser parser = new Parser(lexer); -try -{ -if (!parser.start()) -{ -throw new InvalidSyntaxException( -Failed to parse LDAP query., expr); -} -} -catch (ParseException ex) -{ -throw new InvalidSyntaxException( -ex.getMessage(), expr); -} -catch (IOException ex) +if (!parser.start()) { throw new InvalidSyntaxException( -ex.getMessage(), expr); +Failed to parse LDAP query., expr); } -m_evaluator = new Evaluator(parser.getProgram()); -m_mapper = new SimpleMapper(); } +catch (ParseException ex) +{ +throw new InvalidSyntaxException( + ex.getMessage(), expr); +} +catch (IOException ex) +{ +throw new InvalidSyntaxException( +ex.getMessage(), expr); +} +m_program = parser.getProgram(); } /** @@ -114,29 +111,43 @@ return toString().hashCode(); } -/** - * Filter using a ttDictionary/tt object. The ttFilter/tt - * is executed using the ttDictionary/tt object's keys and values. - * @param dict the ttDictionary/tt object whose keys and values - * are used to determine a match. - * @return tttrue/tt if the ttDictionary/tt object's keys - * and values match this filter; ttfalse/tt otherwise. - * @throws IllegalArgumentException if the dictionary contains case - * variants of the same key name. -**/ -public boolean match(Dictionary dict) +private boolean match(Dictionary dict, ServiceReference ref, boolean caseSensitive) throws IllegalArgumentException { -try +SoftReference tupleRef = (SoftReference) m_cache.get(); +Evaluator evaluator = null; +SimpleMapper mapper = null; +Object[] tuple = null; + +if (tupleRef != null) +{ +tuple = (Object[]) tupleRef.get(); +} + +if (tuple == null) { -// Since the mapper instance is reused, we should -// null the source after use to avoid potential -// garbage collection issues. -m_mapper.setSource(dict, false); -boolean result = m_evaluator.evaluate(m_mapper); -m_mapper.setSource(null, false); -return result; +evaluator = new Evaluator(m_program); +mapper = new SimpleMapper(); } +else +{ +evaluator = (Evaluator) tuple[0]; +mapper = (SimpleMapper) tuple[1]; +} + +try +{ +if (dict != null
svn commit: r575026 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java
Author: pauls Date: Wed Sep 12 11:05:12 2007 New Revision: 575026 URL: http://svn.apache.org/viewvc?rev=575026view=rev Log: Fix a couple of issues with the LDAP filter most noticeably, attributes where limited to [a-zA-Z ] so didn't allow for e.g., numbers. Furthermore, I added some functionality to match the 4.1 spec (values may now be Collections not only Vectors). Thanks goes to Angelo van der Sijpt and Jorg Hollenberg for providing me with valuable test cases (and pointing out the diff between the 4.0 and 4.1 spec). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java?rev=575026r1=575025r2=575026view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Wed Sep 12 11:05:12 2007 @@ -38,14 +38,6 @@ public static final char RPAREN = ')'; public static final char STAR = '*'; -// Define the list of legal leading and trailing -// characters in an attribute name. -public static final String ATTRIBUTECHARS0 = -.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_; -// Define the list of legal internal characters in an attribute name. -public static final String ATTRIBUTECHARS1 = -.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_ ; - // Define an enum for substring procedure public static final int SIMPLE = 0; public static final int PRESENT = 1; @@ -65,8 +57,8 @@ // Flag indicating presense of BigDecimal. private static boolean m_hasBigDecimal = false; - - private static final Class[] STRING_CLASS = new Class[] { String.class }; + +private static final Class[] STRING_CLASS = new Class[] { String.class }; static { @@ -179,7 +171,7 @@ int cnt = filterlist(); if (cnt == 0) { -return false; +return item((c == '') ? : |); } // Code: [And|Or](cnt) program.add( @@ -191,21 +183,21 @@ lexer.get(); if (!filter()) { -return false; +return item(!); } // Code: Not() program.add(new NotOperator()); return true; +case '=': +case '': +case '': +case '~': +case '(': +case ')': case EOF : return false; default : -// check for key -if (ATTRIBUTECHARS0.indexOf(c) = 0) -{ -return false; -} -boolean b = item(); -return b; +return item(); } } @@ -234,16 +226,15 @@ present ::= attr '=*' substring ::= attr '=' initial any final */ -boolean item() throws ParseException, IOException +boolean item(String start) throws ParseException, IOException { debug(item); -StringBuffer attr = new StringBuffer(); +StringBuffer attr = new StringBuffer(start); if (!attribute(attr)) { return false; } - lexer.skipwhitespace(); // assume allowable before equal operator // note: I treat the =* case as = followed by a special substring int op = equalop(); @@ -326,27 +317,46 @@ { debug(attribute); lexer.skipwhitespace(); -buf.setLength(0); -int c = lexer.peek(); // need to make sure there +int c = lexer.peek(); +// need to make sure there // is at least one KEYCHAR -if (c == EOF) +switch (c) { -return false; -} -if (ATTRIBUTECHARS0.indexOf(c) 0) -{ -return false; +case '=': +case '': +case '': +case '~': +case '(': +case ')': +case EOF: +return false; +default: +break; } -do +boolean parsing = true; +while (parsing) { buf.append((char) lexer.get()); +c = lexer.peek(); +switch (c) +{ +case '=': +case '': +case '': +case '~': +case '(': +case ')': +case EOF: +parsing = false
svn commit: r575034 - /felix/trunk/main/pom.xml
Author: pauls Date: Wed Sep 12 11:18:40 2007 New Revision: 575034 URL: http://svn.apache.org/viewvc?rev=575034view=rev Log: Rollback to previous version of the pom since top-level build fails. Modified: felix/trunk/main/pom.xml Modified: felix/trunk/main/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/main/pom.xml?rev=575034r1=575033r2=575034view=diff == --- felix/trunk/main/pom.xml (original) +++ felix/trunk/main/pom.xml Wed Sep 12 11:18:40 2007 @@ -92,7 +92,7 @@ plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId -version1.0.0/version +version1.1.0-SNAPSHOT/version extensionstrue/extensions configuration instructions @@ -100,7 +100,7 @@ Main-Classorg.apache.felix.main.Main/Main-Class Bundle-NameApache Felix/Bundle-Name Bundle-DescriptionOSGi R4 framework./Bundle-Description - Private-Packageorg.apache.felix.main.*,org.apache.felix.moduleloader.*,org.apache.felix.framework.*,org.osgi.framework;-split-package:=merge-last,org.osgi.service.packageadmin;-split-package:=merge-last,org.osgi.service.startlevel;-split-package:=merge-last,org.osgi.service.url;-split-package:=merge-last,org.osgi.util.tracker;-split-package:=merge-last/Private-Package + Private-Packageorg.apache.felix.main.*,org.apache.felix.moduleloader.*,org.apache.felix.framework.*,org.osgi.framework,org.osgi.service.packageadmin,org.osgi.service.startlevel,org.osgi.service.url,org.osgi.util.tracker/Private-Package Import-Package!*/Import-Package Include-Resource{src/main/resources/}/Include-Resource /instructions @@ -110,6 +110,23 @@ groupIdorg.apache.maven.plugins/groupId artifactIdmaven-dependency-plugin/artifactId executions + execution +idunpack/id +phasevalidate/phase +goals + goalunpack/goal +/goals +configuration + outputDirectory${project.build.outputDirectory}/outputDirectory + artifactItems +artifactItem + groupId${pom.groupId}/groupId + artifactIdorg.apache.felix.framework/artifactId + version1.1.0-SNAPSHOT/version +/artifactItem + /artifactItems +/configuration + /execution execution idcopy/id phaseinstall/phase
svn commit: r575376 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
Author: pauls Date: Thu Sep 13 10:25:13 2007 New Revision: 575376 URL: http://svn.apache.org/viewvc?rev=575376view=rev Log: Enable support for exporting the same package more then once (FELIX-101). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java?rev=575376r1=575375r2=575376view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java Thu Sep 13 10:25:13 2007 @@ -119,32 +119,20 @@ ICapability[] exportCaps = parseExportHeader( (String) headerMap.get(Constants.EXPORT_PACKAGE)); -// Create non-duplicated export array. -dupeMap.clear(); +// Verify that java.* packages are not exported. for (int capIdx = 0; capIdx exportCaps.length; capIdx++) { // Verify that the named package has not already been declared. String pkgName = (String) exportCaps[capIdx].getProperties().get(ICapability.PACKAGE_PROPERTY); -if (dupeMap.get(pkgName) == null) +// Verify that java.* packages are not exported. +if (pkgName.startsWith(java.)) { -// Verify that java.* packages are not exported. -if (pkgName.startsWith(java.)) -{ -throw new BundleException( -Exporting java.* packages not allowed: + pkgName); -} -dupeMap.put(pkgName, exportCaps[capIdx]); -} -else -{ -// TODO: FRAMEWORK - Exports can be duplicated, so fix this. -m_logger.log(Logger.LOG_WARNING, Duplicate export - + pkgName); +throw new BundleException( +Exporting java.* packages not allowed: + pkgName); } +capList.add(exportCaps[capIdx]); } - -// Add export package capabilities to capability list. -capList.addAll(dupeMap.values()); // Create an array of all capabilities. m_capabilities = (ICapability[]) capList.toArray(new ICapability[capList.size()]);
svn commit: r575471 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: pauls Date: Thu Sep 13 14:40:46 2007 New Revision: 575471 URL: http://svn.apache.org/viewvc?rev=575471view=rev Log: Per spec a call to PackageAdmin.getBundle(Class) should return the Bundle that has the classloader that loaded this class. We only return the bundle if it is a real one (i.e., not the system bundle). This returns the system bundle in case the class comes from the classloader (or one of its parents) that loaded Felix and the system bundle exports the package. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=575471r1=575470r2=575471view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Thu Sep 13 14:40:46 2007 @@ -2839,7 +2839,7 @@ } } } -return null; +return (getInfo().getCurrentModule().getClass(clazz.getName()) == clazz) ? this : null; } /**
svn commit: r576161 - in /felix/trunk/framework/src/main/java/org/apache/felix/framework: Felix.java searchpolicy/R4SearchPolicyCore.java
Author: pauls Date: Sun Sep 16 12:53:22 2007 New Revision: 576161 URL: http://svn.apache.org/viewvc?rev=576161view=rev Log: Fix a few issues with exporting the same package more then once and handle modified module definitions to make extension bundle exports work again (FELIX-30, FELIX-101). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=576161r1=576160r2=576161view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Sun Sep 16 12:53:22 2007 @@ -40,7 +40,7 @@ // The extension manager to handle extension bundles private ExtensionManager m_extensionManager; - + // Logging related member variables. private Logger m_logger = null; // TODO: KARL - Why package private? // Immutable config properties. @@ -265,7 +265,7 @@ m_factory = new ModuleFactoryImpl(m_logger); m_systemBundleInfo = new BundleInfo( m_logger, new SystemBundleArchive(m_cache), null); -m_extensionManager = +m_extensionManager = new ExtensionManager(m_logger, m_configMap, m_systemBundleInfo); m_systemBundleInfo.addModule( m_factory.createModule(0, m_extensionManager)); @@ -783,7 +783,7 @@ // bundle ID from persistent storage. In case of failure, we should // keep the max value. m_nextId = Math.max(m_nextId, loadNextId()); - + // Get the framework's default start level. int startLevel = FelixConstants.FRAMEWORK_DEFAULT_STARTLEVEL; String s = (String) m_configMap.get(FelixConstants.FRAMEWORK_STARTLEVEL_PROP); @@ -1727,7 +1727,7 @@ new AdminPermission(bundle, AdminPermission.LIFECYCLE)); } -// We need to check whether this is an update to an +// We need to check whether this is an update to an // extension bundle (info.isExtension) or an update from // a normal bundle to an extension bundle // (isExtensionBundle()) @@ -1744,12 +1744,13 @@ // If this is an update from a normal to an extension bundle // then attach the extension or else if this already is -// an extension bundle then done allow it to be resolved +// an extension bundle then done allow it to be resolved // again as per spec. if (!bundle.getInfo().isExtension() m_extensionManager.isExtensionBundle(bundle.getInfo().getCurrentHeader())) { m_extensionManager.addExtensionBundle(this, bundle); + m_factory.refreshModule(m_systemBundleInfo.getCurrentModule()); bundle.getInfo().setState(Bundle.RESOLVED); } else if (bundle.getInfo().isExtension()) @@ -1803,9 +1804,12 @@ for (int i = 0; !used (i modules.length); i++) { IModule[] dependents = ((ModuleImpl) modules[i]).getDependents(); -if ((dependents != null) (dependents.length 0)) +for (int j = 0; (dependents != null) (j dependents.length) !used; j++) { -used = true; +if (dependents[j] != modules[i]) +{ +used = true; +} } } @@ -2065,9 +2069,12 @@ for (int i = 0; !used (i modules.length); i++) { IModule[] dependents = ((ModuleImpl) modules[i]).getDependents(); -if ((dependents != null) (dependents.length 0)) +for (int j = 0; (dependents != null) (j dependents.length) !used; j++) { -used = true; +if (dependents[j] != modules[i]) +{ +used = true; +} } } @@ -2239,6 +2246,7 @@ else { m_extensionManager.addExtensionBundle(this, bundle); + m_factory.refreshModule(m_systemBundleInfo.getCurrentModule()); } } @@ -2289,8 +2297,8 @@ { m_installedBundleMap.put(location, bundle
svn commit: r576175 - /felix/trunk/main/doc/changelog.txt
Author: pauls Date: Sun Sep 16 14:02:32 2007 New Revision: 576175 URL: http://svn.apache.org/viewvc?rev=576175view=rev Log: Update the changelog in preparation of the 1.0.1 release. Modified: felix/trunk/main/doc/changelog.txt Modified: felix/trunk/main/doc/changelog.txt URL: http://svn.apache.org/viewvc/felix/trunk/main/doc/changelog.txt?rev=576175r1=576174r2=576175view=diff == --- felix/trunk/main/doc/changelog.txt (original) +++ felix/trunk/main/doc/changelog.txt Sun Sep 16 14:02:32 2007 @@ -1,3 +1,9 @@ +Changes from 1.0.0 to 1.0.1 +--- + +* [2007-09-16] Update to framework version 1.0.1. + + Changes from 0.8.0-incubator to 1.0.0 -
svn commit: r576607 - in /felix/trunk: framework/pom.xml main/pom.xml main/src/main/resources/config.properties
Author: pauls Date: Mon Sep 17 15:16:09 2007 New Revision: 576607 URL: http://svn.apache.org/viewvc?rev=576607view=rev Log: Downgrade the framework and main projects for the 1.0.1 release snapshot. Modified: felix/trunk/framework/pom.xml felix/trunk/main/pom.xml felix/trunk/main/src/main/resources/config.properties Modified: felix/trunk/framework/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/framework/pom.xml?rev=576607r1=576606r2=576607view=diff == --- felix/trunk/framework/pom.xml (original) +++ felix/trunk/framework/pom.xml Mon Sep 17 15:16:09 2007 @@ -20,19 +20,19 @@ parent groupIdorg.apache.felix/groupId artifactIdfelix/artifactId -version1.1.0-SNAPSHOT/version +version1.0.0/version relativePath../pom/pom.xml/relativePath /parent modelVersion4.0.0/modelVersion packagingbundle/packaging nameApache Felix Framework/name artifactIdorg.apache.felix.framework/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version dependencies dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.core/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version /dependency !--dependency We include ServiceTracker source code directly to avoid some Modified: felix/trunk/main/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/main/pom.xml?rev=576607r1=576606r2=576607view=diff == --- felix/trunk/main/pom.xml (original) +++ felix/trunk/main/pom.xml Mon Sep 17 15:16:09 2007 @@ -20,19 +20,19 @@ parent groupIdorg.apache.felix/groupId artifactIdfelix/artifactId -version1.1.0-SNAPSHOT/version +version1.0.0/version relativePath../pom/pom.xml/relativePath /parent modelVersion4.0.0/modelVersion packagingbundle/packaging nameApache Felix Main/name artifactIdorg.apache.felix.main/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version dependencies dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.framework/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version exclusions exclusion groupId${pom.groupId}/groupId @@ -49,7 +49,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version exclusions exclusion groupId${pom.groupId}/groupId @@ -60,7 +60,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell.tui/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version exclusions exclusion groupId${pom.groupId}/groupId @@ -71,7 +71,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.bundlerepository/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version exclusions exclusion groupId${pom.groupId}/groupId @@ -92,7 +92,7 @@ plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId -version1.1.0-SNAPSHOT/version +version1.0.0/version extensionstrue/extensions configuration instructions @@ -122,7 +122,7 @@ artifactItem groupId${pom.groupId}/groupId artifactIdorg.apache.felix.framework/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version /artifactItem /artifactItems /configuration @@ -138,7 +138,7 @@ artifactItem groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version typejar/type overWritetrue/overWrite outputDirectory${project.build.directory}/bundle/outputDirectory @@ -146,7 +146,7 @@ artifactItem groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell.tui/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version typejar/type overWritetrue/overWrite outputDirectory${project.build.directory}/bundle/outputDirectory @@ -154,7 +154,7 @@ artifactItem groupId${pom.groupId}/groupId artifactIdorg.apache.felix.bundlerepository/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version typejar/type overWritetrue
svn commit: r576609 - /felix/releases/framework-1.0.1/
Author: pauls Date: Mon Sep 17 15:18:03 2007 New Revision: 576609 URL: http://svn.apache.org/viewvc?rev=576609view=rev Log: Create the framework 1.0.1 release snapshot. Added: felix/releases/framework-1.0.1/ - copied from r576608, felix/trunk/framework/
svn commit: r590492 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
Author: pauls Date: Tue Oct 30 15:19:58 2007 New Revision: 590492 URL: http://svn.apache.org/viewvc?rev=590492view=rev Log: Change how the extension manager url stream handler handles request to the root path in order to make some tomcat issue go away (FELIX-414). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java?rev=590492r1=590491r2=590492view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Tue Oct 30 15:19:58 2007 @@ -512,7 +512,13 @@ if (path.trim().equals(/)) { -throw new IOException(Resource not provided by any extension!); +return new URLConnection(url) +{ +public void connect() throws IOException +{ +throw new IOException(Resource not provided by any extension!); +} +}; } for (Iterator iter = m_extensions.iterator(); iter.hasNext();)
svn commit: r592553 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: pauls Date: Tue Nov 6 13:09:10 2007 New Revision: 592553 URL: http://svn.apache.org/viewvc?rev=592553view=rev Log: Added a simple check to detect and work around a bug in J9 (FELIX-416) Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=592553r1=592552r2=592553view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Tue Nov 6 13:09:10 2007 @@ -219,7 +219,7 @@ // Initialize member variables. m_configMutableMap = (configMutableMap == null) ? new StringMap(false) : configMutableMap; -m_configMap = Collections.unmodifiableMap(m_configMutableMap); +m_configMap = createUnmodifiableMap(m_configMutableMap); m_activatorList = activatorList; // Create logger with appropriate log level. Even though the @@ -269,6 +269,26 @@ new ExtensionManager(m_logger, m_configMap, m_systemBundleInfo); m_systemBundleInfo.addModule( m_factory.createModule(0, m_extensionManager)); +} + +private Map createUnmodifiableMap(Map mutableMap) +{ +Map result = Collections.unmodifiableMap(mutableMap); + +// Work around a bug in certain version of J9 where a call to +// Collections.unmodifiableMap().keySet().iterator() throws +// a NoClassDefFoundError. We try to detect this and return +// the given mutableMap instead. +try +{ +result.keySet().iterator(); +} +catch (NoClassDefFoundError ex) +{ +return mutableMap; +} + +return result; } //
svn commit: r598080 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: pauls Date: Sun Nov 25 15:08:12 2007 New Revision: 598080 URL: http://svn.apache.org/viewvc?rev=598080view=rev Log: Degrate to version 0.0.0 if we can not find the Felix.properties for some reason and avoid a null pointer in this case. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=598080r1=598079r2=598080view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Sun Nov 25 15:08:12 2007 @@ -3590,13 +3590,16 @@ // The framework version property. Properties props = new Properties(); InputStream in = Felix.class.getResourceAsStream(Felix.properties); -try +if (in != null) { -props.load(in); -} -catch (IOException ex) -{ -ex.printStackTrace(); +try +{ +props.load(in); +} +catch (IOException ex) +{ +ex.printStackTrace(); +} } // Maven uses a '-' to separate the version qualifier, @@ -3604,7 +3607,7 @@ StringBuffer sb = new StringBuffer( props.getProperty( -FelixConstants.FELIX_VERSION_PROPERTY, unknown)); +FelixConstants.FELIX_VERSION_PROPERTY, 0.0.0)); if (sb.toString().indexOf(-) = 0) { sb.setCharAt(sb.toString().indexOf(-), '.');
svn commit: r598084 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
Author: pauls Date: Sun Nov 25 15:11:00 2007 New Revision: 598084 URL: http://svn.apache.org/viewvc?rev=598084view=rev Log: Fix a small oversight in the extension manager that could lead to a null pointer exception and save some memory by creating less objects. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java?rev=598084r1=598083r2=598084view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Sun Nov 25 15:11:00 2007 @@ -112,15 +112,17 @@ private Set m_exportNames = null; private ISearchPolicy m_searchPolicy = null; private IURLPolicy m_urlPolicy = null; -private final List m_extensions = new ArrayList(); -private final Set m_names = new HashSet(); -private final Map m_sourceToExtensions = new HashMap(); +private final List m_extensions; +private final Set m_names; +private final Map m_sourceToExtensions; // This constructor is only used for the private instance added to the parent // classloader. private ExtensionManager() { - +m_extensions = new ArrayList(); +m_names = new HashSet(); +m_sourceToExtensions = new HashMap(); } /** @@ -136,6 +138,9 @@ */ ExtensionManager(Logger logger, Map configMap, BundleInfo systemBundleInfo) { +m_extensions = null; +m_names = null; +m_sourceToExtensions = null; m_logger = logger; m_systemBundleInfo = systemBundleInfo; @@ -262,7 +267,7 @@ } // Add the bundle as extension if we support extensions -if (this != null) +if (m_extensionManager != null) { // This needs to be the private instance. m_extensionManager.addExtension(felix, bundle); @@ -339,7 +344,10 @@ */ void removeExtensions(Felix felix) { -m_extensionManager._removeExtensions(felix); +if (m_extensionManager != null) +{ +m_extensionManager._removeExtensions(felix); +} } //
svn commit: r604054 - in /felix/trunk/framework/src/main/java/org/apache/felix/framework: ExtensionManager.java URLHandlers.java
Author: pauls Date: Thu Dec 13 14:43:29 2007 New Revision: 604054 URL: http://svn.apache.org/viewvc?rev=604054view=rev Log: Fix a StackOverflowError in URLHandlers.createStreamHandler() when creating URL on jamvm and Mika. This patch resolves an unfortunate interaction between our ExtensionManager and the URLHandlers by making the URLHandlers aware of the extension protocol. Pretty much like we do already for the bundle protocol. (FELIX-435) Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java?rev=604054r1=604053r2=604054view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Thu Dec 13 14:43:29 2007 @@ -84,7 +84,7 @@ // The private instance that is added to Felix.class.getClassLoader() - // will be null if extension bundles are not supported (i.e., we are not // loaded by an instance of URLClassLoader) -private static final ExtensionManager m_extensionManager; +static final ExtensionManager m_extensionManager; static { Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java?rev=604054r1=604053r2=604054view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java Thu Dec 13 14:43:29 2007 @@ -134,6 +134,22 @@ return handler; } +// If this is the framework's felix: extension protocol, then +// return the ExtensionManager.m_extensionManager handler for +// that immediately - this is a workaround for certain jvms that +// do a toString() on the extension url we add to the global +// URLClassloader. +if (protocol.equals(felix)) +{ +handler = ExtensionManager.m_extensionManager; +if (m_streamHandlerCache == null) +{ +m_streamHandlerCache = new HashMap(); +} +m_streamHandlerCache.put(protocol, handler); +return handler; +} + // If there is not cached handler, then search for built-in // handler or create a new handler proxy. if (handler == null)
svn commit: r605027 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
Author: pauls Date: Mon Dec 17 14:46:58 2007 New Revision: 605027 URL: http://svn.apache.org/viewvc?rev=605027view=rev Log: Make the win32 alias match any version of windows for native clauses (FELIX-438). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java?rev=605027r1=605026r2=605027view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java Mon Dec 17 14:46:58 2007 @@ -134,9 +134,19 @@ private boolean checkOSNames(String currentOSName, String[] osnames) { +boolean win32 = currentOSName.startsWith(win) +(currentOSName.equals(windows95) || +currentOSName.equals(windows98) || +currentOSName.equals(windowsnt) || +currentOSName.equals(windows2000) || +currentOSName.equals(windowsxp) || +currentOSName.equals(windowsce) || +currentOSName.equals(windowsvista)); + for (int i = 0; (osnames != null) (i osnames.length); i++) { -if (osnames[i].equals(currentOSName)) +if (osnames[i].equals(currentOSName) || +(win32.equals(osnames[i]) win32)) { return true; } @@ -369,6 +379,10 @@ else if (value.indexOf(ce) = 0) { os = windowsce; +} +else if (value.indexOf(vista) = 0) +{ +os = windowsvista; } return os; }
svn commit: r605346 - in /felix/trunk/framework/src/main/java/org/apache/felix/framework: cache/DirectoryRevision.java util/manifestparser/ManifestParser.java util/manifestparser/R4Library.java
Author: pauls Date: Tue Dec 18 14:39:00 2007 New Revision: 605346 URL: http://svn.apache.org/viewvc?rev=605346view=rev Log: Improve native code loading - bundle installation will now fail in case a native library is not in the jar and we only use the first library of a given name. Furthermore, we now support .dylib extensions on the mac as well as others (should make it possible to use .netmodules as well) FELIX-439. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4Library.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java?rev=605346r1=605345r2=605346view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java Tue Dec 18 14:39:00 2007 @@ -176,9 +176,16 @@ } // TODO: This will need to consider security. -public String findLibrary(String libName) throws Exception +public String findLibrary(String libName) throws Exception { -return BundleCache.getSecureAction().getAbsolutePath(new File(m_refDir, libName)); +String result = BundleCache.getSecureAction().getAbsolutePath(new File(m_refDir, libName)); + +if (result == null) +{ +throw new IOException(No such file: + libName); +} + +return result; } public void dispose() throws Exception Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java?rev=605346r1=605345r2=605346view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java Tue Dec 18 14:39:00 2007 @@ -295,17 +295,51 @@ if (clause != null) { -R4Library[] libraries = new R4Library[clause.getLibraryFiles().length]; -for (int i = 0; i libraries.length; i++) +String[] files = clause.getLibraryFiles(); +R4Library[] libraries = new R4Library[files.length]; +int current = 0; +try { -libraries[i] = new R4Library( -m_logger, revision, clause.getLibraryFiles()[i], -clause.getOSNames(), clause.getProcessors(), clause.getOSVersions(), -clause.getLanguages(), clause.getSelectionFilter()); +for (int i = 0; i libraries.length; i++) +{ +String name = getName(files[i]); +boolean found = false; +for (int j = 0; !found (j current); j++) +{ +found = getName(files[j]).equals(name); +} +if (!found) +{ +libraries[current++] = new R4Library( +m_logger, revision, clause.getLibraryFiles()[i], +clause.getOSNames(), clause.getProcessors(), clause.getOSVersions(), +clause.getLanguages(), clause.getSelectionFilter()); +} +} +if (current libraries.length) +{ +R4Library[] tmp = new R4Library[current]; +System.arraycopy(libraries, 0, tmp, 0, current); +libraries = tmp; +} +return libraries; +} +catch (Exception ex) +{ +throw new BundleException(Unable to create library, ex); } -return libraries; } return null; +} + +private String getName(String path) +{ +int idx = path.lastIndexOf('/'); +if (idx -1) +{ +return path.substring(idx); +} +return path; } private R4LibraryClause getSelectedLibraryClause() throws BundleException Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4Library.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org
svn commit: r605354 - in /felix/trunk/framework/src/main/java/org/apache/felix: framework/searchpolicy/ContentClassLoader.java moduleloader/JarContent.java
Author: pauls Date: Tue Dec 18 15:05:12 2007 New Revision: 605354 URL: http://svn.apache.org/viewvc?rev=605354view=rev Log: Add support for loading bundles on Google Android (FELIX-440). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java felix/trunk/framework/src/main/java/org/apache/felix/moduleloader/JarContent.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java?rev=605354r1=605353r2=605354view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java Tue Dec 18 15:05:12 2007 @@ -18,25 +18,59 @@ */ package org.apache.felix.framework.searchpolicy; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; import java.net.URL; import java.security.ProtectionDomain; import java.security.SecureClassLoader; import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; import org.apache.felix.framework.util.Util; +import org.apache.felix.moduleloader.IContent; import org.apache.felix.moduleloader.IContentLoader; +import org.apache.felix.moduleloader.JarContent; import org.apache.felix.moduleloader.ResourceNotFoundException; public class ContentClassLoader extends SecureClassLoader { +private static final Constructor m_dexFileClassConstructor; +private static final Method m_dexFileClassLoadClass; +static +{ +Constructor dexFileClassConstructor = null; +Method dexFileClassLoadClass = null; +try +{ +Class dexFileClass = Class.forName(android.dalvik.DexFile); +dexFileClassConstructor = dexFileClass.getConstructor( +new Class[] { java.io.File.class }); +dexFileClassLoadClass = dexFileClass.getMethod(loadClass, +new Class[] { String.class, ClassLoader.class }); +} +catch (Exception ex) +{ + dexFileClassConstructor = null; + dexFileClassLoadClass = null; +} +m_dexFileClassConstructor = dexFileClassConstructor; +m_dexFileClassLoadClass = dexFileClassLoadClass; +} + private ContentLoaderImpl m_contentLoader = null; private ProtectionDomain m_protectionDomain = null; +private Map m_jarContentToDexFile = null; public ContentClassLoader(ContentLoaderImpl contentLoader, ProtectionDomain protectionDomain) { m_contentLoader = contentLoader; m_protectionDomain = protectionDomain; +if (m_dexFileClassConstructor != null) +{ +m_jarContentToDexFile = new HashMap(); +} } public IContentLoader getContentLoader() @@ -102,14 +136,17 @@ if (clazz == null) { String actual = name.replace('.', '/') + .class; -byte[] bytes = null; +byte[] bytes = null; + +IContent content = null; // Check the module class path. for (int i = 0; (bytes == null) (i m_contentLoader.getClassPath().length); i++) { bytes = m_contentLoader.getClassPath()[i].getEntry(actual); +content = m_contentLoader.getClassPath()[i]; } if (bytes != null) @@ -154,17 +191,33 @@ } } -// If we have a security context, then use it to -// define the class with it for security purposes, -// otherwise define the class without a protection domain. -if (m_protectionDomain != null) +// If we can load the class from a dex file do so +if (content instanceof JarContent) { -clazz = defineClass(name, bytes, 0, bytes.length, -m_protectionDomain); +try +{ +clazz = getDexFileClass((JarContent) content, name, this); +} +catch (Exception ex) +{ +// Looks like we can't +} } -else + +if (clazz == null) { -clazz = defineClass(name, bytes, 0, bytes.length); +// If we have a security
svn commit: r612230 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java
Author: pauls Date: Tue Jan 15 13:20:25 2008 New Revision: 612230 URL: http://svn.apache.org/viewvc?rev=612230view=rev Log: Try to fix a potential visibility issue on loading a class form a bundle where it seems to be possible that we create two classloaders instead of one. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java?rev=612230r1=612229r2=612230view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java Tue Jan 15 13:20:25 2008 @@ -110,10 +110,13 @@ public Class getClass(String name) { -if (m_classLoader == null) +synchronized (this) { -m_classLoader = m_secureAction.createContentClassLoader(this, -m_protectionDomain); +if (m_classLoader == null) +{ +m_classLoader = m_secureAction.createContentClassLoader(this, +m_protectionDomain); +} } try
svn commit: r615079 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java
Author: pauls Date: Thu Jan 24 15:27:58 2008 New Revision: 615079 URL: http://svn.apache.org/viewvc?rev=615079view=rev Log: Make FilterImpl.toString() add escape characters where needed (FELIX-471). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java?rev=615079r1=615078r2=615079view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Thu Jan 24 15:27:58 2008 @@ -1044,7 +1044,7 @@ public void toStringInfix(StringBuffer b) { -b.append(val.toString()); +appendEscaped(b, val.toString()); } } @@ -1195,12 +1195,12 @@ b.append(=); for (int i = 0; i pieces.length; i++) { -String piece = (String) pieces[i]; +String piece = pieces[i]; if (i 0) { b.append(*); } -b.append(piece); +appendEscaped(b, piece); } b.append()); } @@ -1374,6 +1374,19 @@ return false; } +private static void appendEscaped(StringBuffer buf, String value) +{ +for (int i = 0; i value.length(); i++) +{ +char c = value.charAt(i); +if (c == '(' || c == ')' || c == '*' || c == '\\') +{ +buf.append('\\'); +} +buf.append(c); +} +} + /** * This is an ugly utility method to convert an array of primitives * to an array of primitive wrapper objects. This method simplifies
svn commit: r615635 - /felix/trunk/main/doc/changelog.txt
Author: pauls Date: Sun Jan 27 11:49:38 2008 New Revision: 615635 URL: http://svn.apache.org/viewvc?rev=615635view=rev Log: Update changelog Modified: felix/trunk/main/doc/changelog.txt Modified: felix/trunk/main/doc/changelog.txt URL: http://svn.apache.org/viewvc/felix/trunk/main/doc/changelog.txt?rev=615635r1=615634r2=615635view=diff == --- felix/trunk/main/doc/changelog.txt (original) +++ felix/trunk/main/doc/changelog.txt Sun Jan 27 11:49:38 2008 @@ -1,3 +1,23 @@ +Changes from 1.0.1 to 1.0.2 +--- + +* [2008-01-27] Added launching and embedding docs to main project. +* [2008-01-22] Update to maven-bundle-plugin version 1.2.0. +* [2008-01-07] Modifed default launcher in Main to separate out + auto-property processing so that it is easier to reuse the code in + custom launchers. (FELIX-448) +* [2007-12-14] Removed auto-property processing out of the framework and + into the default launcher. (FELIX-393) +* [2007-10-16] Use variable substitution via BND to define the properties + in default.properties from the properties in config.properties. + (FELIX-380) +* [2007-10-03] Added support to the Main launcher to use a default + embedded resource for setting the framework configuration properties + if the actual config.properties file cannot be loaded. (FELIX-380) +* [2007-09-20] Remove some packages for jre1.3 profile and add/remove a + few for 1.4, 1.5, and 1.6 (javax.crypto.*). (FELIX-371) + + Changes from 1.0.0 to 1.0.1 ---
svn commit: r615650 - /felix/releases/bundlerepository-1.0.1/
Author: pauls Date: Sun Jan 27 13:09:11 2008 New Revision: 615650 URL: http://svn.apache.org/viewvc?rev=615650view=rev Log: Cut the bundlerepository 1.0.1 release Added: felix/releases/bundlerepository-1.0.1/ - copied from r615649, felix/trunk/bundlerepository/
svn commit: r615646 - /felix/trunk/bundlerepository/pom.xml
Author: pauls Date: Sun Jan 27 13:06:34 2008 New Revision: 615646 URL: http://svn.apache.org/viewvc?rev=615646view=rev Log: Prepare bundlerepository 1.0.1 release. Modified: felix/trunk/bundlerepository/pom.xml Modified: felix/trunk/bundlerepository/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/pom.xml?rev=615646r1=615645r2=615646view=diff == --- felix/trunk/bundlerepository/pom.xml (original) +++ felix/trunk/bundlerepository/pom.xml Sun Jan 27 13:06:34 2008 @@ -28,7 +28,7 @@ nameApache Felix Bundle Repository/name descriptionBundle repository service./description artifactIdorg.apache.felix.bundlerepository/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version dependencies dependency groupId${pom.groupId}/groupId @@ -38,7 +38,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.1.0-SNAPSHOT/version + version1.0.0/version /dependency dependency groupIdnet.sf.kxml/groupId @@ -56,7 +56,7 @@ configuration instructions Export-Packageorg.osgi.service.obr/Export-Package - Private-Packageorg.kxml2.*,org.xmlpull.*,org.apache.felix.bundlerepository.*/Private-Package + Private-Packageorg.kxml2.*,org.xmlpull.*;-split-package:=merge-first,org.apache.felix.bundlerepository.*/Private-Package Import-Package!javax.xml.parsers,!org.xml.sax,*/Import-Package DynamicImport-Packageorg.apache.felix.shell/DynamicImport-Package Bundle-Activator${pom.artifactId}.Activator/Bundle-Activator
svn commit: r615645 - /felix/trunk/bundlerepository/doc/changelog.txt
Author: pauls Date: Sun Jan 27 13:05:34 2008 New Revision: 615645 URL: http://svn.apache.org/viewvc?rev=615645view=rev Log: Update changelog Modified: felix/trunk/bundlerepository/doc/changelog.txt Modified: felix/trunk/bundlerepository/doc/changelog.txt URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/doc/changelog.txt?rev=615645r1=615644r2=615645view=diff == --- felix/trunk/bundlerepository/doc/changelog.txt (original) +++ felix/trunk/bundlerepository/doc/changelog.txt Sun Jan 27 13:05:34 2008 @@ -1,3 +1,13 @@ +Changes from 1.0.0 to 1.0.1 +--- + +* [2008-01-27] Change the default url from sf.net to sourceforge.net. +* [2007-10-25] Add support for zipped repository files. (FELIX-410) +* [2007-10-03] Updated OBR's VersionRange to match the Framework's VersionRange + and now accept whitespace in its version range. (FELIX-389) +* [2007-09-24] Extract OSGi OBR service API to a non-bundle jar to avoid + circular build problems. + Changes from 0.8.0-incubator to 1.0.0 -
svn commit: r618089 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/IteratorToEnumeration.java
Author: pauls Date: Sun Feb 3 13:11:33 2008 New Revision: 618089 URL: http://svn.apache.org/viewvc?rev=618089view=rev Log: Make iterator member final to prevent visibility issues. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/IteratorToEnumeration.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/IteratorToEnumeration.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/IteratorToEnumeration.java?rev=618089r1=618088r2=618089view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/IteratorToEnumeration.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/IteratorToEnumeration.java Sun Feb 3 13:11:33 2008 @@ -23,7 +23,7 @@ public class IteratorToEnumeration implements Enumeration { -private Iterator m_iter = null; +private final Iterator m_iter; public IteratorToEnumeration(Iterator iter) {
svn commit: r618090 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java
Author: pauls Date: Sun Feb 3 13:13:30 2008 New Revision: 618090 URL: http://svn.apache.org/viewvc?rev=618090view=rev Log: Remove an unneccessary object creation. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java?rev=618090r1=618089r2=618090view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java Sun Feb 3 13:13:30 2008 @@ -26,6 +26,15 @@ class PackageAdminImpl implements PackageAdmin, Runnable { +private static final Comparator COMPARATOR = new Comparator() { +public int compare(Object o1, Object o2) +{ +// Reverse arguments to sort in descending order. +return ((ExportedPackage) o2).getVersion().compareTo( +((ExportedPackage) o1).getVersion()); +} +}; + private Felix m_felix = null; private Bundle[][] m_reqBundles = null; private Bundle m_systemBundle = null; @@ -153,14 +162,7 @@ return null; } // Sort the exported versions. -Arrays.sort(pkgs, new Comparator() { -public int compare(Object o1, Object o2) -{ -// Reverse arguments to sort in descending order. -return ((ExportedPackage) o2).getVersion().compareTo( -((ExportedPackage) o1).getVersion()); -} -}); +Arrays.sort(pkgs, COMPARATOR); // Return the highest version. return pkgs[0]; }
svn commit: r618095 - in /felix/trunk/framework/src/main/java/org/apache/felix: framework/ framework/ext/ framework/searchpolicy/ moduleloader/
Author: pauls Date: Sun Feb 3 13:32:48 2008 New Revision: 618095 URL: http://svn.apache.org/viewvc?rev=618095view=rev Log: Make extension bundles use the system bundle context and clean-up some of the code around extension bundles. Furthermore, refactor the protection domain assignment to make it possible to hook into it via an extension bundle. (FELIX-30) Added: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleContextImpl.java felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleInfo.java felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java felix/trunk/framework/src/main/java/org/apache/felix/moduleloader/IContentLoader.java felix/trunk/framework/src/main/java/org/apache/felix/moduleloader/IModule.java felix/trunk/framework/src/main/java/org/apache/felix/moduleloader/IModuleFactory.java felix/trunk/framework/src/main/java/org/apache/felix/moduleloader/ModuleFactoryImpl.java felix/trunk/framework/src/main/java/org/apache/felix/moduleloader/ModuleImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleContextImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleContextImpl.java?rev=618095r1=618094r2=618095view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleContextImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleContextImpl.java Sun Feb 3 13:32:48 2008 @@ -448,13 +448,6 @@ case Bundle.STOPPING: return; } - -// As an exception we allow extension bundles to use their bundle -// context while not being active. -if (m_bundle.getInfo().isExtension()) -{ -return; -} } throw new IllegalStateException(Invalid BundleContext.); Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java?rev=618095r1=618094r2=618095view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java Sun Feb 3 13:32:48 2008 @@ -405,6 +405,6 @@ Object getSignerMatcher() { -return null; +return m_felix.getSignerMatcher(this); } } Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleInfo.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleInfo.java?rev=618095r1=618094r2=618095view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleInfo.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleInfo.java Sun Feb 3 13:32:48 2008 @@ -20,6 +20,7 @@ import java.io.IOException; import java.net.URL; +import java.security.ProtectionDomain; import java.util.*; import org.apache.felix.framework.cache.BundleArchive; @@ -37,7 +38,7 @@ private BundleContext m_context = null; private Map m_cachedHeaders = new HashMap(); private long m_cachedHeadersTimestamp; - + // Indicates whether the bundle is stale, meaning that it has // been refreshed and completely removed from the framework. private boolean m_stale = false; @@ -531,5 +532,23 @@ { m_lockCount = info.m_lockCount; m_lockThread = info.m_lockThread; +} + +public synchronized void setProtectionDomain(ProtectionDomain pd) +{ +getCurrentModule().getContentLoader().setSecurityContext(pd); +} + +public synchronized ProtectionDomain getProtectionDomain() +{ +ProtectionDomain pd = null; + +for (int i = m_modules.length - 1; (i = 0) (pd == null); i--) +{ +pd = (ProtectionDomain) +m_modules[i].getContentLoader().getSecurityContext(); +} + +return pd
svn commit: r618135 - in /felix/trunk/framework/src/main/java/org/apache/felix/framework: BundleProtectionDomain.java ext/SecurityProvider.java
Author: pauls Date: Sun Feb 3 16:35:32 2008 New Revision: 618135 URL: http://svn.apache.org/viewvc?rev=618135view=rev Log: Add missing license headers. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java?rev=618135r1=618134r2=618135view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java Sun Feb 3 16:35:32 2008 @@ -1,3 +1,21 @@ +/* + * 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.felix.framework; import java.security.Permission; Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java?rev=618135r1=618134r2=618135view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java Sun Feb 3 16:35:32 2008 @@ -1,3 +1,21 @@ +/* + * 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.felix.framework.ext; import java.security.Permission;
svn commit: r633818 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java
Author: pauls Date: Wed Mar 5 03:16:58 2008 New Revision: 633818 URL: http://svn.apache.org/viewvc?rev=633818view=rev Log: Turns out our LDAP filter is not reentrant - but it is easy to fix - so this patch should make it work. It is needed because filter evaluations can call out to keys being compared which might in turn use the given thread to evaluate their own filter. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java?rev=633818r1=633817r2=633818view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java Wed Mar 5 03:16:58 2008 @@ -133,6 +133,7 @@ { evaluator = (Evaluator) tuple[0]; mapper = (SimpleMapper) tuple[1]; +m_cache.set(null); } try @@ -170,6 +171,10 @@ if (tuple == null) { m_cache.set(new SoftReference(new Object[] {evaluator, mapper})); +} +else +{ +m_cache.set(tupleRef); } }
svn commit: r633835 - in /felix/trunk/framework/src/main/java/org/apache/felix/framework: BundleProtectionDomain.java ext/SecurityProvider.java
Author: pauls Date: Wed Mar 5 04:45:26 2008 New Revision: 633835 URL: http://svn.apache.org/viewvc?rev=633835view=rev Log: Add a method to the external interface and fix hashcode, equals, and hashcode. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java?rev=633835r1=633834r2=633835view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleProtectionDomain.java Wed Mar 5 04:45:26 2008 @@ -21,7 +21,7 @@ import java.security.Permission; import java.security.ProtectionDomain; -class BundleProtectionDomain extends ProtectionDomain +public class BundleProtectionDomain extends ProtectionDomain { private final Felix m_felix; private final FelixBundle m_bundle; @@ -38,6 +38,11 @@ return m_felix.impliesBundlePermission(this, permission, false); } +public boolean impliesDirect(Permission permission) +{ +return m_felix.impliesBundlePermission(this, permission, true); +} + FelixBundle getBundle() { return m_bundle; @@ -50,6 +55,15 @@ public boolean equals(Object other) { -return m_bundle.equals(other); +if ((other == null) || other.getClass() != BundleProtectionDomain.class) +{ +return false; +} +return m_bundle == ((BundleProtectionDomain) other).m_bundle; +} + +public String toString() +{ +return [ + m_bundle + ]; } } Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java?rev=633835r1=633834r2=633835view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ext/SecurityProvider.java Wed Mar 5 04:45:26 2008 @@ -28,4 +28,6 @@ boolean hasBundlePermission(ProtectionDomain pd, Permission p, boolean direct); Object getSignerMatcher(Bundle bundle); + +void checkBundle(Bundle bundle) throws Exception; }
svn commit: r633836 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
Author: pauls Date: Wed Mar 5 04:50:05 2008 New Revision: 633836 URL: http://svn.apache.org/viewvc?rev=633836view=rev Log: The extensionmanager creates a classcastexception if more then framework is around and both have extensions installed. This fixes the issue. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java?rev=633836r1=633835r2=633836view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java Wed Mar 5 04:50:05 2008 @@ -227,7 +227,7 @@ new AdminPermission(bundle, AdminPermission.EXTENSIONLIFECYCLE)); } -if (!bundle.getInfo().getProtectionDomain().implies(new AllPermission())) +if (!((BundleProtectionDomain) bundle.getInfo().getProtectionDomain()).impliesDirect(new AllPermission())) { throw new SecurityException(Extension Bundles must have AllPermission); } @@ -577,8 +577,12 @@ for (Iterator iter = m_sourceToExtensions.values().iterator(); iter.hasNext();) { -Bundle bundle = (Bundle) iter.next(); -_add(bundle.getSymbolicName(), bundle); +List extensions = (List) iter.next(); +for (Iterator extIter = extensions.iterator(); extIter.hasNext();) +{ +Bundle bundle = (Bundle) extIter.next(); +_add(bundle.getSymbolicName(), bundle); +} } }
svn commit: r633839 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: pauls Date: Wed Mar 5 05:10:04 2008 New Revision: 633839 URL: http://svn.apache.org/viewvc?rev=633839view=rev Log: Make the framework check for valid bundles on install as per spec. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=633839r1=633838r2=633839view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Wed Mar 5 05:10:04 2008 @@ -39,7 +39,7 @@ static SecureAction m_secureAction = new SecureAction(); // The extension manager to handle extension bundles -private ExtensionManager m_extensionManager; +ExtensionManager m_extensionManager; // Logging related member variables. private Logger m_logger = null; // TODO: KARL - Why package private? @@ -1653,7 +1653,8 @@ // to import the necessary packages. if (System.getSecurityManager() != null) { -ProtectionDomain pd = bundle.getInfo().getProtectionDomain(); +BundleProtectionDomain pd = (BundleProtectionDomain) +bundle.getInfo().getProtectionDomain(); IRequirement[] imports = bundle.getInfo().getCurrentModule().getDefinition().getRequirements(); @@ -1671,7 +1672,7 @@ imports[i].???, PackagePermission.IMPORT); -if (!pd.implies(perm)) +if (!pd.impliesDirect(perm)) { throw new java.security.AccessControlException( PackagePermission.IMPORT denied for import: + @@ -1690,7 +1691,7 @@ PackagePermission perm = new PackagePermission( (String) exports[i].getProperties().get(ICapability.PACKAGE_PROPERTY), PackagePermission.EXPORT); -if (!pd.implies(perm)) +if (!pd.impliesDirect(perm)) { throw new java.security.AccessControlException( PackagePermission.EXPORT denied for export: + @@ -3380,8 +3381,12 @@ return true; } -void addSecurity(final FelixBundle bundle) +void addSecurity(final FelixBundle bundle) throws Exception { +if (m_securityProvider != null) +{ +m_securityProvider.checkBundle(bundle); +} bundle.getInfo().setProtectionDomain(new BundleProtectionDomain(this, bundle)); } @@ -3922,23 +3927,19 @@ } // Next, stop all system bundle activators. -if (m_activatorList != null) +for (int i = 0; i m_activatorList.size(); i++) { -// Stop all activators. -for (int i = 0; i m_activatorList.size(); i++) +try { -try -{ -Felix.m_secureAction.stopActivator((BundleActivator) -m_activatorList.get(i), getInfo().getBundleContext()); -} -catch (Throwable throwable) -{ -m_logger.log( -Logger.LOG_WARNING, -Exception stopping a system bundle activator., -throwable); -} +Felix.m_secureAction.stopActivator((BundleActivator) +m_activatorList.get(i), getInfo().getBundleContext()); +} +catch (Throwable throwable) +{ +m_logger.log( +Logger.LOG_WARNING, +Exception stopping a system bundle activator., +throwable); } }
svn commit: r633840 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: pauls Date: Wed Mar 5 05:10:37 2008 New Revision: 633840 URL: http://svn.apache.org/viewvc?rev=633840view=rev Log: Make the framework check for valid bundles on install as per spec. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=633840r1=633839r2=633840view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Wed Mar 5 05:10:37 2008 @@ -726,7 +726,14 @@ m_systemBundleInfo.getCurrentModule(), cl); -addSecurity(this); +try +{ +addSecurity(this); +} +catch (Exception e) +{ +// This should not happen +} // Note: we need this ordering to launch: // 1) create all stuff of the system bundle (extension manager needs it)
svn commit: r634290 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java
Author: pauls Date: Thu Mar 6 07:06:25 2008 New Revision: 634290 URL: http://svn.apache.org/viewvc?rev=634290view=rev Log: Add some more methods to SecureAction that allow for reflection and unsetting URLStreamHandlerFractory. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java?rev=634290r1=634289r2=634290view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java Thu Mar 6 07:06:25 2008 @@ -19,14 +19,16 @@ package org.apache.felix.framework.util; import java.io.*; -import java.lang.reflect.Method; +import java.lang.reflect.*; +import java.net.JarURLConnection; +import java.net.MalformedURLException; import java.net.*; import java.security.*; +import java.util.Hashtable; import java.util.jar.JarFile; import org.apache.felix.framework.searchpolicy.ContentClassLoader; import org.apache.felix.framework.searchpolicy.ContentLoaderImpl; -import org.apache.felix.framework.util.JarFileX; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; @@ -680,6 +682,232 @@ } } +public Constructor getConstructor(Class target, Class[] types) throws Exception +{ +if (System.getSecurityManager() != null) +{ +Actions actions = (Actions) m_actions.get(); +actions.set(Actions.GET_CONSTRUCTOR_ACTION, target, types); +try +{ +return (Constructor) AccessController.doPrivileged(actions, m_acc); +} +catch (PrivilegedActionException e) +{ +throw e.getException(); +} +} +else +{ +return target.getConstructor(types); +} +} + +public Method getMethod(Class target, String method, Class[] types) throws Exception +{ +if (System.getSecurityManager() != null) +{ +Actions actions = (Actions) m_actions.get(); +actions.set(Actions.GET_METHOD_ACTION, target, method, types); +try +{ +return (Method) AccessController.doPrivileged(actions, m_acc); +} +catch (PrivilegedActionException e) +{ +throw e.getException(); +} +} +else +{ +return target.getMethod(method, types); +} +} + +public Method getDeclaredMethod(Class target, String method, Class[] types) throws Exception +{ +if (System.getSecurityManager() != null) +{ +Actions actions = (Actions) m_actions.get(); +actions.set(Actions.GET_DECLAREDMETHOD_ACTION, target, method, types); +try +{ +return (Method) AccessController.doPrivileged(actions, m_acc); +} +catch (PrivilegedActionException e) +{ +throw e.getException(); +} +} +else +{ +return target.getDeclaredMethod(method, types); +} +} + +public Object invoke(Method method, Object target, Object[] params) throws Exception +{ +if (System.getSecurityManager() != null) +{ +Actions actions = (Actions) m_actions.get(); +actions.set(Actions.INVOKE_METHOD_ACTION, method, target, params); +try +{ +return AccessController.doPrivileged(actions, m_acc); +} +catch (PrivilegedActionException e) +{ +throw e.getException(); +} +} +else +{ +method.setAccessible(true); +return method.invoke(target, params); +} +} + +public Object invoke(Constructor constructor, Object[] params) throws Exception +{ +if (System.getSecurityManager() != null) +{ +Actions actions = (Actions) m_actions.get(); +actions.set(Actions.INVOKE_CONSTRUCTOR_ACTION, constructor, params); +try +{ +return AccessController.doPrivileged(actions, m_acc); +} +catch (PrivilegedActionException e) +{ +throw e.getException(); +} +} +else +{ +constructor.setAccessible(true); +return constructor.newInstance(params); +} +} + +public Object getDeclaredField(Class targetClass, String name, Object target) +throws
svn commit: r634291 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/
Author: pauls Date: Thu Mar 6 07:09:53 2008 New Revision: 634291 URL: http://svn.apache.org/viewvc?rev=634291view=rev Log: Make urlhandlers work when a handler factory is already set. Furthermore, it is now possible to have more then one framework running in more then one classloader. It is still possible to disable urlhandlers per framework. If no framework has urlhandlers enabled the factory will not be set. (FELIX-38). Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersActivator.java felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersContentHandlerProxy.java felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersServiceTracker.java felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersStreamHandlerProxy.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java?rev=634291r1=634290r2=634291view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java Thu Mar 6 07:09:53 2008 @@ -18,12 +18,12 @@ */ package org.apache.felix.framework; +import java.io.IOException; import java.net.*; import java.util.*; import org.apache.felix.framework.searchpolicy.ContentClassLoader; import org.apache.felix.framework.util.*; -import org.osgi.framework.BundleContext; /** * p @@ -68,32 +68,183 @@ { private static final String STREAM_HANDLER_PACKAGE_PROP = java.protocol.handler.pkgs; private static final String CONTENT_HANDLER_PACKAGE_PROP = java.content.handler.pkgs; -private static final String DEFAULT_STREAM_HANDLER_PACKAGE = sun.net.www.protocol; - -private static final String DEFAULT_CONTENT_HANDLER_PACKAGE = sun.net.www.content; -private static String m_lock = new String(string-lock); +private static final String DEFAULT_STREAM_HANDLER_PACKAGE = sun.net.www.protocol|com.ibm.oti.net.www.protocol|gnu.java.net.protocol|wonka.net|com.acunia.wonka.net|org.apache.harmony.luni.internal.net.www.protocol|weblogic.utils|weblogic.net|javax.net.ssl|COM.newmonics.www.protocols; +private static final String DEFAULT_CONTENT_HANDLER_PACKAGE = sun.net.www.content|com.ibm.oti.net.www.content|gnu.java.net.content|org.apache.harmony.luni.internal.net.www.content|COM.newmonics.www.content; + +private static final SecureAction m_secureAction = new SecureAction(); + private static SecurityManagerEx m_sm = null; private static URLHandlers m_handler = null; -private static int m_frameworkCount = 0; -private static List m_frameworkList = null; -private static Map m_streamHandlerCache = null; -private static Map m_contentHandlerCache = null; -private final static SecureAction m_secureAction = new SecureAction(); +// This maps classloaders of URLHandlers in other classloaders to lists of +// their frameworks. +private static Map m_classloaderToFrameworkLists = new HashMap(); + +// The list to hold all enabled frameworks registered with this handlers +private static final List m_frameworks = new ArrayList(); + +private static Map m_contentHandlerCache = null; +private static Map m_streamHandlerCache = null; +private static URLStreamHandlerFactory m_streamHandlerFactory; +private static ContentHandlerFactory m_contentHandlerFactory; /** * p - * Only one instance of this class is created in a static initializer + * Only one instance of this class is created per classloader * and that one instance is registered as the stream and content handler - * factories for the JVM. + * factories for the JVM. Unless, we already register one from a different + * classloader. In this case we attach to this root. * /p **/ private URLHandlers() { -// No one can create an instance, but we need an instance -// so we can set this as the stream and content handler factory. -URL.setURLStreamHandlerFactory(this); -URLConnection.setContentHandlerFactory(this); +synchronized (URL.class) +{ +try +{ +URL.setURLStreamHandlerFactory(this); +m_streamHandlerFactory = this; +} +catch (Error err) +{ +try +{ +// there already is a factory set
svn commit: r634459 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java
Author: pauls Date: Thu Mar 6 15:45:13 2008 New Revision: 634459 URL: http://svn.apache.org/viewvc?rev=634459view=rev Log: Bundle.getResource does not check for AdminPermission, like getResources does. This adds the permission check. (FELIX-150) Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java?rev=634459r1=634458r2=634459view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java Thu Mar 6 15:45:13 2008 @@ -167,6 +167,21 @@ **/ public URL getResource(String name) { +Object sm = System.getSecurityManager(); + +if (sm != null) +{ +try +{ +((SecurityManager) sm).checkPermission(new AdminPermission(this, +AdminPermission.RESOURCE)); +} +catch (Exception e) +{ +return null; // No permission +} +} + return m_felix.getBundleResource(this, name); }
svn commit: r634480 [3/3] - in /felix/trunk/framework/security: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/felix/ src/main/java/org/apache/f
Added: felix/trunk/framework/security/src/main/java/org/osgi/service/condpermadmin/BundleLocationCondition.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/security/src/main/java/org/osgi/service/condpermadmin/BundleLocationCondition.java?rev=634480view=auto == --- felix/trunk/framework/security/src/main/java/org/osgi/service/condpermadmin/BundleLocationCondition.java (added) +++ felix/trunk/framework/security/src/main/java/org/osgi/service/condpermadmin/BundleLocationCondition.java Thu Mar 6 16:37:30 2008 @@ -0,0 +1,133 @@ +/* + * $Header: /cvshome/build/org.osgi.service.condpermadmin/src/org/osgi/service/condpermadmin/BundleLocationCondition.java,v 1.18 2006/06/16 16:31:37 hargrave Exp $ + * + * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved. + * + * Licensed 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.osgi.service.condpermadmin; + +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.util.Hashtable; + +import org.apache.felix.framework.FilterImpl; +import org.osgi.framework.*; + +/** + * Condition to test if the location of a bundle matches a pattern. Pattern + * matching is done according to the filter string matching rules. + * + * @version $Revision: 1.18 $ + */ +public class BundleLocationCondition +{ +private static final String CONDITION_TYPE = +org.osgi.service.condpermadmin.BundleLocationCondition; + +/** + * Constructs a condition that tries to match the passed Bundle's location + * to the location pattern. + * + * @param bundle + *The Bundle being evaluated. + * @param info + *The ConditionInfo to construct the condition for. The args + *of the ConditionInfo must be a single String which + *specifies the location pattern to match against the Bundle + *location. Matching is done according to the filter string + *matching rules. Any '*' characters in the location + *argument are used as wildcards when matching bundle + *locations unless they are escaped with a '\' character. + * @return Condition object for the requested condition. + */ +static public Condition getCondition(final Bundle bundle, ConditionInfo info) +{ +if (!CONDITION_TYPE.equals(info.getType())) +throw new IllegalArgumentException( +ConditionInfo must be of type \ + CONDITION_TYPE + \); +String[] args = info.getArgs(); +if (args.length != 1) +throw new IllegalArgumentException(Illegal number of args: ++ args.length); +String bundleLocation = +(String) AccessController.doPrivileged(new PrivilegedAction() +{ +public Object run() +{ +return bundle.getLocation(); +} +}); +Filter filter = null; +try +{ +filter = +new FilterImpl((location= + escapeLocation(args[0]) + )); +} +catch (InvalidSyntaxException e) +{ +// this should never happen, but just incase +throw new RuntimeException(Invalid filter: + e.getFilter()); +} +Hashtable matchProps = new Hashtable(2); +matchProps.put(location, bundleLocation); +return filter.match(matchProps) ? Condition.TRUE : Condition.FALSE; +} + +private BundleLocationCondition() +{ +// private constructor to prevent objects of this type +} + +/** + * Escape the value string such that '(', ')' and '\' are escaped. The '\' + * char is only escaped if it is not followed by a '*'. + * + * @param value + *unescaped value string. + * @return escaped value string. + */ +private static String escapeLocation(String value) +{ +boolean escaped = false; +int inlen = value.length(); +int outlen = inlen 1; /* inlen * 2 */ + +char[] output = new char[outlen]; +value.getChars(0, inlen, output, inlen); + +int cursor = 0; +for (int i = inlen; i outlen; i++) +{ +char c = output[i]; +switch (c) +{ +case '\\': +
svn commit: r644939 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java
Author: pauls Date: Fri Apr 4 14:30:02 2008 New Revision: 644939 URL: http://svn.apache.org/viewvc?rev=644939view=rev Log: Make sure to catch NoClassDefFoundError when trying to query the framework classloader for whether a class is available or not. Previously, it was possible that this query was leaked to bundles because of the error propagate all the way to the bundle that instigated the classload. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java?rev=644939r1=644938r2=644939view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java Fri Apr 4 14:30:02 2008 @@ -599,7 +599,14 @@ } if (delegate) { -return this.getClass().getClassLoader().loadClass(name); +try +{ +return this.getClass().getClassLoader().loadClass(name); +} +catch (NoClassDefFoundError ex) +{ +// Ignore, will return null +} } break; } @@ -3187,6 +3194,10 @@ { getClass().getClassLoader().loadClass(name); classpath = true; +} +catch (NoClassDefFoundError err) +{ +// Ignore } catch (Exception ex) {
svn commit: r647601 - /felix/trunk/framework/security/src/main/java/org/apache/felix/framework/security/util/Conditions.java
Author: pauls Date: Sun Apr 13 11:34:22 2008 New Revision: 647601 URL: http://svn.apache.org/viewvc?rev=647601view=rev Log: Remove a blank line. Modified: felix/trunk/framework/security/src/main/java/org/apache/felix/framework/security/util/Conditions.java Modified: felix/trunk/framework/security/src/main/java/org/apache/felix/framework/security/util/Conditions.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/security/src/main/java/org/apache/felix/framework/security/util/Conditions.java?rev=647601r1=647600r2=647601view=diff == --- felix/trunk/framework/security/src/main/java/org/apache/felix/framework/security/util/Conditions.java (original) +++ felix/trunk/framework/security/src/main/java/org/apache/felix/framework/security/util/Conditions.java Sun Apr 13 11:34:22 2008 @@ -144,7 +144,6 @@ synchronized (m_conditionInfos) { condition = m_conditions[i]; - } if (condition == null)
svn commit: r647602 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/MapToDictionary.java
Author: pauls Date: Sun Apr 13 11:35:39 2008 New Revision: 647602 URL: http://svn.apache.org/viewvc?rev=647602view=rev Log: Fix a spelling mistake Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/MapToDictionary.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/MapToDictionary.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/MapToDictionary.java?rev=647602r1=647601r2=647602view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/MapToDictionary.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/MapToDictionary.java Sun Apr 13 11:35:39 2008 @@ -23,7 +23,7 @@ /** * This is a simple class that implements a ttDictionary/tt - * from a ttMap/tt. The resulting dictionary is immutatable. + * from a ttMap/tt. The resulting dictionary is immutable. **/ public class MapToDictionary extends Dictionary {
svn commit: r647608 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java
Author: pauls Date: Sun Apr 13 12:03:02 2008 New Revision: 647608 URL: http://svn.apache.org/viewvc?rev=647608view=rev Log: Cache the bundle id in the BundleImpl class to improve performance. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java?rev=647608r1=647607r2=647608view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleImpl.java Sun Apr 13 12:03:02 2008 @@ -27,6 +27,7 @@ class BundleImpl extends FelixBundle { +private final long m_id; private Felix m_felix = null; private BundleInfo m_info = null; @@ -34,6 +35,7 @@ { m_felix = felix; m_info = info; +m_id = info.getBundleId(); } /* package private */ BundleInfo getInfo() @@ -57,7 +59,7 @@ public long getBundleId() { -return m_info.getBundleId(); +return m_id; } public URL getEntry(String name)
svn commit: r647609 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java
Author: pauls Date: Sun Apr 13 12:03:46 2008 New Revision: 647609 URL: http://svn.apache.org/viewvc?rev=647609view=rev Log: Fix a spelling mistake. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java?rev=647609r1=647608r2=647609view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/ContentLoaderImpl.java Sun Apr 13 12:03:46 2008 @@ -183,7 +183,7 @@ // Special case / so that it returns a root URLs for // each bundle class path entry...this isn't very -// clean or meaninful, but the Spring guys want it. +// clean or meaningful, but the Spring guys want it. if (name.equals(/)) { for (int i = 0; i getClassPath().length; i++)
svn commit: r647610 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceReferenceImpl.java
Author: pauls Date: Sun Apr 13 12:05:16 2008 New Revision: 647610 URL: http://svn.apache.org/viewvc?rev=647610view=rev Log: Reorder some statements to improve service lookup performance. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceReferenceImpl.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceReferenceImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceReferenceImpl.java?rev=647610r1=647609r2=647610view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceReferenceImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceReferenceImpl.java Sun Apr 13 12:05:16 2008 @@ -19,6 +19,7 @@ package org.apache.felix.framework; import org.apache.felix.framework.util.Util; +import org.apache.felix.moduleloader.IModule; import org.apache.felix.moduleloader.IWire; import org.osgi.framework.Bundle; import org.osgi.framework.ServiceReference; @@ -120,12 +121,9 @@ // Get the package. String pkgName = Util.getClassPackage(className); +IModule current = ((FelixBundle) requester).getInfo().getCurrentModule(); // Get package wiring from service requester. -IWire requesterWire = Util.getWire( -((FelixBundle) requester).getInfo().getCurrentModule(), pkgName); -// Get package wiring from service provider. -IWire providerWire = Util.getWire( -((FelixBundle) m_bundle).getInfo().getCurrentModule(), pkgName); +IWire requesterWire = Util.getWire(current, pkgName); // There are three situations that may occur here: // 1. The requester does not have a wire for the package. @@ -144,11 +142,15 @@ // Case 1: Always include service reference. if (requesterWire == null) { -// This is an intentional no-op. +return allow; } + +// Get package wiring from service provider. +IWire providerWire = Util.getWire(current, pkgName); + // Case 2: Only include service reference if the service // object uses the same class as the requester. -else if (providerWire == null) +if (providerWire == null) { // If the provider is not the exporter of the requester's package, // then try to use the service registration to see if the requester's @@ -158,8 +160,7 @@ try { // Load the class from the requesting bundle. -Class requestClass = -((FelixBundle) requester).getInfo().getCurrentModule().getClass(className); +Class requestClass = current.getClass(className); // Get the service registration and ask it to check // if the service object is assignable to the requesting // bundle's class. @@ -176,7 +177,7 @@ // O.k. the provider is the exporter of the requester's package, now check // if the requester is wired to the latest version of the provider, if so // then allow else don't (the provider has been updated but not refreshed). -allow = ((FelixBundle) m_bundle).getInfo().getCurrentModule() == requesterWire.getExporter(); +allow = current == requesterWire.getExporter(); } } // Case 3: Include service reference if the wires have the
svn commit: r647611 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: pauls Date: Sun Apr 13 12:09:20 2008 New Revision: 647611 URL: http://svn.apache.org/viewvc?rev=647611view=rev Log: Don't use the info to get the bundle id but the bundle. Furthermore, add an index to get bundles by id. The reason is to speed up bundle lookup. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=647611r1=647610r2=647611view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Sun Apr 13 12:09:20 2008 @@ -66,6 +66,7 @@ // Maps a bundle location to a bundle. private HashMap m_installedBundleMap = new HashMap(); +private SortedMap m_installedBundleIndex = new TreeMap(); // This lock must be acquired to modify m_installedBundleMap; // to help avoid deadlock this lock as priority 2 and should // be acquired before locks with lower priority. @@ -745,6 +746,7 @@ // in 2 and need the stuff from 1. m_installedBundleMap.put( m_systemBundleInfo.getLocation(), this); +m_installedBundleIndex.put(new Long(0), this); // Create system bundle activator. m_systemBundleInfo.setActivator(new SystemBundleActivator()); @@ -1057,7 +1059,7 @@ { return -1; } -else if (b1.getInfo().getBundleId() b2.getInfo().getBundleId()) +else if (b1.getBundleId() b2.getBundleId()) { return 1; } @@ -1083,7 +1085,7 @@ { return -1; } -else if (b1.getInfo().getBundleId() b2.getInfo().getBundleId()) +else if (b1.getBundleId() b2.getBundleId()) { return 1; } @@ -2115,6 +2117,7 @@ synchronized (m_installedBundleLock_Priority2) { target = (FelixBundle) m_installedBundleMap.remove(info.getLocation()); +m_installedBundleIndex.remove(new Long(target.getBundleId())); } // Finally, put the uninstalled bundle into the @@ -2379,6 +2382,7 @@ synchronized (m_installedBundleLock_Priority2) { m_installedBundleMap.put(location, bundle); +m_installedBundleIndex.put(new Long(bundle.getBundleId()), bundle); } if (bundle.getInfo().isExtension()) @@ -2539,15 +2543,10 @@ { synchronized (m_installedBundleLock_Priority2) { -FelixBundle bundle = null; - -for (Iterator i = m_installedBundleMap.values().iterator(); i.hasNext(); ) +FelixBundle bundle = (FelixBundle) m_installedBundleIndex.get(new Long(id)); +if (bundle != null) { -bundle = (FelixBundle) i.next(); -if (bundle.getInfo().getBundleId() == id) -{ -return bundle; -} +return bundle; } } @@ -2557,7 +2556,7 @@ (m_uninstalledBundles != null) (i m_uninstalledBundles.length); i++) { -if (m_uninstalledBundles[i].getInfo().getBundleId() == id) +if (m_uninstalledBundles[i].getBundleId() == id) { return m_uninstalledBundles[i]; } @@ -2579,24 +2578,6 @@ **/ protected Bundle[] getBundles() { -if (m_comparator == null) -{ -m_comparator = new Comparator() { -public int compare(Object o1, Object o2) -{ -Bundle b1 = (Bundle) o1; -Bundle b2 = (Bundle) o2; -if (b1.getBundleId() b2.getBundleId()) -return 1; -else if (b1.getBundleId() b2.getBundleId()) -return -1; -return 0; -} -}; -} - -Bundle[] bundles = null; - synchronized (m_installedBundleLock_Priority2) { if (m_installedBundleMap.size() == 0) @@ -2604,17 +2585,9 @@ return null; } -bundles = new Bundle[m_installedBundleMap.size()]; -int counter = 0; -for (Iterator i = m_installedBundleMap.values().iterator(); i.hasNext(); ) -{ -bundles[counter
svn commit: r647612 - in /felix/trunk/framework/src/main/java/org/apache/felix/framework: FilterImpl.java util/ldap/Parser.java
Author: pauls Date: Sun Apr 13 12:10:39 2008 New Revision: 647612 URL: http://svn.apache.org/viewvc?rev=647612view=rev Log: Cache filters and create an index for objectclass to improve service lookup performance. Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java?rev=647612r1=647611r2=647612view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java Sun Apr 13 12:10:39 2008 @@ -35,6 +35,7 @@ **/ public class FilterImpl implements Filter { +private static final WeakHashMap m_programCache = new WeakHashMap(); private final ThreadLocal m_cache = new ThreadLocal(); private final Logger m_logger; private final Object[] m_program; @@ -57,29 +58,44 @@ { throw new InvalidSyntaxException(Filter cannot be null, null); } - -CharArrayReader car = new CharArrayReader(expr.toCharArray()); -LdapLexer lexer = new LdapLexer(car); -Parser parser = new Parser(lexer); -try +Object[] program = null; +synchronized (m_programCache) +{ +program = (Object[]) m_programCache.get(expr); +} +if (program == null) { -if (!parser.start()) +CharArrayReader car = new CharArrayReader(expr.toCharArray()); +LdapLexer lexer = new LdapLexer(car); +Parser parser = new Parser(lexer); +try +{ +if (!parser.start()) +{ +throw new InvalidSyntaxException( +Failed to parse LDAP query., expr); +} +} +catch (ParseException ex) { throw new InvalidSyntaxException( -Failed to parse LDAP query., expr); + ex.getMessage(), expr); +} +catch (IOException ex) +{ +throw new InvalidSyntaxException( +ex.getMessage(), expr); +} +program = parser.getProgram(); +synchronized (m_programCache) +{ +if (!m_programCache.containsKey(expr)) +{ +m_programCache.put(expr, program); +} } } -catch (ParseException ex) -{ -throw new InvalidSyntaxException( - ex.getMessage(), expr); -} -catch (IOException ex) -{ -throw new InvalidSyntaxException( -ex.getMessage(), expr); -} -m_program = parser.getProgram(); +m_program = program; } /** @@ -254,7 +270,7 @@ public void setSource(Dictionary dict, boolean caseSensitive) { // Create a map if we don't have one. - + if (m_map == null) { m_map = new StringMap(); Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java?rev=647612r1=647611r2=647612view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Sun Apr 13 12:10:39 2008 @@ -257,6 +257,11 @@ switch (kind) { case SIMPLE : +if (objectClass.equals(attr.toString()) (op == '=')) +{ +program.add(new ObjectClassOperator((String) pieces.get(0))); +return true; +} // Code: Push(attr); Constant(pieces.get(0)); operator(); program.add(new PushOperator(attr.toString())); program.add(new ConstOperator(pieces.get(0))); @@ -534,8 +539,7 @@ } // Exclusive inner classes - -private static class AndOperator extends Operator +private static final class AndOperator extends Operator { private int operandCount; @@ -600,7 +604,7 @@ } } -private static class OrOperator extends Operator +private static final class OrOperator extends Operator { private int operandCount; @@ -665,7 +669,7 @@ } } -private static class
svn commit: r647630 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Logger.java
Author: pauls Date: Sun Apr 13 14:23:14 2008 New Revision: 647630 URL: http://svn.apache.org/viewvc?rev=647630view=rev Log: The issue is that we log messages while holding framework internal locks -- hence, when a log service calls back into the framework (e.g., by loading a class) we might deadlock. For now we just disable logging to log services inside the framework. (FELIX-536) Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Logger.java Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Logger.java URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Logger.java?rev=647630r1=647629r2=647630view=diff == --- felix/trunk/framework/src/main/java/org/apache/felix/framework/Logger.java (original) +++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Logger.java Sun Apr 13 14:23:14 2008 @@ -72,8 +72,16 @@ protected void setSystemBundleContext(BundleContext context) { -m_context = context; -startListeningForLogService(); +// TODO: Find a way to log to a log service inside the framework. +// The issue is that we log messages while holding framework +// internal locks -- hence, when a log service calls back into +// the framework (e.g., by loading a class) we might deadlock. +// One instance of this problem is tracked in FELIX-536. +// For now we just disable logging to log services inside the +// framework. + +// m_context = context; +// startListeningForLogService(); } public final void log(int level, String msg)
svn commit: r650219 - in /felix/trunk: examples/pom.xml pom/pom.xml
Author: pauls Date: Mon Apr 21 11:32:56 2008 New Revision: 650219 URL: http://svn.apache.org/viewvc?rev=650219view=rev Log: Removing dependencies on maven-felix-plugin for now because they make our ant build fail. Modified: felix/trunk/examples/pom.xml felix/trunk/pom/pom.xml Modified: felix/trunk/examples/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/examples/pom.xml?rev=650219r1=650218r2=650219view=diff == --- felix/trunk/examples/pom.xml (original) +++ felix/trunk/examples/pom.xml Mon Apr 21 11:32:56 2008 @@ -52,7 +52,7 @@ modules moduleeventlistener/module moduledictionaryservice/module - moduledictionaryservice.itest/module +!-- moduledictionaryservice.itest/module -- modulefrenchdictionary/module moduledictionaryclient/module moduledictionaryclient2/module Modified: felix/trunk/pom/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/pom/pom.xml?rev=650219r1=650218r2=650219view=diff == --- felix/trunk/pom/pom.xml (original) +++ felix/trunk/pom/pom.xml Mon Apr 21 11:32:56 2008 @@ -98,7 +98,7 @@ module../bundleplugin/module module../scrplugin/module module../tools/maven2/maven-osgi-plugin/module -module../tools/maven2/maven-felix-plugin/module +!--module../tools/maven2/maven-felix-plugin/module -- /modules /profile
svn commit: r650237 - /felix/trunk/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java
Author: pauls Date: Mon Apr 21 12:55:56 2008 New Revision: 650237 URL: http://svn.apache.org/viewvc?rev=650237view=rev Log: Revert the changes to shell tui that make it stoppable without user input from system.in - The solution is working fine on *x but doesn't on windows. Modified: felix/trunk/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java Modified: felix/trunk/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java?rev=650237r1=650236r2=650237view=diff == --- felix/trunk/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java (original) +++ felix/trunk/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java Mon Apr 21 12:55:56 2008 @@ -83,13 +83,10 @@ // since one might already be available. initializeService(); -synchronized (this) -{ -// Start impl thread. -m_thread = new Thread( -m_runnable = new ShellTuiRunnable(), -Felix Shell TUI); -} +// Start impl thread. +m_thread = new Thread( +m_runnable = new ShellTuiRunnable(), +Felix Shell TUI); m_thread.start(); } @@ -110,19 +107,16 @@ public void stop(BundleContext context) { -synchronized (this) +if (m_runnable != null) { -if (m_runnable != null) -{ -m_runnable.stop(); -m_thread.interrupt(); -} +m_runnable.stop(); +m_thread.interrupt(); } } private class ShellTuiRunnable implements Runnable { -private volatile boolean stop = false; +private boolean stop = false; public void stop() { @@ -133,22 +127,15 @@ { String line = null; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + while (!stop) { System.out.print(- ); try { -while (!in.ready()) -{ -Thread.sleep(20); -} line = in.readLine(); } -catch (InterruptedException ex) -{ -continue; -} catch (IOException ex) { System.err.println(Could not read input, please try again.); @@ -188,4 +175,4 @@ } } } -} +} \ No newline at end of file
svn commit: r650239 - /felix/releases/org.osgi.compendium-1.0.1/
Author: pauls Date: Mon Apr 21 13:01:03 2008 New Revision: 650239 URL: http://svn.apache.org/viewvc?rev=650239view=rev Log: Delete unreleased compendium branch. Removed: felix/releases/org.osgi.compendium-1.0.1/
svn commit: r650263 - in /felix/trunk/org.osgi.core/doc: ./ apache-felix-osgi-core_files/ apache-felix-osgi-core_files/button_data/
Author: pauls Date: Mon Apr 21 13:55:17 2008 New Revision: 650263 URL: http://svn.apache.org/viewvc?rev=650263view=rev Log: Update documentation to match new style and update changelog for 1.0.1 release. Added: felix/trunk/org.osgi.core/doc/apache-felix-osgi-core_files/apache.png (with props) felix/trunk/org.osgi.core/doc/apache-felix-osgi-core_files/button.html felix/trunk/org.osgi.core/doc/apache-felix-osgi-core_files/button_data/ felix/trunk/org.osgi.core/doc/apache-felix-osgi-core_files/button_data/2008-usa-125x125.png (with props) felix/trunk/org.osgi.core/doc/apache-felix-osgi-core_files/linkext7.gif (with props) felix/trunk/org.osgi.core/doc/apache-felix-osgi-core_files/logo.png (with props) Modified: felix/trunk/org.osgi.core/doc/apache-felix-osgi-core.html felix/trunk/org.osgi.core/doc/apache-felix-osgi-core_files/site.css felix/trunk/org.osgi.core/doc/changelog.txt Modified: felix/trunk/org.osgi.core/doc/apache-felix-osgi-core.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.core/doc/apache-felix-osgi-core.html?rev=650263r1=650262r2=650263view=diff == --- felix/trunk/org.osgi.core/doc/apache-felix-osgi-core.html (original) +++ felix/trunk/org.osgi.core/doc/apache-felix-osgi-core.html Mon Apr 21 13:55:17 2008 @@ -1,33 +1,28 @@ !DOCTYPE HTML PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; -htmlheadtitleApache Felix/title +htmlheadtitleApache Felix - Apache Felix OSGi Core/title link rel=stylesheet href=apache-felix-osgi-core_files/site.css type=text/css media=all -link rel=stylesheet href=apache-felix-osgi-core_files/print.css type=text/css media=print -meta http-equiv=Content-Type content=text/html;charset=UTF-8/headbody linkifymax=0 linkifycurrent=0 linkifying=true -div class=title - img alt=Logo src=apache-felix-osgi-core_files/apache-felix-small.png align=right -/div +meta http-equiv=Content-Type content=text/html;charset=UTF-8/headbody +div class=titlediv class=logoa href=http://felix.apache.org/site/index.html;img alt=Apache Felix src=apache-felix-osgi-core_files/logo.png border=0/a/divdiv class=headera href=http://www.apache.org/;img alt=Apache src=apache-felix-osgi-core_files/apache.png border=0/a/div/div div class=menu - ul -lia href=http://cwiki.apache.org/FELIX/index.html;home/a/li -lia href=http://cwiki.apache.org/FELIX/news.html;news/a/li -lia href=http://cwiki.apache.org/FELIX/status.html;status/a/li -lia href=http://cwiki.apache.org/FELIX/license.html;license/a/li -lia href=http://cwiki.apache.org/FELIX/downloads.html;downloads/a/li -lia href=http://cwiki.apache.org/FELIX/documentation.html;documentation/a/li -lia href=http://cwiki.apache.org/FELIX/committers.html;committers/a/li -lia href=http://cwiki.apache.org/FELIX/mailinglists.html;mailing lists/a/li -lia href=http://cwiki.apache.org/FELIX/faq.html;faq/a/li -lia href=http://cwiki.apache.org/FELIX/roadmap.html;roadmap/a/li -lia href=http://cwiki.apache.org/FELIX/sourcecode.html;source code/a/li -lia href=http://cwiki.apache.org/FELIX/codingstandards.html;coding standards/a/li -lia href=http://cwiki.apache.org/FELIX/issuetracking.html;issue tracking/a/li -lia href=http://cwiki.apache.org/FELIX/dependencies.html;dependencies/a/li - /ul -/div +ul + lia href=http://felix.apache.org/site/news.html; title=newsnews/a/li + lia href=http://felix.apache.org/site/license.html; title=licenselicense/a/li + lispan class=nobra href=http://felix.apache.org/site/downloads.cgi; title=Visit page outside Confluence rel=nofollowdownloadssupimg class=rendericon src=apache-felix-osgi-core_files/linkext7.gif alt= align=absmiddle border=0 height=7 width=7/sup/a/span/li + lia href=http://felix.apache.org/site/documentation.html; title=documentationdocumentation/a/li + lia href=http://felix.apache.org/site/mailinglists.html; title=mailinglistsmailing lists/a/li + lia href=http://felix.apache.org/site/contributing.html; title=Contributingcontributing/a/li + lispan class=nobra href=http://www.apache.org/; title=Visit page outside Confluence rel=nofollowasfsupimg class=rendericon src=apache-felix-osgi-core_files/linkext7.gif alt= align=absmiddle border=0 height=7 width=7/sup/a/span/li + lispan class=nobra href=http://www.apache.org/foundation/sponsorship.html; title=Visit page outside Confluence rel=nofollowsponsorshipsupimg class=rendericon src=apache-felix-osgi-core_files/linkext7.gif alt= align=absmiddle border=0 height=7 width=7/sup/a/span/li + lispan class=nobra href=http://www.apache.org/foundation/thanks.html; title=Visit page outside Confluence rel=nofollowsponsorssupimg class=rendericon
svn commit: r650269 - /felix/trunk/org.osgi.service.obr/pom.xml
Author: pauls Date: Mon Apr 21 14:04:08 2008 New Revision: 650269 URL: http://svn.apache.org/viewvc?rev=650269view=rev Log: Change dependency on org.osgi.core to version 1.1.0-SNAPSHOT. Modified: felix/trunk/org.osgi.service.obr/pom.xml Modified: felix/trunk/org.osgi.service.obr/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.service.obr/pom.xml?rev=650269r1=650268r2=650269view=diff == --- felix/trunk/org.osgi.service.obr/pom.xml (original) +++ felix/trunk/org.osgi.service.obr/pom.xml Mon Apr 21 14:04:08 2008 @@ -37,7 +37,7 @@ dependency groupIdorg.apache.felix/groupId artifactIdorg.osgi.core/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version /dependency /dependencies build
svn commit: r650282 - in /felix/trunk/bundlerepository: LICENSE.kxml2 NOTICE doc/changelog.txt src/main/resources/META-INF/
Author: pauls Date: Mon Apr 21 14:40:14 2008 New Revision: 650282 URL: http://svn.apache.org/viewvc?rev=650282view=rev Log: Update NOTICE file to new layout, prepare changelog for 1.0.3 release, and delete redundant LICENSE and NOTICE files as well as moving LICENSE.kxml2 to top-level. Added: felix/trunk/bundlerepository/LICENSE.kxml2 - copied unchanged from r650214, felix/trunk/bundlerepository/src/main/resources/META-INF/LICENSE.kxml2 Removed: felix/trunk/bundlerepository/src/main/resources/META-INF/ Modified: felix/trunk/bundlerepository/NOTICE felix/trunk/bundlerepository/doc/changelog.txt Modified: felix/trunk/bundlerepository/NOTICE URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/NOTICE?rev=650282r1=650281r2=650282view=diff == --- felix/trunk/bundlerepository/NOTICE (original) +++ felix/trunk/bundlerepository/NOTICE Mon Apr 21 14:40:14 2008 @@ -1,12 +1,28 @@ Apache Felix OSGi Bundle Repository Copyright 2008 The Apache Software Foundation +I. Included Software + This product includes software developed at The Apache Software Foundation (http://www.apache.org/). +Licensed under the Apache License 2.0. This product includes software developed at The OSGi Alliance (http://www.osgi.org/). Copyright 2006 The OSGi Alliance. +Licensed under the Apache License 2.0. This product includes software from http://kxml.sourceforge.net. Copyright (c) 2002,2003, Stefan Haustein, Oberhausen, Rhld., Germany. +Licensed under BSD License. + +II. Used Software + +This product uses software developed at +The OSGi Alliance (http://www.osgi.org/). +Copyright 2006 The OSGi Alliance. +Licensed under the Apache License 2.0. + +III. License Summary +- Apache License 2.0 +- BSD License Modified: felix/trunk/bundlerepository/doc/changelog.txt URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/doc/changelog.txt?rev=650282r1=650281r2=650282view=diff == --- felix/trunk/bundlerepository/doc/changelog.txt (original) +++ felix/trunk/bundlerepository/doc/changelog.txt Mon Apr 21 14:40:14 2008 @@ -1,3 +1,8 @@ +Changes from 1.0.2 to 1.0.3 +--- + +* [2008-04-21] Re-release to make bytecode executable on jre 1.3. + Changes from 1.0.0 to 1.0.2 ---
svn commit: r650296 - /felix/trunk/bundlerepository/pom.xml
Author: pauls Date: Mon Apr 21 15:16:09 2008 New Revision: 650296 URL: http://svn.apache.org/viewvc?rev=650296view=rev Log: Update dependency on obr service interfaces to 1.1.0-SNAPSHOT. Modified: felix/trunk/bundlerepository/pom.xml Modified: felix/trunk/bundlerepository/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/pom.xml?rev=650296r1=650295r2=650296view=diff == --- felix/trunk/bundlerepository/pom.xml (original) +++ felix/trunk/bundlerepository/pom.xml Mon Apr 21 15:16:09 2008 @@ -33,12 +33,12 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.service.obr/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version /dependency dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version /dependency dependency groupIdnet.sf.kxml/groupId
svn commit: r650297 - in /felix/trunk/shell: ./ doc/ doc/apache-felix-shell-service_files/ doc/apache-felix-shell-service_files/button_data/ src/main/resources/META-INF/
Author: pauls Date: Mon Apr 21 15:17:48 2008 New Revision: 650297 URL: http://svn.apache.org/viewvc?rev=650297view=rev Log: Update NOTICE file to new layout, update documentation to match new style, delete redundant NOTICE and LICENSE files, prepare changelog for 1.0.1 release, and update dependencies to 1.1.0-SNAPSHOT. Added: felix/trunk/shell/doc/apache-felix-shell-service_files/apache.png (with props) felix/trunk/shell/doc/apache-felix-shell-service_files/button.html felix/trunk/shell/doc/apache-felix-shell-service_files/button_data/ felix/trunk/shell/doc/apache-felix-shell-service_files/button_data/2008-usa-125x125.png (with props) felix/trunk/shell/doc/apache-felix-shell-service_files/linkext7.gif (with props) felix/trunk/shell/doc/apache-felix-shell-service_files/logo.png (with props) Removed: felix/trunk/shell/src/main/resources/META-INF/ Modified: felix/trunk/shell/NOTICE felix/trunk/shell/doc/apache-felix-shell-service.html felix/trunk/shell/doc/apache-felix-shell-service_files/site.css felix/trunk/shell/doc/changelog.txt felix/trunk/shell/pom.xml Modified: felix/trunk/shell/NOTICE URL: http://svn.apache.org/viewvc/felix/trunk/shell/NOTICE?rev=650297r1=650296r2=650297view=diff == --- felix/trunk/shell/NOTICE (original) +++ felix/trunk/shell/NOTICE Mon Apr 21 15:17:48 2008 @@ -1,5 +1,21 @@ Apache Felix Shell Service -Copyright 2006 The Apache Software Foundation +Copyright 2006-2008 The Apache Software Foundation + + +I. Included Software This product includes software developed at The Apache Software Foundation (http://www.apache.org/). +Licensed under the Apache License 2.0. + + +II. Used Software + +This product uses software developed at +The OSGi Alliance (http://www.osgi.org/). +Copyright 2006 The OSGi Alliance. +Licensed under the Apache License 2.0. + + +III. License Summary +- Apache License 2.0 Modified: felix/trunk/shell/doc/apache-felix-shell-service.html URL: http://svn.apache.org/viewvc/felix/trunk/shell/doc/apache-felix-shell-service.html?rev=650297r1=650296r2=650297view=diff == --- felix/trunk/shell/doc/apache-felix-shell-service.html (original) +++ felix/trunk/shell/doc/apache-felix-shell-service.html Mon Apr 21 15:17:48 2008 @@ -1,33 +1,28 @@ !DOCTYPE HTML PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; -htmlheadtitleApache Felix/title +htmlheadtitleApache Felix - Apache Felix Shell Service/title link rel=stylesheet href=apache-felix-shell-service_files/site.css type=text/css media=all -link rel=stylesheet href=apache-felix-shell-service_files/print.css type=text/css media=print -meta http-equiv=Content-Type content=text/html;charset=UTF-8/headbody linkifytime=77 linkified=1 linkifying=false -div class=title - img alt=Logo src=apache-felix-shell-service_files/apache-felix-small.png align=right -/div +meta http-equiv=Content-Type content=text/html;charset=UTF-8/headbody +div class=titlediv class=logoa href=http://felix.apache.org/site/index.html;img alt=Apache Felix src=apache-felix-shell-service_files/logo.png border=0/a/divdiv class=headera href=http://www.apache.org/;img alt=Apache src=apache-felix-shell-service_files/apache.png border=0/a/div/div div class=menu - ul -lia href=http://cwiki.apache.org/FELIX/index.html;home/a/li -lia href=http://cwiki.apache.org/FELIX/news.html;news/a/li -lia href=http://cwiki.apache.org/FELIX/status.html;status/a/li -lia href=http://cwiki.apache.org/FELIX/license.html;license/a/li -lia href=http://cwiki.apache.org/FELIX/downloads.html;downloads/a/li -lia href=http://cwiki.apache.org/FELIX/documentation.html;documentation/a/li -lia href=http://cwiki.apache.org/FELIX/committers.html;committers/a/li -lia href=http://cwiki.apache.org/FELIX/mailinglists.html;mailing lists/a/li -lia href=http://cwiki.apache.org/FELIX/faq.html;faq/a/li -lia href=http://cwiki.apache.org/FELIX/roadmap.html;roadmap/a/li -lia href=http://cwiki.apache.org/FELIX/sourcecode.html;source code/a/li -lia href=http://cwiki.apache.org/FELIX/codingstandards.html;coding standards/a/li -lia href=http://cwiki.apache.org/FELIX/issuetracking.html;issue tracking/a/li -lia href=http://cwiki.apache.org/FELIX/dependencies.html;dependencies/a/li - /ul -/div +ul + lia href=http://felix.apache.org/site/news.html; title=newsnews/a/li + lia href=http://felix.apache.org/site/license.html; title=licenselicense/a/li + lispan class=nobra href=http://felix.apache.org/site/downloads.cgi; title=Visit page outside Confluence rel=nofollowdownloadssupimg class=rendericon src=apache-felix-shell-service_files
svn commit: r650299 - in /felix/trunk/shell.tui: ./ doc/ doc/apache-felix-shell-tui_files/ doc/apache-felix-shell-tui_files/button_data/ src/main/resources/META-INF/
Author: pauls Date: Mon Apr 21 15:23:12 2008 New Revision: 650299 URL: http://svn.apache.org/viewvc?rev=650299view=rev Log: Update NOTICE file to new layout, update documentation to match new style, delete redundant NOTICE and LICENSE files, prepare changelog for 1.0.1 release, and update dependencies to 1.1.0-SNAPSHOT. Added: felix/trunk/shell.tui/doc/apache-felix-shell-tui_files/apache.png (with props) felix/trunk/shell.tui/doc/apache-felix-shell-tui_files/button.html felix/trunk/shell.tui/doc/apache-felix-shell-tui_files/button_data/ felix/trunk/shell.tui/doc/apache-felix-shell-tui_files/button_data/2008-usa-125x125.png (with props) felix/trunk/shell.tui/doc/apache-felix-shell-tui_files/linkext7.gif (with props) felix/trunk/shell.tui/doc/apache-felix-shell-tui_files/logo.png (with props) Removed: felix/trunk/shell.tui/src/main/resources/META-INF/ Modified: felix/trunk/shell.tui/NOTICE felix/trunk/shell.tui/doc/apache-felix-shell-tui.html felix/trunk/shell.tui/doc/apache-felix-shell-tui_files/site.css felix/trunk/shell.tui/doc/changelog.txt felix/trunk/shell.tui/pom.xml Modified: felix/trunk/shell.tui/NOTICE URL: http://svn.apache.org/viewvc/felix/trunk/shell.tui/NOTICE?rev=650299r1=650298r2=650299view=diff == --- felix/trunk/shell.tui/NOTICE (original) +++ felix/trunk/shell.tui/NOTICE Mon Apr 21 15:23:12 2008 @@ -1,5 +1,20 @@ Apache Felix Shell Textual Interface -Copyright 2006 The Apache Software Foundation +Copyright 2006-2008 The Apache Software Foundation + +I. Included Software This product includes software developed at The Apache Software Foundation (http://www.apache.org/). +Licensed under the Apache License 2.0. + + +II. Used Software + +This product uses software developed at +The OSGi Alliance (http://www.osgi.org/). +Copyright 2006 The OSGi Alliance. +Licensed under the Apache License 2.0. + + +III. License Summary +- Apache License 2.0 Modified: felix/trunk/shell.tui/doc/apache-felix-shell-tui.html URL: http://svn.apache.org/viewvc/felix/trunk/shell.tui/doc/apache-felix-shell-tui.html?rev=650299r1=650298r2=650299view=diff == --- felix/trunk/shell.tui/doc/apache-felix-shell-tui.html (original) +++ felix/trunk/shell.tui/doc/apache-felix-shell-tui.html Mon Apr 21 15:23:12 2008 @@ -1,37 +1,32 @@ !DOCTYPE HTML PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; -htmlheadtitleApache Felix/title +htmlheadtitleApache Felix - Apache Felix Shell TUI/title link rel=stylesheet href=apache-felix-shell-tui_files/site.css type=text/css media=all -link rel=stylesheet href=apache-felix-shell-tui_files/print.css type=text/css media=print -meta http-equiv=Content-Type content=text/html;charset=UTF-8/headbody linkifymax=0 linkifycurrent=0 linkifying=true -div class=title - img alt=Logo src=apache-felix-shell-tui_files/apache-felix-small.png align=right -/div +meta http-equiv=Content-Type content=text/html;charset=UTF-8/headbody +div class=titlediv class=logoa href=http://felix.apache.org/site/index.html;img alt=Apache Felix src=apache-felix-shell-tui_files/logo.png border=0/a/divdiv class=headera href=http://www.apache.org/;img alt=Apache src=apache-felix-shell-tui_files/apache.png border=0/a/div/div div class=menu - ul -lia href=http://cwiki.apache.org/FELIX/index.html;home/a/li -lia href=http://cwiki.apache.org/FELIX/news.html;news/a/li -lia href=http://cwiki.apache.org/FELIX/status.html;status/a/li -lia href=http://cwiki.apache.org/FELIX/license.html;license/a/li -lia href=http://cwiki.apache.org/FELIX/downloads.html;downloads/a/li -lia href=http://cwiki.apache.org/FELIX/documentation.html;documentation/a/li -lia href=http://cwiki.apache.org/FELIX/committers.html;committers/a/li -lia href=http://cwiki.apache.org/FELIX/mailinglists.html;mailing lists/a/li -lia href=http://cwiki.apache.org/FELIX/faq.html;faq/a/li -lia href=http://cwiki.apache.org/FELIX/roadmap.html;roadmap/a/li -lia href=http://cwiki.apache.org/FELIX/sourcecode.html;source code/a/li -lia href=http://cwiki.apache.org/FELIX/codingstandards.html;coding standards/a/li -lia href=http://cwiki.apache.org/FELIX/issuetracking.html;issue tracking/a/li -lia href=http://cwiki.apache.org/FELIX/dependencies.html;dependencies/a/li - /ul -/div +ul + lia href=http://felix.apache.org/site/news.html; title=newsnews/a/li + lia href=http://felix.apache.org/site/license.html; title=licenselicense/a/li + lispan class=nobra href=http://felix.apache.org/site/downloads.cgi; title=Visit page outside Confluence rel=nofollowdownloadssupimg class=rendericon src=apache-felix
svn commit: r650315 - in /felix/trunk/framework: NOTICE doc/changelog.txt etc/ pom.xml src/main/resources/META-INF/
Author: pauls Date: Mon Apr 21 16:32:57 2008 New Revision: 650315 URL: http://svn.apache.org/viewvc?rev=650315view=rev Log: Update NOTICE file to new layout, update documentation to match new style, delete redundant NOTICE and LICENSE files, prepare changelog for 1.0.4 release, and update dependencies to 1.1.0-SNAPSHOT. Removed: felix/trunk/framework/etc/ felix/trunk/framework/src/main/resources/META-INF/ Modified: felix/trunk/framework/NOTICE felix/trunk/framework/doc/changelog.txt felix/trunk/framework/pom.xml Modified: felix/trunk/framework/NOTICE URL: http://svn.apache.org/viewvc/felix/trunk/framework/NOTICE?rev=650315r1=650314r2=650315view=diff == --- felix/trunk/framework/NOTICE (original) +++ felix/trunk/framework/NOTICE Mon Apr 21 16:32:57 2008 @@ -1,10 +1,26 @@ Apache Felix Framework Copyright 2008 The Apache Software Foundation + +I. Included Software + This product includes software developed at The Apache Software Foundation (http://www.apache.org/). +Licensed under the Apache License 2.0. This product includes software developed at The OSGi Alliance (http://www.osgi.org/). Copyright 2006 The OSGi Alliance. Licensed under the Apache License 2.0. + + +II. Used Software + +This product uses software developed at +The OSGi Alliance (http://www.osgi.org/). +Copyright 2006 The OSGi Alliance. +Licensed under the Apache License 2.0. + + +III. License Summary +- Apache License 2.0 Modified: felix/trunk/framework/doc/changelog.txt URL: http://svn.apache.org/viewvc/felix/trunk/framework/doc/changelog.txt?rev=650315r1=650314r2=650315view=diff == --- felix/trunk/framework/doc/changelog.txt (original) +++ felix/trunk/framework/doc/changelog.txt Mon Apr 21 16:32:57 2008 @@ -1,3 +1,37 @@ +Changes from 1.0.3 to 1.0.4 +___ + +* [2008-04-18] Check that the returned object from a service factory is an + instance of all classes named when the service was registered. (FELIX-540) +* [2008-04-13] Fix an issue when logging messages while holding framework + internal locks that could lead to a deadlock. For now we just disable + logging to log services inside the framework. (FELIX-536) +* [2008-04-13] Implemented various small performance improvments e.g., + we now cache filters and create an index for objectclass to improve + service lookup performance and don't use the BundleInfo to get the + bundle id but the BundleImpl directly. Furthermore, we added an index to + get bundles by id. +* [2008-04-04] Fix an NoClassDefFoundError when trying to query the + framework classloader for whether a class is available or not. +* [2008-03-19] Don't try to resolve extension bundles and fix a + classcastexception that could happen if more then one framework is around + and both have extensions installed. Furthermore, make extension bundles + use the system bundle context. +* [2008-03-07] Bundle.getResource does now check for AdminPermission. + (FELIX-150) +* [2008-03-06] Make urlhandlers work when a handler factory is already set. + Furthermore, it is now possible to have more then one framework running + in more then one classloader. (FELIX-38). +* [2008-03-05] Make LDAP filter reentrant. +* [2008-02-29] Refactored the IContent abstraction from the module loader + layer to provide more generic access to the content of the module. This + makes it possible that a bundle's class path could span multiple module's, + which will be necessary for fragments. (FELIX-29) +* [2008-02-27] Applied a patch to disable the class loading diagnostic message + when the logger is not at the DEBUG level. (FELIX-500) +* [2008-02-15] Modified the service registry to use more fine-grained locking + to avoid callbacks to service factories while holding locks. (FELIX-489) + Changes from 1.0.1 to 1.0.3 --- Modified: felix/trunk/framework/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/framework/pom.xml?rev=650315r1=650314r2=650315view=diff == --- felix/trunk/framework/pom.xml (original) +++ felix/trunk/framework/pom.xml Mon Apr 21 16:32:57 2008 @@ -37,7 +37,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.compendium/artifactId - version1.0.0/version + version1.1.0-SNAPSHOT/version /dependency /dependencies build
svn commit: r650318 - in /felix/trunk/main: NOTICE doc/changelog.txt src/main/resources/META-INF/
Author: pauls Date: Mon Apr 21 16:43:37 2008 New Revision: 650318 URL: http://svn.apache.org/viewvc?rev=650318view=rev Log: Update NOTICE to new layout, update changelog for 1.0.4 release, and delete redundant NOTICE and LICENSE files. Removed: felix/trunk/main/src/main/resources/META-INF/ Modified: felix/trunk/main/NOTICE felix/trunk/main/doc/changelog.txt Modified: felix/trunk/main/NOTICE URL: http://svn.apache.org/viewvc/felix/trunk/main/NOTICE?rev=650318r1=650317r2=650318view=diff == --- felix/trunk/main/NOTICE (original) +++ felix/trunk/main/NOTICE Mon Apr 21 16:43:37 2008 @@ -1,10 +1,26 @@ Apache Felix Main Copyright 2008 The Apache Software Foundation + +I. Included Software + This product includes software developed at The Apache Software Foundation (http://www.apache.org/). +Licensed under the Apache License 2.0. This product includes software developed at The OSGi Alliance (http://www.osgi.org/). Copyright 2006 The OSGi Alliance. Licensed under the Apache License 2.0. + + +II. Used Software + +This product uses software developed at +The OSGi Alliance (http://www.osgi.org/). +Copyright 2006 The OSGi Alliance. +Licensed under the Apache License 2.0. + + +III. License Summary +- Apache License 2.0 Modified: felix/trunk/main/doc/changelog.txt URL: http://svn.apache.org/viewvc/felix/trunk/main/doc/changelog.txt?rev=650318r1=650317r2=650318view=diff == --- felix/trunk/main/doc/changelog.txt (original) +++ felix/trunk/main/doc/changelog.txt Mon Apr 21 16:43:37 2008 @@ -1,3 +1,8 @@ +Changes from 1.0.3 to 1.0.4 +--- + +* [2008-04-22] Update to framework version 1.0.4. + Changes from 1.0.1 to 1.0.3 ---
svn commit: r650444 - /felix/trunk/org.osgi.core/pom.xml
Author: pauls Date: Tue Apr 22 04:42:27 2008 New Revision: 650444 URL: http://svn.apache.org/viewvc?rev=650444view=rev Log: [maven-release-plugin] prepare release org.osgi.core-1.0.1 Modified: felix/trunk/org.osgi.core/pom.xml Modified: felix/trunk/org.osgi.core/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.core/pom.xml?rev=650444r1=650443r2=650444view=diff == --- felix/trunk/org.osgi.core/pom.xml (original) +++ felix/trunk/org.osgi.core/pom.xml Tue Apr 22 04:42:27 2008 @@ -31,7 +31,7 @@ nameOSGi R4 Core Bundle/name descriptionOSGi Service Platform Release 4 Core Interfaces and Classes./description artifactIdorg.osgi.core/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version packagingbundle/packaging build plugins @@ -53,4 +53,10 @@ /plugin /plugins /build + + scm + connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.core-1.0.1/connection + developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.core-1.0.1/developerConnection + urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.core-1.0.1/url + /scm /project
svn commit: r650445 - in /felix/releases/org.osgi.core-1.0.1: ./ pom.xml
Author: pauls Date: Tue Apr 22 04:42:41 2008 New Revision: 650445 URL: http://svn.apache.org/viewvc?rev=650445view=rev Log: [maven-release-plugin] copy for tag org.osgi.core-1.0.1 Added: felix/releases/org.osgi.core-1.0.1/ - copied from r650442, felix/trunk/org.osgi.core/ felix/releases/org.osgi.core-1.0.1/pom.xml - copied unchanged from r650444, felix/trunk/org.osgi.core/pom.xml
svn commit: r650446 - /felix/trunk/org.osgi.core/pom.xml
Author: pauls Date: Tue Apr 22 04:42:56 2008 New Revision: 650446 URL: http://svn.apache.org/viewvc?rev=650446view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: felix/trunk/org.osgi.core/pom.xml Modified: felix/trunk/org.osgi.core/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.core/pom.xml?rev=650446r1=650445r2=650446view=diff == --- felix/trunk/org.osgi.core/pom.xml (original) +++ felix/trunk/org.osgi.core/pom.xml Tue Apr 22 04:42:56 2008 @@ -31,7 +31,7 @@ nameOSGi R4 Core Bundle/name descriptionOSGi Service Platform Release 4 Core Interfaces and Classes./description artifactIdorg.osgi.core/artifactId - version1.0.1/version + version1.1.0-SNAPSHOT/version packagingbundle/packaging build plugins @@ -53,10 +53,4 @@ /plugin /plugins /build - - scm - connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.core-1.0.1/connection - developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.core-1.0.1/developerConnection - urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.core-1.0.1/url - /scm /project
svn commit: r650449 - /felix/trunk/org.osgi.compendium/pom.xml
Author: pauls Date: Tue Apr 22 05:05:40 2008 New Revision: 650449 URL: http://svn.apache.org/viewvc?rev=650449view=rev Log: [maven-release-plugin] prepare release org.osgi.compendium-1.0.1 Modified: felix/trunk/org.osgi.compendium/pom.xml Modified: felix/trunk/org.osgi.compendium/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/pom.xml?rev=650449r1=650448r2=650449view=diff == --- felix/trunk/org.osgi.compendium/pom.xml (original) +++ felix/trunk/org.osgi.compendium/pom.xml Tue Apr 22 05:05:40 2008 @@ -30,7 +30,7 @@ nameOSGi R4 Compendium Bundle/name descriptionOSGi Service Platform Release 4 Compendium Interfaces and Classes./description artifactIdorg.osgi.compendium/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version packagingbundle/packaging dependencies dependency @@ -70,4 +70,10 @@ /plugin /plugins /build + + scm + connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.compendium-1.0.1/connection + developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.compendium-1.0.1/developerConnection + urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.compendium-1.0.1/url + /scm /project
svn commit: r650451 - in /felix/releases/org.osgi.compendium-1.0.1: ./ pom.xml
Author: pauls Date: Tue Apr 22 05:06:03 2008 New Revision: 650451 URL: http://svn.apache.org/viewvc?rev=650451view=rev Log: [maven-release-plugin] copy for tag org.osgi.compendium-1.0.1 Added: felix/releases/org.osgi.compendium-1.0.1/ - copied from r650442, felix/trunk/org.osgi.compendium/ felix/releases/org.osgi.compendium-1.0.1/pom.xml - copied unchanged from r650449, felix/trunk/org.osgi.compendium/pom.xml
svn commit: r650452 - /felix/trunk/org.osgi.compendium/pom.xml
Author: pauls Date: Tue Apr 22 05:06:14 2008 New Revision: 650452 URL: http://svn.apache.org/viewvc?rev=650452view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: felix/trunk/org.osgi.compendium/pom.xml Modified: felix/trunk/org.osgi.compendium/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/pom.xml?rev=650452r1=650451r2=650452view=diff == --- felix/trunk/org.osgi.compendium/pom.xml (original) +++ felix/trunk/org.osgi.compendium/pom.xml Tue Apr 22 05:06:14 2008 @@ -30,7 +30,7 @@ nameOSGi R4 Compendium Bundle/name descriptionOSGi Service Platform Release 4 Compendium Interfaces and Classes./description artifactIdorg.osgi.compendium/artifactId - version1.0.1/version + version1.1.0-SNAPSHOT/version packagingbundle/packaging dependencies dependency @@ -70,10 +70,4 @@ /plugin /plugins /build - - scm - connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.compendium-1.0.1/connection - developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.compendium-1.0.1/developerConnection - urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.compendium-1.0.1/url - /scm /project
svn commit: r650453 - /felix/trunk/org.osgi.compendium/pom.xml
Author: pauls Date: Tue Apr 22 05:09:43 2008 New Revision: 650453 URL: http://svn.apache.org/viewvc?rev=650453view=rev Log: Manually update dependencies to snapshot. Modified: felix/trunk/org.osgi.compendium/pom.xml Modified: felix/trunk/org.osgi.compendium/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/pom.xml?rev=650453r1=650452r2=650453view=diff == --- felix/trunk/org.osgi.compendium/pom.xml (original) +++ felix/trunk/org.osgi.compendium/pom.xml Tue Apr 22 05:09:43 2008 @@ -36,7 +36,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.core/artifactId - version1.0.1/version + version1.1.0-SNAPSHOT/version /dependency dependency groupId${pom.groupId}/groupId
svn commit: r650454 - /felix/trunk/org.osgi.service.obr/pom.xml
Author: pauls Date: Tue Apr 22 05:11:39 2008 New Revision: 650454 URL: http://svn.apache.org/viewvc?rev=650454view=rev Log: Manually update dependencies to minor release. Modified: felix/trunk/org.osgi.service.obr/pom.xml Modified: felix/trunk/org.osgi.service.obr/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.service.obr/pom.xml?rev=650454r1=650453r2=650454view=diff == --- felix/trunk/org.osgi.service.obr/pom.xml (original) +++ felix/trunk/org.osgi.service.obr/pom.xml Tue Apr 22 05:11:39 2008 @@ -37,7 +37,7 @@ dependency groupIdorg.apache.felix/groupId artifactIdorg.osgi.core/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version /dependency /dependencies build
svn commit: r650455 - /felix/trunk/org.osgi.service.obr/pom.xml
Author: pauls Date: Tue Apr 22 05:13:14 2008 New Revision: 650455 URL: http://svn.apache.org/viewvc?rev=650455view=rev Log: [maven-release-plugin] prepare release org.osgi.service.obr-1.0.2 Modified: felix/trunk/org.osgi.service.obr/pom.xml Modified: felix/trunk/org.osgi.service.obr/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.service.obr/pom.xml?rev=650455r1=650454r2=650455view=diff == --- felix/trunk/org.osgi.service.obr/pom.xml (original) +++ felix/trunk/org.osgi.service.obr/pom.xml Tue Apr 22 05:13:14 2008 @@ -31,7 +31,7 @@ nameOSGi OBR Service API/name descriptionOSGi OBR Service API/description artifactIdorg.osgi.service.obr/artifactId - version1.1.0-SNAPSHOT/version + version1.0.2/version packagingbundle/packaging dependencies dependency @@ -59,4 +59,10 @@ /plugin /plugins /build + + scm + connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.service.obr-1.0.2/connection + developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.service.obr-1.0.2/developerConnection + urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.service.obr-1.0.2/url + /scm /project
svn commit: r650456 - in /felix/releases/org.osgi.service.obr-1.0.2: ./ pom.xml
Author: pauls Date: Tue Apr 22 05:13:35 2008 New Revision: 650456 URL: http://svn.apache.org/viewvc?rev=650456view=rev Log: [maven-release-plugin] copy for tag org.osgi.service.obr-1.0.2 Added: felix/releases/org.osgi.service.obr-1.0.2/ - copied from r650442, felix/trunk/org.osgi.service.obr/ felix/releases/org.osgi.service.obr-1.0.2/pom.xml - copied unchanged from r650455, felix/trunk/org.osgi.service.obr/pom.xml
svn commit: r650457 - /felix/trunk/org.osgi.service.obr/pom.xml
Author: pauls Date: Tue Apr 22 05:13:58 2008 New Revision: 650457 URL: http://svn.apache.org/viewvc?rev=650457view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: felix/trunk/org.osgi.service.obr/pom.xml Modified: felix/trunk/org.osgi.service.obr/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.service.obr/pom.xml?rev=650457r1=650456r2=650457view=diff == --- felix/trunk/org.osgi.service.obr/pom.xml (original) +++ felix/trunk/org.osgi.service.obr/pom.xml Tue Apr 22 05:13:58 2008 @@ -31,7 +31,7 @@ nameOSGi OBR Service API/name descriptionOSGi OBR Service API/description artifactIdorg.osgi.service.obr/artifactId - version1.0.2/version + version1.1.0-SNAPSHOT/version packagingbundle/packaging dependencies dependency @@ -59,10 +59,4 @@ /plugin /plugins /build - - scm - connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.service.obr-1.0.2/connection - developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.service.obr-1.0.2/developerConnection - urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.osgi.service.obr-1.0.2/url - /scm /project
svn commit: r650459 - /felix/trunk/org.osgi.service.obr/pom.xml
Author: pauls Date: Tue Apr 22 05:15:38 2008 New Revision: 650459 URL: http://svn.apache.org/viewvc?rev=650459view=rev Log: Manually update dependencies to snapshot. Modified: felix/trunk/org.osgi.service.obr/pom.xml Modified: felix/trunk/org.osgi.service.obr/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.service.obr/pom.xml?rev=650459r1=650458r2=650459view=diff == --- felix/trunk/org.osgi.service.obr/pom.xml (original) +++ felix/trunk/org.osgi.service.obr/pom.xml Tue Apr 22 05:15:38 2008 @@ -37,7 +37,7 @@ dependency groupIdorg.apache.felix/groupId artifactIdorg.osgi.core/artifactId - version1.0.1/version + version1.1.0-SNAPSHOT/version /dependency /dependencies build
svn commit: r650460 - /felix/trunk/shell/pom.xml
Author: pauls Date: Tue Apr 22 05:16:36 2008 New Revision: 650460 URL: http://svn.apache.org/viewvc?rev=650460view=rev Log: Manually update dependencies to minor release. Modified: felix/trunk/shell/pom.xml Modified: felix/trunk/shell/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/shell/pom.xml?rev=650460r1=650459r2=650460view=diff == --- felix/trunk/shell/pom.xml (original) +++ felix/trunk/shell/pom.xml Tue Apr 22 05:16:36 2008 @@ -33,7 +33,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.core/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version /dependency /dependencies build
svn commit: r650461 - /felix/trunk/shell/pom.xml
Author: pauls Date: Tue Apr 22 05:17:54 2008 New Revision: 650461 URL: http://svn.apache.org/viewvc?rev=650461view=rev Log: [maven-release-plugin] prepare release org.apache.felix.shell-1.0.1 Modified: felix/trunk/shell/pom.xml Modified: felix/trunk/shell/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/shell/pom.xml?rev=650461r1=650460r2=650461view=diff == --- felix/trunk/shell/pom.xml (original) +++ felix/trunk/shell/pom.xml Tue Apr 22 05:17:54 2008 @@ -28,7 +28,7 @@ nameApache Felix Shell Service/name descriptionA simple OSGi command shell service./description artifactIdorg.apache.felix.shell/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version dependencies dependency groupId${pom.groupId}/groupId @@ -57,4 +57,10 @@ /plugin /plugins /build + + scm + connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell-1.0.1/connection + developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell-1.0.1/developerConnection + urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell-1.0.1/url + /scm /project
svn commit: r650462 - in /felix/releases/org.apache.felix.shell-1.0.1: ./ pom.xml
Author: pauls Date: Tue Apr 22 05:18:10 2008 New Revision: 650462 URL: http://svn.apache.org/viewvc?rev=650462view=rev Log: [maven-release-plugin] copy for tag org.apache.felix.shell-1.0.1 Added: felix/releases/org.apache.felix.shell-1.0.1/ - copied from r650442, felix/trunk/shell/ felix/releases/org.apache.felix.shell-1.0.1/pom.xml - copied unchanged from r650461, felix/trunk/shell/pom.xml
svn commit: r650463 - /felix/trunk/shell/pom.xml
Author: pauls Date: Tue Apr 22 05:18:26 2008 New Revision: 650463 URL: http://svn.apache.org/viewvc?rev=650463view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: felix/trunk/shell/pom.xml Modified: felix/trunk/shell/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/shell/pom.xml?rev=650463r1=650462r2=650463view=diff == --- felix/trunk/shell/pom.xml (original) +++ felix/trunk/shell/pom.xml Tue Apr 22 05:18:26 2008 @@ -28,7 +28,7 @@ nameApache Felix Shell Service/name descriptionA simple OSGi command shell service./description artifactIdorg.apache.felix.shell/artifactId - version1.0.1/version + version1.1.0-SNAPSHOT/version dependencies dependency groupId${pom.groupId}/groupId @@ -57,10 +57,4 @@ /plugin /plugins /build - - scm - connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell-1.0.1/connection - developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell-1.0.1/developerConnection - urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell-1.0.1/url - /scm /project
svn commit: r650464 - /felix/trunk/shell/pom.xml
Author: pauls Date: Tue Apr 22 05:20:18 2008 New Revision: 650464 URL: http://svn.apache.org/viewvc?rev=650464view=rev Log: Manually update dependencies to snapshot. Modified: felix/trunk/shell/pom.xml Modified: felix/trunk/shell/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/shell/pom.xml?rev=650464r1=650463r2=650464view=diff == --- felix/trunk/shell/pom.xml (original) +++ felix/trunk/shell/pom.xml Tue Apr 22 05:20:18 2008 @@ -33,7 +33,7 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.core/artifactId - version1.0.1/version + version1.1.0-SNAPSHOT/version /dependency /dependencies build
svn commit: r650465 - /felix/trunk/shell.tui/pom.xml
Author: pauls Date: Tue Apr 22 05:21:27 2008 New Revision: 650465 URL: http://svn.apache.org/viewvc?rev=650465view=rev Log: Manually update dependencies to minor release. Modified: felix/trunk/shell.tui/pom.xml Modified: felix/trunk/shell.tui/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/shell.tui/pom.xml?rev=650465r1=650464r2=650465view=diff == --- felix/trunk/shell.tui/pom.xml (original) +++ felix/trunk/shell.tui/pom.xml Tue Apr 22 05:21:27 2008 @@ -33,12 +33,12 @@ dependency groupId${pom.groupId}/groupId artifactIdorg.osgi.core/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version /dependency dependency groupId${pom.groupId}/groupId artifactIdorg.apache.felix.shell/artifactId - version1.1.0-SNAPSHOT/version + version1.0.1/version /dependency /dependencies build
svn commit: r650466 - /felix/trunk/shell.tui/pom.xml
Author: pauls Date: Tue Apr 22 05:23:22 2008 New Revision: 650466 URL: http://svn.apache.org/viewvc?rev=650466view=rev Log: [maven-release-plugin] prepare release org.apache.felix.shell.tui-1.0.1 Modified: felix/trunk/shell.tui/pom.xml Modified: felix/trunk/shell.tui/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/shell.tui/pom.xml?rev=650466r1=650465r2=650466view=diff == --- felix/trunk/shell.tui/pom.xml (original) +++ felix/trunk/shell.tui/pom.xml Tue Apr 22 05:23:22 2008 @@ -27,7 +27,7 @@ packagingbundle/packaging nameApache Felix Shell TUI/name descriptionA simple textual user interface for Felix' shell service./description - version1.1.0-SNAPSHOT/version + version1.0.1/version artifactIdorg.apache.felix.shell.tui/artifactId dependencies dependency @@ -63,4 +63,10 @@ /plugin /plugins /build + + scm + connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell.tui-1.0.1/connection + developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell.tui-1.0.1/developerConnection + urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell.tui-1.0.1/url + /scm /project
svn commit: r650467 - in /felix/releases/org.apache.felix.shell.tui-1.0.1: ./ pom.xml
Author: pauls Date: Tue Apr 22 05:23:45 2008 New Revision: 650467 URL: http://svn.apache.org/viewvc?rev=650467view=rev Log: [maven-release-plugin] copy for tag org.apache.felix.shell.tui-1.0.1 Added: felix/releases/org.apache.felix.shell.tui-1.0.1/ - copied from r650442, felix/trunk/shell.tui/ felix/releases/org.apache.felix.shell.tui-1.0.1/pom.xml - copied unchanged from r650466, felix/trunk/shell.tui/pom.xml
svn commit: r650468 - /felix/trunk/shell.tui/pom.xml
Author: pauls Date: Tue Apr 22 05:23:58 2008 New Revision: 650468 URL: http://svn.apache.org/viewvc?rev=650468view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: felix/trunk/shell.tui/pom.xml Modified: felix/trunk/shell.tui/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/shell.tui/pom.xml?rev=650468r1=650467r2=650468view=diff == --- felix/trunk/shell.tui/pom.xml (original) +++ felix/trunk/shell.tui/pom.xml Tue Apr 22 05:23:58 2008 @@ -27,7 +27,7 @@ packagingbundle/packaging nameApache Felix Shell TUI/name descriptionA simple textual user interface for Felix' shell service./description - version1.0.1/version + version1.1.0-SNAPSHOT/version artifactIdorg.apache.felix.shell.tui/artifactId dependencies dependency @@ -63,10 +63,4 @@ /plugin /plugins /build - - scm - connectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell.tui-1.0.1/connection - developerConnectionscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell.tui-1.0.1/developerConnection - urlscm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.shell.tui-1.0.1/url - /scm /project