You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by mc...@apache.org on 2012/06/29 21:23:21 UTC
svn commit: r1355520 [1/2] - in /felix/trunk/bundleplugin/src/main/java:
aQute/bnd/build/ aQute/bnd/build/model/ aQute/bnd/build/model/clauses/
aQute/bnd/compatibility/ aQute/bnd/differ/ aQute/bnd/make/component/
aQute/bnd/maven/ aQute/bnd/maven/suppor...
Author: mcculls
Date: Fri Jun 29 19:23:09 2012
New Revision: 1355520
URL: http://svn.apache.org/viewvc?rev=1355520&view=rev
Log:
Latest bnd code
Added:
felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java (with props)
felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Domain.java (with props)
felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/ReplacerAdapter.java (with props)
felix/trunk/bundleplugin/src/main/java/aQute/service/
felix/trunk/bundleplugin/src/main/java/aQute/service/reporter/
felix/trunk/bundleplugin/src/main/java/aQute/service/reporter/Report.java (with props)
felix/trunk/bundleplugin/src/main/java/aQute/service/reporter/Reporter.java (with props)
felix/trunk/bundleplugin/src/main/java/aQute/service/reporter/packageinfo
Removed:
felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Reporter.java
Modified:
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/LowerVersionMatchType.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/UpperVersionMatchType.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/VersionPolicy.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ComponentSvcReference.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/Signatures.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/component/ComponentAnnotationReader.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeploy.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeployCmd.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenGroup.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenRepository.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/support/MavenRemoteRepository.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/repo/eclipse/EclipseRepo.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/BndListener.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/Plugin.java
felix/trunk/bundleplugin/src/main/java/aQute/bnd/signing/JartoolSigner.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/collections/ExtList.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/Converter.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/TypeReference.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileInstallRepo.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileRepo.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLine.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLineMessages.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/json/MapHandler.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/AnalyzerMessages.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Builder.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CombinedResource.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CommandResource.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Domain.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Jar.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Processor.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/eclipse/EclipseClasspath.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/CopyOnWriteTextStore.java
felix/trunk/bundleplugin/src/main/java/aQute/lib/tag/Tag.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/classdump/ClassDumper.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/clauses/Selector.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/command/Command.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/glob/Glob.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/header/Parameters.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Message.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Messages.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterAdapter.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterMessages.java
felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Sed.java
felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BlueprintPlugin.java
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java Fri Jun 29 19:23:09 2012
@@ -15,7 +15,7 @@ import aQute.bnd.service.action.*;
import aQute.lib.deployer.*;
import aQute.lib.io.*;
import aQute.lib.osgi.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class Workspace extends Processor {
public static final String BUILDFILE = "build.bnd";
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,12 @@
package aQute.bnd.build;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import aQute.bnd.service.RepositoryPlugin;
-import aQute.lib.osgi.Jar;
-import aQute.libg.version.Version;
-import aQute.libg.version.VersionRange;
+import java.io.*;
+import java.util.*;
+import java.util.regex.*;
+
+import aQute.bnd.service.*;
+import aQute.lib.osgi.*;
+import aQute.libg.version.*;
public class WorkspaceRepository implements RepositoryPlugin {
private final Workspace workspace;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model;
import java.beans.*;
@@ -15,14 +5,13 @@ import java.io.*;
import java.util.*;
import java.util.Map.Entry;
-import org.osgi.framework.*;
-
import aQute.bnd.build.model.clauses.*;
import aQute.bnd.build.model.conversions.*;
+import aQute.lib.osgi.*;
import aQute.lib.properties.*;
import aQute.libg.header.*;
import aQute.libg.tuple.*;
-import aQute.libg.version.Version;
+import aQute.libg.version.*;
/**
* A model for a Bnd file. In the first iteration, use a simple Properties
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/LowerVersionMatchType.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/LowerVersionMatchType.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/LowerVersionMatchType.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/LowerVersionMatchType.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model;
public enum LowerVersionMatchType {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/UpperVersionMatchType.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/UpperVersionMatchType.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/UpperVersionMatchType.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/UpperVersionMatchType.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model;
public enum UpperVersionMatchType {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/VersionPolicy.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/VersionPolicy.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/VersionPolicy.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/VersionPolicy.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model;
public class VersionPolicy {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ComponentSvcReference.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ComponentSvcReference.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ComponentSvcReference.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ComponentSvcReference.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model.clauses;
public class ComponentSvcReference implements Cloneable {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model.clauses;
import org.osgi.framework.Constants;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model.clauses;
import java.util.ArrayList;
@@ -137,6 +127,7 @@ public class HeaderClause implements Clo
return this.name.compareTo(other.name);
}
+ @SuppressWarnings("deprecation")
@Override
public int hashCode() {
final int prime = 31;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model.clauses;
import org.osgi.framework.Constants;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java Fri Jun 29 19:23:09 2012
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 Neil Bartlett.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Neil Bartlett - initial API and implementation
- *******************************************************************************/
package aQute.bnd.build.model.clauses;
import java.util.ArrayList;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/Signatures.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/Signatures.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/Signatures.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/Signatures.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) OSGi Alliance (2009, 2010). 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 aQute.bnd.compatibility;
import java.lang.reflect.*;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java Fri Jun 29 19:23:09 2012
@@ -9,8 +9,8 @@ import aQute.bnd.service.diff.Diff.Ignor
import aQute.lib.osgi.*;
import aQute.libg.generics.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
import aQute.libg.version.*;
+import aQute.service.reporter.*;
/**
* This class maintains
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/component/ComponentAnnotationReader.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/component/ComponentAnnotationReader.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/component/ComponentAnnotationReader.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/component/ComponentAnnotationReader.java Fri Jun 29 19:23:09 2012
@@ -10,7 +10,7 @@ import aQute.bnd.annotation.component.*;
import aQute.lib.osgi.*;
import aQute.lib.osgi.Clazz.MethodDef;
import aQute.lib.osgi.Descriptors.TypeRef;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class ComponentAnnotationReader extends ClassDataCollector {
String EMPTY[] = new String[0];
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeploy.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeploy.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeploy.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeploy.java Fri Jun 29 19:23:09 2012
@@ -9,7 +9,7 @@ import aQute.bnd.service.*;
import aQute.lib.osgi.*;
import aQute.libg.command.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class MavenDeploy implements Deploy, Plugin {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeployCmd.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeployCmd.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeployCmd.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeployCmd.java Fri Jun 29 19:23:09 2012
@@ -8,7 +8,7 @@ import aQute.bnd.build.*;
import aQute.lib.osgi.*;
import aQute.libg.command.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class MavenDeployCmd extends Processor {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenGroup.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenGroup.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenGroup.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenGroup.java Fri Jun 29 19:23:09 2012
@@ -3,7 +3,7 @@ package aQute.bnd.maven;
import java.util.*;
import aQute.bnd.service.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class MavenGroup implements BsnToMavenPath, Plugin {
String groupId = "";
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenRepository.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenRepository.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenRepository.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenRepository.java Fri Jun 29 19:23:09 2012
@@ -6,8 +6,8 @@ import java.util.regex.*;
import aQute.bnd.service.*;
import aQute.lib.osgi.*;
-import aQute.libg.reporter.*;
import aQute.libg.version.*;
+import aQute.service.reporter.*;
public class MavenRepository implements RepositoryPlugin, Plugin, BsnToMavenPath {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/support/MavenRemoteRepository.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/support/MavenRemoteRepository.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/support/MavenRemoteRepository.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/support/MavenRemoteRepository.java Fri Jun 29 19:23:09 2012
@@ -7,8 +7,8 @@ import java.util.*;
import aQute.bnd.service.*;
import aQute.lib.io.*;
import aQute.lib.osgi.*;
-import aQute.libg.reporter.*;
import aQute.libg.version.*;
+import aQute.service.reporter.*;
public class MavenRemoteRepository implements RepositoryPlugin, RegistryPlugin, Plugin {
Reporter reporter;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/repo/eclipse/EclipseRepo.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/repo/eclipse/EclipseRepo.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/repo/eclipse/EclipseRepo.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/repo/eclipse/EclipseRepo.java Fri Jun 29 19:23:09 2012
@@ -10,8 +10,8 @@ import aQute.lib.io.*;
import aQute.lib.osgi.*;
import aQute.libg.generics.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
import aQute.libg.version.*;
+import aQute.service.reporter.*;
public class EclipseRepo implements Plugin, RepositoryPlugin {
File root;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/BndListener.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/BndListener.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/BndListener.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/BndListener.java Fri Jun 29 19:23:09 2012
@@ -3,7 +3,7 @@ package aQute.bnd.service;
import java.io.*;
import java.util.concurrent.atomic.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class BndListener {
final AtomicInteger inside = new AtomicInteger();
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/Plugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/Plugin.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/Plugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/Plugin.java Fri Jun 29 19:23:09 2012
@@ -2,7 +2,7 @@ package aQute.bnd.service;
import java.util.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
/**
* An optional interface for plugins. If a plugin implements this interface then
Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/signing/JartoolSigner.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/signing/JartoolSigner.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/signing/JartoolSigner.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/signing/JartoolSigner.java Fri Jun 29 19:23:09 2012
@@ -8,7 +8,7 @@ import java.util.concurrent.*;
import aQute.bnd.service.*;
import aQute.lib.osgi.*;
import aQute.libg.command.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
/**
* Sign the jar file. -sign : <alias> [ ';' 'password:=' <password> ] [ ';'
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/collections/ExtList.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/collections/ExtList.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/collections/ExtList.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/collections/ExtList.java Fri Jun 29 19:23:09 2012
@@ -12,6 +12,22 @@ public class ExtList<T> extends ArrayLis
}
}
+ public ExtList(int size) {
+ super(size);
+ }
+
+ public static ExtList<String> from(String s) {
+ // TODO make sure no \ before comma
+ return from(s, "\\s*,\\s*");
+ }
+ public static ExtList<String> from(String s, String delimeter) {
+ ExtList<String> result = new ExtList<String>();
+ String[] parts = s.split(delimeter);
+ for (String p : parts)
+ result.add(p);
+ return result;
+ }
+
public String join() {
return join(",");
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/Converter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/Converter.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/Converter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/Converter.java Fri Jun 29 19:23:09 2012
@@ -32,14 +32,18 @@ public class Converter {
}
public <T> T convert(TypeReference<T> type, Object o) throws Exception {
- return (T) convert( type.getType(), o);
+ return (T) convert(type.getType(), o);
}
-
+
public Object convert(Type type, Object o) throws Exception {
- if (o == null)
+ Class resultType = getRawClass(type);
+ if (o == null) {
+ if (resultType.isPrimitive()|| Number.class.isAssignableFrom(resultType))
+ return convert(type,0);
+
return null; // compatible with any
+ }
-
Hook hook = hooks.get(type);
if (hook != null) {
Object value = hook.convert(type, o);
@@ -47,7 +51,6 @@ public class Converter {
return value;
}
- Class resultType = getRawClass(type);
Class< ? > actualType = o.getClass();
// We can always make a string
@@ -111,6 +114,10 @@ public class Converter {
if (resultType.isAssignableFrom(o.getClass()))
return o;
+ if (Map.class.isAssignableFrom(actualType) && resultType.isInterface()) {
+ return proxy(resultType, (Map) o);
+ }
+
// Simple type coercion
if (resultType == boolean.class || resultType == Boolean.class) {
@@ -243,6 +250,8 @@ public class Converter {
return error("No conversion found for " + o.getClass() + " to " + type);
}
+
+
private Number number(Object o) {
if (o instanceof Number)
return (Number) o;
@@ -311,8 +320,9 @@ public class Converter {
result = new TreeMap();
else if (rawClass.isAssignableFrom(ConcurrentHashMap.class))
result = new ConcurrentHashMap();
- else
+ else {
return (Map) error("Cannot find suitable map for map interface " + rawClass);
+ }
} else
result = rawClass.newInstance();
@@ -421,4 +431,44 @@ public class Converter {
this.hooks.put(type, hook);
return this;
}
+
+ /**
+ * Convert a map to an interface.
+ *
+ * @param interfc
+ * @param properties
+ * @return
+ */
+ public <T> T proxy(Class<T> interfc, final Map< ? , ? > properties) {
+ return (T) Proxy.newProxyInstance(interfc.getClassLoader(), new Class[] {
+ interfc
+ }, new InvocationHandler() {
+
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ Object o = properties.get(method.getName());
+ if ( o == null)
+ o = properties.get(mangleMethodName(method.getName()));
+
+ return convert( method.getGenericReturnType(), o);
+ }
+
+ });
+ }
+
+ public static String mangleMethodName(String id) {
+ StringBuilder sb = new StringBuilder(id);
+ for (int i = 0; i < sb.length(); i++) {
+ char c = sb.charAt(i);
+ boolean twice = i < sb.length() - 1 && sb.charAt(i + 1) == c;
+ if (c == '$' || c == '_') {
+ if (twice)
+ sb.deleteCharAt(i + 1);
+ else if (c == '$')
+ sb.deleteCharAt(i--); // Remove dollars
+ else
+ sb.setCharAt(i, '.'); // Make _ into .
+ }
+ }
+ return sb.toString();
+ }
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/TypeReference.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/TypeReference.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/TypeReference.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/TypeReference.java Fri Jun 29 19:23:09 2012
@@ -4,6 +4,9 @@ import java.lang.reflect.*;
public class TypeReference<T> implements Type {
+ protected TypeReference() {
+ // Make sure it cannot be directly instantiated
+ }
public Type getType() {
return ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileInstallRepo.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileInstallRepo.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileInstallRepo.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileInstallRepo.java Fri Jun 29 19:23:09 2012
@@ -7,8 +7,8 @@ import java.util.regex.*;
import aQute.lib.osgi.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
import aQute.libg.version.*;
+import aQute.service.reporter.*;
public class FileInstallRepo extends FileRepo {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileRepo.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileRepo.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileRepo.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileRepo.java Fri Jun 29 19:23:09 2012
@@ -9,8 +9,8 @@ import aQute.bnd.service.*;
import aQute.lib.io.*;
import aQute.lib.osgi.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
import aQute.libg.version.*;
+import aQute.service.reporter.*;
public class FileRepo implements Plugin, RepositoryPlugin, Refreshable, RegistryPlugin {
public final static String LOCATION = "location";
@@ -157,10 +157,10 @@ public class FileRepo implements Plugin,
reporter.trace("updating %s ", file.getAbsolutePath());
if (!file.exists() || file.lastModified() < jar.lastModified()) {
jar.write(file);
- reporter.progress("updated " + file.getAbsolutePath());
+ reporter.progress(-1, "updated " + file.getAbsolutePath());
fireBundleAdded(jar, file);
} else {
- reporter.progress("Did not update " + jar + " because repo has a newer version");
+ reporter.progress(-1, "Did not update " + jar + " because repo has a newer version");
reporter.trace("NOT Updating " + fName + " (repo is newer)");
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLine.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLine.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLine.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLine.java Fri Jun 29 19:23:09 2012
@@ -9,6 +9,7 @@ import aQute.configurable.*;
import aQute.lib.justif.*;
import aQute.libg.generics.*;
import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
/**
* Helps parsing command lines. This class takes target object, a primary
@@ -101,7 +102,7 @@ public class CommandLine {
// Handle vararg
- if (pattern.equals("...")) {
+ if (pattern.contains("...")) {
i = Integer.MAX_VALUE;
break;
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLineMessages.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLineMessages.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLineMessages.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/getopt/CommandLineMessages.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) OSGi Alliance (2012). 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 aQute.lib.getopt;
import java.util.*;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java Fri Jun 29 19:23:09 2012
@@ -190,6 +190,8 @@ public class JSONCodec {
h = new CollectionHandler(rawClass, pt.getActualTypeArguments()[0]);
else if (Map.class.isAssignableFrom(rawClass))
h = new MapHandler(rawClass, pt.getActualTypeArguments()[0], pt.getActualTypeArguments()[1]);
+ else if (Dictionary.class.isAssignableFrom(rawClass))
+ h = new MapHandler(Hashtable.class, pt.getActualTypeArguments()[0], pt.getActualTypeArguments()[1]);
else
throw new IllegalArgumentException("Found a parameterized type that is not a map or collection");
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/json/MapHandler.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/json/MapHandler.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/json/MapHandler.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/json/MapHandler.java Fri Jun 29 19:23:09 2012
@@ -21,6 +21,8 @@ public class MapHandler extends Handler
rawClass = Hashtable.class;
else if (rawClass.isAssignableFrom(LinkedHashMap.class))
rawClass = LinkedHashMap.class;
+ else if (rawClass.isAssignableFrom(Dictionary.class))
+ rawClass = Hashtable.class;
else
throw new IllegalArgumentException("Unknown map interface: " + rawClass);
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/AnalyzerMessages.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/AnalyzerMessages.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/AnalyzerMessages.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/AnalyzerMessages.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) OSGi Alliance (2012). 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 aQute.lib.osgi;
import aQute.libg.reporter.*;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Builder.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Builder.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Builder.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Builder.java Fri Jun 29 19:23:09 2012
@@ -117,7 +117,6 @@ public class Builder extends Analyzer {
dot.setName(getBsn());
sign(dot);
- doDigests(dot);
doSaveManifest(dot);
doDiff(dot); // check if need to diff this bundle
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CombinedResource.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CombinedResource.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CombinedResource.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CombinedResource.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) OSGi Alliance (2012). 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 aQute.lib.osgi;
import java.io.*;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CommandResource.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CommandResource.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CommandResource.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CommandResource.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) OSGi Alliance (2012). 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 aQute.lib.osgi;
import java.io.*;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Domain.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Domain.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Domain.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Domain.java Fri Jun 29 19:23:09 2012
@@ -6,8 +6,8 @@ import java.util.*;
import java.util.jar.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
import aQute.libg.version.*;
+import aQute.service.reporter.*;
/**
* This class abstracts domains that have properties holding OSGi meta data. It
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Jar.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Jar.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Jar.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Jar.java Fri Jun 29 19:23:09 2012
@@ -11,7 +11,7 @@ import java.util.zip.*;
import aQute.lib.base64.*;
import aQute.lib.io.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class Jar implements Closeable {
public enum Compression {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Processor.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Processor.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Processor.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Processor.java Fri Jun 29 19:23:09 2012
@@ -13,7 +13,7 @@ import aQute.lib.collections.*;
import aQute.lib.io.*;
import aQute.libg.generics.*;
import aQute.libg.header.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class Processor extends Domain implements Reporter, Registry, Constants, Closeable {
@@ -113,41 +113,64 @@ public class Processor extends Domain im
return p;
}
- public void warning(String string, Object... args) {
+ public SetLocation warning(String string, Object... args) {
Processor p = current();
String s = formatArrays(string, args);
if (!p.warnings.contains(s))
p.warnings.add(s);
p.signal();
+ return location(s);
}
- public void error(String string, Object... args) {
+ public SetLocation error(String string, Object... args) {
Processor p = current();
- if (p.isFailOk())
- p.warning(string, args);
- else {
- String s = formatArrays(string, args == null ? new Object[0] : args);
- if (!p.errors.contains(s))
- p.errors.add(s);
+ try {
+ if (p.isFailOk())
+ return p.warning(string, args);
+ else {
+ String s = formatArrays(string, args == null ? new Object[0] : args);
+ if (!p.errors.contains(s))
+ p.errors.add(s);
+ return location(s);
+ }
+ }
+ finally {
+ p.signal();
}
- p.signal();
}
- public void error(String string, Throwable t, Object... args) {
- Processor p = current();
+ public void progress(float progress, String format, Object... args) {
+ format = String.format("[%2d] %s", (int)progress, format);
+ trace(format, args);
+ }
- if (p.isFailOk())
- p.warning(string + ": " + t, args);
- else {
- p.errors.add("Exception: " + t.getMessage());
- String s = formatArrays(string, args == null ? new Object[0] : args);
- if (!p.errors.contains(s))
- p.errors.add(s);
- }
- if (p.exceptions)
- t.printStackTrace();
+ public void progress(String format, Object... args) {
+ progress(-1f, format, args);
+ }
- p.signal();
+ public SetLocation exception(Throwable t, String format, Object... args) {
+ return error(format, t, args);
+ }
+
+ public SetLocation error(String string, Throwable t, Object... args) {
+ Processor p = current();
+ try {
+ if (p.exceptions)
+ t.printStackTrace();
+ if (p.isFailOk()) {
+ return p.warning(string + ": " + t, args);
+ }
+ else {
+ p.errors.add("Exception: " + t.getMessage());
+ String s = formatArrays(string, args == null ? new Object[0] : args);
+ if (!p.errors.contains(s))
+ p.errors.add(s);
+ return location(s);
+ }
+ }
+ finally {
+ p.signal();
+ }
}
public void signal() {}
@@ -184,10 +207,6 @@ public class Processor extends Domain im
toBeClosed.remove(jar);
}
- public void progress(String s, Object... args) {
- trace(s, args);
- }
-
public boolean isPedantic() {
return current().pedantic;
}
@@ -1584,4 +1603,64 @@ public class Processor extends Domain im
return s + newExtension;
}
+
+ /**
+ * Create a location object and add it to the locations
+ *
+ * @param s
+ * @return
+ */
+ List<Location> locations = new ArrayList<Location>();
+
+ static class SetLocationImpl extends Location implements SetLocation {
+ public SetLocationImpl(String s) {
+ this.message = s;
+ }
+
+ public SetLocation file(String file) {
+ this.file = file;
+ return this;
+ }
+
+ public SetLocation header(String header) {
+ this.header = header;
+ return this;
+ }
+
+ public SetLocation context(String context) {
+ this.context = context;
+ return this;
+ }
+
+ public SetLocation method(String methodName) {
+ this.methodName = methodName;
+ return this;
+ }
+
+ public SetLocation line(int n) {
+ this.line = n;
+ return this;
+ }
+
+ public SetLocation reference(String reference) {
+ this.reference = reference;
+ return this;
+ }
+
+ }
+
+ private SetLocation location(String s) {
+ SetLocationImpl loc = new SetLocationImpl(s);
+ locations.add(loc);
+ return loc;
+ }
+
+ public Location getLocation(String msg) {
+ for (Location l : locations)
+ if ((l.message != null) && l.message.equals(msg))
+ return l;
+
+ return null;
+ }
+
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/eclipse/EclipseClasspath.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/eclipse/EclipseClasspath.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/eclipse/EclipseClasspath.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/eclipse/EclipseClasspath.java Fri Jun 29 19:23:09 2012
@@ -9,7 +9,7 @@ import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
/**
* Parse the Eclipse project information for the classpath. Unfortunately, it is
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/CopyOnWriteTextStore.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/CopyOnWriteTextStore.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/CopyOnWriteTextStore.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/CopyOnWriteTextStore.java Fri Jun 29 19:23:09 2012
@@ -29,7 +29,7 @@ public class CopyOnWriteTextStore implem
/**
* Create an empty text store.
*/
- private StringTextStore() {
+ StringTextStore() {
super();
}
@@ -39,7 +39,7 @@ public class CopyOnWriteTextStore implem
* @param text
* the initial content
*/
- private StringTextStore(String text) {
+ StringTextStore(String text) {
super();
set(text);
}
Added: felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java?rev=1355520&view=auto
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java (added)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java Fri Jun 29 19:23:09 2012
@@ -0,0 +1,115 @@
+package aQute.lib.properties;
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.util.regex.*;
+
+import aQute.lib.io.*;
+
+public class PropertiesReader {
+ static Pattern PROPERTY = Pattern.compile("(\\s*#.*$)|(([^\\s]+)\\s*[:=]?\\s*([^#])(#.*)$)|\\s+([^#]*)(#.*)$)",
+ Pattern.MULTILINE);
+
+ public static Properties read(Properties p, File f) throws Exception {
+ return read(p, IO.reader(f));
+ }
+
+ public static Properties read(Properties p, InputStream in, String charset) throws IOException {
+ return read(p, IO.reader(in, charset));
+ }
+
+ public static Properties read(Properties p, InputStream in) throws IOException {
+ return read(p, IO.reader(in));
+ }
+
+ public static Properties read(Properties p, URL in) throws IOException {
+ return read(p, IO.reader(in.openStream()));
+ }
+
+ private static Properties read(Properties p, BufferedReader reader) throws IOException {
+ if (p != null)
+ p = new Properties();
+
+ String line = reader.readLine();
+ String key = null;
+ StringBuilder value = new StringBuilder();
+
+ while (line != null) {
+ Matcher m = PROPERTY.matcher(line);
+ if (m.matches()) {
+
+ if (m.group(1) != null)
+ continue; // comment line
+
+ if (m.group(2) != null) {
+ // header
+ if (key != null) {
+ cleanup(value);
+ p.put(key.toString(), value.toString());
+ key = null;
+ value.delete(0, value.length());
+ }
+ key = m.group(3);
+ value.append(m.group(4));
+ } else {
+ value.append(m.group(6));
+ }
+ } else {
+ System.out.println("Assume empty: " + line);
+ }
+ line = reader.readLine();
+ }
+ if (key != null) {
+ cleanup(value);
+ p.put(key.toString(), value.toString());
+ }
+ return p;
+ }
+
+ private static void cleanup(StringBuilder value) {
+ for (int i = 0; i < value.length(); i++) {
+ if (value.charAt(i) == '\\') {
+ value.deleteCharAt(i);
+ if (i < value.length()) {
+ char c = value.charAt(i);
+ switch (c) {
+ case 't' :
+ value.setCharAt(i, '\t');
+ break;
+ case 'r' :
+ value.setCharAt(i, '\r');
+ break;
+ case 'n' :
+ value.setCharAt(i, '\n');
+ break;
+ case 'f' :
+ value.setCharAt(i, '\f');
+ break;
+ case 'b' :
+ value.setCharAt(i, '\b');
+ break;
+
+ case 'u' :
+ if (i + 5 >= value.length())
+ throw new IllegalArgumentException("Invalid unicode escape " + value.substring(i));
+
+ String n = value.substring(i + 1, i + 5);
+ try {
+ int code = Integer.valueOf(n, 16);
+ value.delete(i + 1, i + 5);
+ value.setCharAt(i, (char) code);
+ }
+ catch (Exception e) {
+ throw new IllegalArgumentException("Invalid unicode escape " + value.substring(i));
+ }
+ break;
+ default :
+ throw new IllegalArgumentException("Invalid escape " + value);
+ }
+ }
+
+ }
+ }
+ }
+}
Propchange: felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: felix/trunk/bundleplugin/src/main/java/aQute/lib/tag/Tag.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/lib/tag/Tag.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/lib/tag/Tag.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/lib/tag/Tag.java Fri Jun 29 19:23:09 2012
@@ -392,7 +392,7 @@ public class Tag {
}
String suri = sn == null ? mapping.getAttribute("xmlns") : mapping.getAttribute("xmlns:" + sn);
String turi = tn == null ? child.findRecursiveAttribute("xmlns") : child.findRecursiveAttribute("xmlns:" + tn);
- return turi == suri || (turi != null && suri != null && turi.equals(suri));
+ return ((turi == null) && (suri == null)) || ((turi != null) && turi.equals(suri));
}
public String getString(String path) {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/classdump/ClassDumper.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/classdump/ClassDumper.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/classdump/ClassDumper.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/classdump/ClassDumper.java Fri Jun 29 19:23:09 2012
@@ -1,5 +1,3 @@
-/* Copyright 2006 aQute SARL
- * Licensed under the Apache License, Version 2.0, see http://www.apache.org/licenses/LICENSE-2.0 */
package aQute.libg.classdump;
import java.io.*;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/clauses/Selector.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/clauses/Selector.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/clauses/Selector.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/clauses/Selector.java Fri Jun 29 19:23:09 2012
@@ -1,21 +1,3 @@
-/*
- * $Header: /cvsroot/bnd/aQute.libg/src/aQute/libg/clauses/Selector.java,v 1.1 2009/01/19 14:17:42 pkriens Exp $
- *
- * Copyright (c) OSGi Alliance (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 aQute.libg.clauses;
import java.util.*;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/command/Command.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/command/Command.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/command/Command.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/command/Command.java Fri Jun 29 19:23:09 2012
@@ -7,7 +7,7 @@ import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import aQute.lib.io.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class Command {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/glob/Glob.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/glob/Glob.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/glob/Glob.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/glob/Glob.java Fri Jun 29 19:23:09 2012
@@ -1,5 +1,6 @@
package aQute.libg.glob;
+import java.util.*;
import java.util.regex.*;
public class Glob {
@@ -25,15 +26,6 @@ public class Glob {
line = line.trim();
int strLen = line.length();
StringBuilder sb = new StringBuilder(strLen);
- // Remove beginning and ending * globs because they're useless
- if (line.startsWith("*")) {
- line = line.substring(1);
- strLen--;
- }
- if (line.endsWith("*")) {
- line = line.substring(0, strLen - 1);
- strLen--;
- }
boolean escaping = false;
int inCurlies = 0;
for (char currentChar : line.toCharArray()) {
@@ -106,4 +98,21 @@ public class Glob {
}
return sb.toString();
}
+
+ public void select(List<?> objects) {
+ for ( Iterator<?> i =objects.iterator(); i.hasNext(); ) {
+ String s = i.next().toString();
+ if ( !matcher(s).matches())
+ i.remove();
+ }
+ }
+
+ public static Pattern toPattern(String s) {
+ try {
+ return Pattern.compile( convertGlobToRegEx(s));
+ } catch( Exception e) {
+ // ignore
+ }
+ return null;
+ }
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java Fri Jun 29 19:23:09 2012
@@ -4,7 +4,7 @@ import java.util.*;
import aQute.libg.generics.*;
import aQute.libg.qtokens.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class OSGiHeader {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/header/Parameters.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/header/Parameters.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/header/Parameters.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/header/Parameters.java Fri Jun 29 19:23:09 2012
@@ -3,7 +3,7 @@ package aQute.libg.header;
import java.util.*;
import aQute.lib.collections.*;
-import aQute.libg.reporter.*;
+import aQute.service.reporter.*;
public class Parameters implements Map<String,Attrs> {
private LinkedHashMap<String,Attrs> map;
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Message.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Message.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Message.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Message.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) OSGi Alliance (2012). 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 aQute.libg.reporter;
public @interface Message {
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Messages.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Messages.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Messages.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/Messages.java Fri Jun 29 19:23:09 2012
@@ -1,26 +1,12 @@
-/*
- * Copyright (c) OSGi Alliance (2012). 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 aQute.libg.reporter;
+import aQute.service.reporter.*;
+
public interface Messages {
- static public class ERROR {}
+ static public interface ERROR extends Reporter.SetLocation {}
- static public class WARNING {}
+ static public interface WARNING extends Reporter.SetLocation {}
ERROR NoSuchFile_(Object r);
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterAdapter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterAdapter.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterAdapter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterAdapter.java Fri Jun 29 19:23:09 2012
@@ -5,18 +5,61 @@ import java.util.*;
import java.util.regex.*;
import aQute.libg.generics.*;
+import aQute.service.reporter.*;
/**
* Mainly used for testing where reporters are needed.
*/
-public class ReporterAdapter implements Reporter {
+public class ReporterAdapter implements Reporter, Report {
final List<String> errors = new ArrayList<String>();
final List<String> warnings = new ArrayList<String>();
+ final List<LocationImpl> locations = new ArrayList<LocationImpl>();
+
+ static class LocationImpl extends Location implements SetLocation {
+
+
+
+ public LocationImpl(String e) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public SetLocation file(String file) {
+ this.file = file;
+ return this;
+ }
+
+ public SetLocation header(String header) {
+ this.header = header;
+ return this;
+ }
+
+ public SetLocation context(String context) {
+ this.context = context;
+ return this;
+ }
+
+ public SetLocation method(String methodName) {
+ this.methodName = methodName;
+ return this;
+ }
+
+ public SetLocation line(int line) {
+ this.line = line;
+ return this;
+ }
+
+ public SetLocation reference(String reference) {
+ this.reference = reference;
+ return this;
+ }
+
+ }
+
final Formatter out;
boolean trace;
boolean pedantic;
boolean exceptions;
-
+
/**
* @return the exceptions
*/
@@ -62,13 +105,14 @@ public class ReporterAdapter implements
out = new Formatter(app);
}
- public void error(String s, Object... args) {
+ public SetLocation error(String s, Object... args) {
String e = String.format(s, args);
errors.add(e);
trace("ERROR: %s", e);
+ return location(e);
}
- public void exception(Throwable t, String s, Object... args) {
+ public SetLocation exception(Throwable t, String s, Object... args) {
String e = String.format(s, args);
errors.add(e);
trace("ERROR: %s", e);
@@ -77,15 +121,23 @@ public class ReporterAdapter implements
t.getCause().printStackTrace(System.err);
else
t.printStackTrace(System.err);
+ return location(e);
}
- public void warning(String s, Object... args) {
+ public SetLocation warning(String s, Object... args) {
String e = String.format(s, args);
warnings.add(e);
trace("warning: %s", e);
+ return location(e);
}
- public void progress(String s, Object... args) {
+ private SetLocation location(String e) {
+ LocationImpl loc = new LocationImpl(e);
+ locations.add( loc );
+ return loc;
+ }
+
+ public void progress(float progress, String s, Object... args) {
if (out != null) {
out.format(s, args);
if (!s.endsWith("\n"))
@@ -178,4 +230,32 @@ public class ReporterAdapter implements
}
}
+ public boolean getInfo(Report other) {
+ return getInfo(other,null);
+ }
+ public boolean getInfo(Report other, String prefix) {
+ boolean ok = true;
+ if ( prefix == null)
+ prefix = "";
+ else
+ prefix = prefix + ": ";
+ for ( String error : other.getErrors()) {
+ errors.add( prefix + error);
+ ok = false;
+ }
+
+ for ( String warning : other.getWarnings()) {
+ warnings.add( prefix + warning);
+ }
+ return ok;
+ }
+
+ public Location getLocation(String msg) {
+ for ( LocationImpl loc : locations ) {
+ if ((loc.message != null) && loc.message.equals(msg))
+ return loc;
+ }
+ return null;
+ }
+
}
Modified: felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterMessages.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterMessages.java?rev=1355520&r1=1355519&r2=1355520&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterMessages.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterMessages.java Fri Jun 29 19:23:09 2012
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) OSGi Alliance (2012). 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 aQute.libg.reporter;
import java.lang.reflect.*;
@@ -21,21 +5,55 @@ import java.util.*;
import aQute.libg.reporter.Messages.ERROR;
import aQute.libg.reporter.Messages.WARNING;
+import aQute.service.reporter.*;
+import aQute.service.reporter.Reporter.SetLocation;
public class ReporterMessages {
+ static class WARNINGImpl implements ERROR {
+ Reporter.SetLocation loc;
+
+ public SetLocation file(String file) {
+ return loc.file(file);
+ }
+
+ public SetLocation header(String header) {
+ return loc.header(header);
+ }
+
+ public SetLocation context(String context) {
+ return loc.context(context);
+ }
+
+ public SetLocation method(String methodName) {
+ return loc.method(methodName);
+ }
+
+ public SetLocation line(int n) {
+ return loc.line(n);
+ }
+
+ public SetLocation reference(String reference) {
+ return loc.reference(reference);
+ }
+
+ public WARNINGImpl(Reporter.SetLocation loc) {
+ this.loc = loc;
+ }
+ }
+
+ static class ERRORImpl extends WARNINGImpl implements WARNING {
+ public ERRORImpl(SetLocation e) {
+ super(e);
+ }
+ }
+
public static <T> T base(final Reporter reporter, Class<T> messages) {
return (T) Proxy.newProxyInstance(messages.getClassLoader(), new Class[] {
messages
}, new InvocationHandler() {
public Object invoke(Object target, Method method, Object[] args) throws Throwable {
- if (reporter.isExceptions() && args!=null) {
- for (Object o : args) {
- if (o instanceof Throwable)
- ((Throwable) o).printStackTrace();
- }
- }
String format;
Message d = method.getAnnotation(Message.class);
if (d == null) {
@@ -63,9 +81,10 @@ public class ReporterMessages {
try {
if (method.getReturnType() == ERROR.class) {
- reporter.error(format, args);
+ return new ERRORImpl(reporter.error(format, args));
+
} else if (method.getReturnType() == WARNING.class) {
- reporter.warning(format, args);
+ return new WARNINGImpl(reporter.warning(format, args));
} else
reporter.trace(format, args);
}
Added: felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Domain.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Domain.java?rev=1355520&view=auto
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Domain.java (added)
+++ felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Domain.java Fri Jun 29 19:23:09 2012
@@ -0,0 +1,9 @@
+package aQute.libg.sed;
+
+import java.util.*;
+
+public interface Domain {
+ Map<String,String> getMap();
+
+ Domain getParent();
+}
Propchange: felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Domain.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/bundleplugin/src/main/java/aQute/libg/sed/Domain.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision