import xbean-4.8-1.module+el8+2598+06babf2e

This commit is contained in:
CentOS Sources 2019-05-07 07:01:46 -04:00 committed by Andrew Lukoshko
commit 51b0c91779
5 changed files with 1108 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/xbean-4.8-source-release.zip

1
.xbean.metadata Normal file
View File

@ -0,0 +1 @@
64f049581900a100206fa065501c043de4f9dc46 SOURCES/xbean-4.8-source-release.zip

View File

@ -0,0 +1,62 @@
From 9e1bb9bfee86490163fb1e226556620aa8cdf7bc Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Fri, 21 Nov 2014 10:05:05 +0100
Subject: [PATCH 2/3] Port to Eclipse Luna OSGi
---
xbean-bundleutils/pom.xml | 8 +-------
.../apache/xbean/osgi/bundle/util/DelegatingBundleContext.java | 10 ++++++++++
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/xbean-bundleutils/pom.xml b/xbean-bundleutils/pom.xml
index 72f4865..2b3459d 100644
--- a/xbean-bundleutils/pom.xml
+++ b/xbean-bundleutils/pom.xml
@@ -35,15 +35,9 @@
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>4.3.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>org.eclipse</groupId>
<artifactId>osgi</artifactId>
- <version>3.6.0.v20100517</version>
+ <version>3.10.0-v20140606-1445</version>
<scope>provided</scope>
</dependency>
</dependencies>
diff --git a/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java b/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java
index 58a392b..cc8d081 100644
--- a/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java
+++ b/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java
@@ -31,7 +31,9 @@ import org.osgi.framework.BundleListener;
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkListener;
import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceFactory;
import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceObjects;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
@@ -153,5 +155,13 @@ public class DelegatingBundleContext implements BundleContext {
public Bundle getBundle(String location) {
return bundleContext.getBundle(location);
}
+
+ public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference) {
+ return bundleContext.getServiceObjects(reference);
+ }
+
+ public <S> ServiceRegistration<S> registerService(Class<S> clazz, ServiceFactory<S> factory, Dictionary<String, ?> properties) {
+ return bundleContext.registerService(clazz, factory, properties);
+ }
}
--
2.9.3

View File

@ -0,0 +1,689 @@
From 928bd5a98dc500a31197a56c8f6c5e19a3a273f8 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Fri, 21 Nov 2014 10:51:38 +0100
Subject: [PATCH 3/3] Port to QDox 2.0
---
pom.xml | 2 +-
.../blueprint/generator/QdoxMappingLoader.java | 144 +++++++++++---------
.../xbean/spring/generator/QdoxMappingLoader.java | 148 ++++++++++++---------
.../org/apache/xbean/spring/generator/Type.java | 7 +-
4 files changed, 166 insertions(+), 135 deletions(-)
diff --git a/pom.xml b/pom.xml
index 6e53649..9132fe4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -297,7 +297,7 @@
<dependency>
<groupId>com.thoughtworks.qdox</groupId>
<artifactId>qdox</artifactId>
- <version>1.6.3</version>
+ <version>2.0-M5</version>
</dependency>
<dependency>
diff --git a/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java b/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java
index 6635937..e17fd08 100644
--- a/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java
+++ b/xbean-blueprint/src/main/java/org/apache/xbean/blueprint/generator/QdoxMappingLoader.java
@@ -20,6 +20,7 @@ import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
@@ -31,14 +32,17 @@ import java.util.TreeSet;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
-import com.thoughtworks.qdox.JavaDocBuilder;
+import com.thoughtworks.qdox.JavaProjectBuilder;
import com.thoughtworks.qdox.model.BeanProperty;
import com.thoughtworks.qdox.model.DocletTag;
import com.thoughtworks.qdox.model.JavaClass;
+import com.thoughtworks.qdox.model.JavaConstructor;
import com.thoughtworks.qdox.model.JavaMethod;
+import com.thoughtworks.qdox.model.JavaModel;
import com.thoughtworks.qdox.model.JavaParameter;
import com.thoughtworks.qdox.model.JavaSource;
-import com.thoughtworks.qdox.model.Type;
+import com.thoughtworks.qdox.model.JavaType;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -62,7 +66,7 @@ public class QdoxMappingLoader implements MappingLoader {
private final String defaultNamespace;
private final File[] srcDirs;
private final String[] excludedClasses;
- private Type collectionType;
+ private JavaClass collectionType;
public QdoxMappingLoader(String defaultNamespace, File[] srcDirs, String[] excludedClasses) {
this.defaultNamespace = defaultNamespace;
@@ -79,7 +83,7 @@ public class QdoxMappingLoader implements MappingLoader {
}
public Set<NamespaceMapping> loadNamespaces() throws IOException {
- JavaDocBuilder builder = new JavaDocBuilder();
+ JavaProjectBuilder builder = new JavaProjectBuilder();
log.debug("Source directories: ");
@@ -92,11 +96,11 @@ public class QdoxMappingLoader implements MappingLoader {
getSourceFiles(sourceDirectory, excludedClasses, builder);
}
- collectionType = builder.getClassByName("java.util.Collection").asType();
+ collectionType = builder.getClassByName("java.util.Collection");
return loadNamespaces(builder);
}
- private Set<NamespaceMapping> loadNamespaces(JavaDocBuilder builder) {
+ private Set<NamespaceMapping> loadNamespaces(JavaProjectBuilder builder) {
// load all of the elements
List<ElementMapping> elements = loadElements(builder);
@@ -131,14 +135,14 @@ public class QdoxMappingLoader implements MappingLoader {
return Collections.unmodifiableSet(namespaces);
}
- private List<ElementMapping> loadElements(JavaDocBuilder builder) {
- JavaSource[] javaSources = builder.getSources();
+ private List<ElementMapping> loadElements(JavaProjectBuilder builder) {
+ Collection<JavaSource> javaSources = builder.getSources();
List<ElementMapping> elements = new ArrayList<ElementMapping>();
for (JavaSource javaSource : javaSources) {
- if (javaSource.getClasses().length == 0) {
+ if (javaSource.getClasses().isEmpty()) {
log.info("No Java Classes defined in: " + javaSource.getURL());
} else {
- JavaClass[] classes = javaSource.getClasses();
+ Collection<JavaClass> classes = javaSource.getClasses();
for (JavaClass javaClass : classes) {
ElementMapping element = loadElement(builder, javaClass);
if (element != null && !javaClass.isAbstract()) {
@@ -152,7 +156,7 @@ public class QdoxMappingLoader implements MappingLoader {
return elements;
}
- private ElementMapping loadElement(JavaDocBuilder builder, JavaClass javaClass) {
+ private ElementMapping loadElement(JavaProjectBuilder builder, JavaClass javaClass) {
DocletTag xbeanTag = javaClass.getTagByName(XBEAN_ANNOTATION);
if (xbeanTag == null) {
return null;
@@ -176,7 +180,7 @@ public class QdoxMappingLoader implements MappingLoader {
Map<String, AttributeMapping> attributesByPropertyName = new HashMap<String, AttributeMapping>();
for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) {
- BeanProperty[] beanProperties = jClass.getBeanProperties();
+ Collection<BeanProperty> beanProperties = jClass.getBeanProperties();
for (BeanProperty beanProperty : beanProperties) {
// we only care about properties with a setter
if (beanProperty.getMutator() != null) {
@@ -219,9 +223,9 @@ public class QdoxMappingLoader implements MappingLoader {
String destroyMethod = null;
String factoryMethod = null;
for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) {
- JavaMethod[] methods = javaClass.getMethods();
+ Collection<JavaMethod> methods = javaClass.getMethods();
for (JavaMethod method : methods) {
- if (method.isPublic() && !method.isConstructor()) {
+ if (method.isPublic()) {
if (initMethod == null && method.getTagByName(INIT_METHOD_ANNOTATION) != null) {
initMethod = method.getName();
}
@@ -237,22 +241,43 @@ public class QdoxMappingLoader implements MappingLoader {
}
List<List<ParameterMapping>> constructorArgs = new ArrayList<List<ParameterMapping>>();
- JavaMethod[] methods = javaClass.getMethods();
- for (JavaMethod method : methods) {
- JavaParameter[] parameters = method.getParameters();
- if (isValidConstructor(factoryMethod, method, parameters)) {
- List<ParameterMapping> args = new ArrayList<ParameterMapping>(parameters.length);
- for (JavaParameter parameter : parameters) {
- AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName());
- if (attributeMapping == null) {
- attributeMapping = loadParameter(parameter);
-
- attributes.add(attributeMapping);
- attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping);
+ if (factoryMethod == null) {
+ Collection<JavaConstructor> constructors = javaClass.getConstructors();
+ for (JavaConstructor constructor : constructors) {
+ Collection<JavaParameter> parameters = constructor.getParameters();
+ if (constructor.isPublic() && parameters.size() > 0) {
+ List<ParameterMapping> args = new ArrayList<ParameterMapping>(parameters.size());
+ for (JavaParameter parameter : parameters) {
+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName());
+ if (attributeMapping == null) {
+ attributeMapping = loadParameter(parameter, constructor);
+
+ attributes.add(attributeMapping);
+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping);
+ }
+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null)));
}
- args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null)));
+ constructorArgs.add(Collections.unmodifiableList(args));
+ }
+ }
+ } else {
+ Collection<JavaMethod> methods = javaClass.getMethods();
+ for (JavaMethod method : methods) {
+ Collection<JavaParameter> parameters = method.getParameters();
+ if (method.isPublic() && parameters.size() > 0 && method.getName().equals(factoryMethod)) {
+ List<ParameterMapping> args = new ArrayList<ParameterMapping>(parameters.size());
+ for (JavaParameter parameter : parameters) {
+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName());
+ if (attributeMapping == null) {
+ attributeMapping = loadParameter(parameter, method);
+
+ attributes.add(attributeMapping);
+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping);
+ }
+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null)));
+ }
+ constructorArgs.add(Collections.unmodifiableList(args));
}
- constructorArgs.add(Collections.unmodifiableList(args));
}
}
@@ -303,7 +328,7 @@ public class QdoxMappingLoader implements MappingLoader {
interfaces);
}
- private List<String> getFullyQualifiedNames(JavaClass[] implementedInterfaces) {
+ private List<String> getFullyQualifiedNames(Collection<JavaClass> implementedInterfaces) {
ArrayList<String> l = new ArrayList<String>();
for (JavaClass implementedInterface : implementedInterfaces) {
l.add(implementedInterface.getFullyQualifiedName());
@@ -395,19 +420,19 @@ public class QdoxMappingLoader implements MappingLoader {
return defaultDescription;
}
- private AttributeMapping loadParameter(JavaParameter parameter) {
+ private AttributeMapping loadParameter(JavaParameter parameter, JavaModel methodOrConstructor) {
String parameterName = parameter.getName();
String parameterDescription = getParameterDescription(parameter);
// first attempt to load the attribute from the java beans accessor methods
- JavaClass javaClass = parameter.getParentMethod().getParentClass();
+ JavaClass javaClass = parameter.getParentClass();
BeanProperty beanProperty = javaClass.getBeanProperty(parameterName);
if (beanProperty != null) {
AttributeMapping attributeMapping = loadAttribute(beanProperty, parameterDescription);
// if the attribute mapping is null, the property was tagged as hidden and this is an error
if (attributeMapping == null) {
throw new InvalidModelException("Hidden property usage: " +
- "The construction method " + toMethodLocator(parameter.getParentMethod()) +
+ "The construction method " + toMethodLocator(parameter.getParentClass(), methodOrConstructor) +
" can not use a hidded property " + parameterName);
}
return attributeMapping;
@@ -426,9 +451,9 @@ public class QdoxMappingLoader implements MappingLoader {
private String getParameterDescription(JavaParameter parameter) {
String parameterName = parameter.getName();
- DocletTag[] tags = parameter.getParentMethod().getTagsByName("param");
+ Collection<DocletTag> tags = parameter.getTagsByName("param");
for (DocletTag tag : tags) {
- if (tag.getParameters()[0].equals(parameterName)) {
+ if (tag.getParameters().get(0).equals(parameterName)) {
String parameterDescription = tag.getValue().trim();
if (parameterDescription.startsWith(parameterName)) {
parameterDescription = parameterDescription.substring(parameterName.length()).trim();
@@ -439,18 +464,6 @@ public class QdoxMappingLoader implements MappingLoader {
return null;
}
- private boolean isValidConstructor(String factoryMethod, JavaMethod method, JavaParameter[] parameters) {
- if (!method.isPublic() || parameters.length == 0) {
- return false;
- }
-
- if (factoryMethod == null) {
- return method.isConstructor();
- } else {
- return method.getName().equals(factoryMethod);
- }
- }
-
private static String getProperty(DocletTag propertyTag, String propertyName) {
return getProperty(propertyTag, propertyName, null);
}
@@ -477,14 +490,17 @@ public class QdoxMappingLoader implements MappingLoader {
return false;
}
- private org.apache.xbean.blueprint.generator.Type toMappingType(Type type, String nestedType) {
+ private org.apache.xbean.blueprint.generator.Type toMappingType(JavaType type, String nestedType) {
try {
- if (type.isArray()) {
- return org.apache.xbean.blueprint.generator.Type.newArrayType(type.getValue(), type.getDimensions());
- } else if (type.isA(collectionType)) {
- if (nestedType == null) nestedType = "java.lang.Object";
- return org.apache.xbean.blueprint.generator.Type.newCollectionType(type.getValue(),
- org.apache.xbean.blueprint.generator.Type.newSimpleType(nestedType));
+ if (type instanceof JavaClass) {
+ JavaClass clazz = (JavaClass)type;
+ if (clazz.isArray()) {
+ return org.apache.xbean.blueprint.generator.Type.newArrayType(type.getValue(), clazz.getDimensions());
+ } else if (clazz.isA(collectionType)) {
+ if (nestedType == null) nestedType = "java.lang.Object";
+ return org.apache.xbean.blueprint.generator.Type.newCollectionType(type.getValue(),
+ org.apache.xbean.blueprint.generator.Type.newSimpleType(nestedType));
+ }
}
} catch (Throwable t) {
log.debug("Could not load type mapping", t);
@@ -492,26 +508,28 @@ public class QdoxMappingLoader implements MappingLoader {
return org.apache.xbean.blueprint.generator.Type.newSimpleType(type.getValue());
}
- private static String toMethodLocator(JavaMethod method) {
+ private static String toMethodLocator(JavaClass parentClass, JavaModel methodOrConstructor) {
+ JavaMethod method = methodOrConstructor instanceof JavaMethod ? (JavaMethod) methodOrConstructor : null;
+ JavaConstructor constructor = methodOrConstructor instanceof JavaConstructor ? (JavaConstructor) methodOrConstructor : null;
StringBuffer buf = new StringBuffer();
- buf.append(method.getParentClass().getFullyQualifiedName());
- if (!method.isConstructor()) {
+ buf.append(parentClass.getFullyQualifiedName());
+ if (method != null) {
buf.append(".").append(method.getName());
}
buf.append("(");
- JavaParameter[] parameters = method.getParameters();
- for (int i = 0; i < parameters.length; i++) {
- JavaParameter parameter = parameters[i];
+ List<JavaParameter> parameters = method != null ? method.getParameters() : constructor.getParameters();
+ for (int i = 0; i < parameters.size(); i++) {
+ JavaParameter parameter = parameters.get(i);
if (i > 0) {
buf.append(", ");
}
buf.append(parameter.getName());
}
- buf.append(") : ").append(method.getLineNumber());
+ buf.append(") : ").append(method != null ? method.getLineNumber() : constructor.getLineNumber());
return buf.toString();
}
- private static void getSourceFiles(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException {
+ private static void getSourceFiles(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException {
if (base.isDirectory()) {
listAllFileNames(base, "", excludedClasses, builder);
} else {
@@ -519,7 +537,7 @@ public class QdoxMappingLoader implements MappingLoader {
}
}
- private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaDocBuilder builder) throws IOException {
+ private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaProjectBuilder builder) throws IOException {
if (!base.canRead() || !base.isDirectory()) {
throw new IllegalArgumentException(base.getAbsolutePath());
}
@@ -536,7 +554,7 @@ public class QdoxMappingLoader implements MappingLoader {
}
}
- private static void listAllJarEntries(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException {
+ private static void listAllJarEntries(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException {
JarFile jarFile = new JarFile(base);
for (Enumeration entries = jarFile.entries(); entries.hasMoreElements(); ) {
JarEntry entry = (JarEntry) entries.nextElement();
diff --git a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java
index 94bd7a1..228117e 100644
--- a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java
+++ b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java
@@ -20,6 +20,7 @@ import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
@@ -31,14 +32,17 @@ import java.util.TreeSet;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
-import com.thoughtworks.qdox.JavaDocBuilder;
+import com.thoughtworks.qdox.JavaProjectBuilder;
import com.thoughtworks.qdox.model.BeanProperty;
import com.thoughtworks.qdox.model.DocletTag;
import com.thoughtworks.qdox.model.JavaClass;
+import com.thoughtworks.qdox.model.JavaConstructor;
import com.thoughtworks.qdox.model.JavaMethod;
+import com.thoughtworks.qdox.model.JavaModel;
import com.thoughtworks.qdox.model.JavaParameter;
import com.thoughtworks.qdox.model.JavaSource;
-import com.thoughtworks.qdox.model.Type;
+import com.thoughtworks.qdox.model.JavaType;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -62,7 +66,7 @@ public class QdoxMappingLoader implements MappingLoader {
private final String defaultNamespace;
private final File[] srcDirs;
private final String[] excludedClasses;
- private Type collectionType;
+ private JavaClass collectionType;
public QdoxMappingLoader(String defaultNamespace, File[] srcDirs, String[] excludedClasses) {
this.defaultNamespace = defaultNamespace;
@@ -79,7 +83,7 @@ public class QdoxMappingLoader implements MappingLoader {
}
public Set<NamespaceMapping> loadNamespaces() throws IOException {
- JavaDocBuilder builder = new JavaDocBuilder();
+ JavaProjectBuilder builder = new JavaProjectBuilder();
log.debug("Source directories: ");
@@ -92,11 +96,11 @@ public class QdoxMappingLoader implements MappingLoader {
getSourceFiles(sourceDirectory, excludedClasses, builder);
}
- collectionType = builder.getClassByName("java.util.Collection").asType();
+ collectionType = builder.getClassByName("java.util.Collection");
return loadNamespaces(builder);
}
- private Set<NamespaceMapping> loadNamespaces(JavaDocBuilder builder) {
+ private Set<NamespaceMapping> loadNamespaces(JavaProjectBuilder builder) {
// load all of the elements
List<ElementMapping> elements = loadElements(builder);
@@ -131,14 +135,14 @@ public class QdoxMappingLoader implements MappingLoader {
return Collections.unmodifiableSet(namespaces);
}
- private List<ElementMapping> loadElements(JavaDocBuilder builder) {
- JavaSource[] javaSources = builder.getSources();
+ private List<ElementMapping> loadElements(JavaProjectBuilder builder) {
+ Collection<JavaSource> javaSources = builder.getSources();
List<ElementMapping> elements = new ArrayList<ElementMapping>();
for (JavaSource javaSource : javaSources) {
- if (javaSource.getClasses().length == 0) {
+ if (javaSource.getClasses().isEmpty()) {
log.info("No Java Classes defined in: " + javaSource.getURL());
} else {
- JavaClass[] classes = javaSource.getClasses();
+ Collection<JavaClass> classes = javaSource.getClasses();
for (JavaClass javaClass : classes) {
ElementMapping element = loadElement(builder, javaClass);
if (element != null && !javaClass.isAbstract()) {
@@ -152,7 +156,7 @@ public class QdoxMappingLoader implements MappingLoader {
return elements;
}
- private ElementMapping loadElement(JavaDocBuilder builder, JavaClass javaClass) {
+ private ElementMapping loadElement(JavaProjectBuilder builder, JavaClass javaClass) {
DocletTag xbeanTag = javaClass.getTagByName(XBEAN_ANNOTATION);
if (xbeanTag == null) {
return null;
@@ -176,7 +180,7 @@ public class QdoxMappingLoader implements MappingLoader {
Map<String, AttributeMapping> attributesByPropertyName = new HashMap<String, AttributeMapping>();
for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) {
- BeanProperty[] beanProperties = jClass.getBeanProperties();
+ Collection<BeanProperty> beanProperties = jClass.getBeanProperties();
for (BeanProperty beanProperty : beanProperties) {
// we only care about properties with a setter
if (beanProperty.getMutator() != null) {
@@ -219,9 +223,9 @@ public class QdoxMappingLoader implements MappingLoader {
String destroyMethod = null;
String factoryMethod = null;
for (JavaClass jClass = javaClass; jClass != null; jClass = jClass.getSuperJavaClass()) {
- JavaMethod[] methods = javaClass.getMethods();
+ Collection<JavaMethod> methods = javaClass.getMethods();
for (JavaMethod method : methods) {
- if (method.isPublic() && !method.isConstructor()) {
+ if (method.isPublic()) {
if (initMethod == null && method.getTagByName(INIT_METHOD_ANNOTATION) != null) {
initMethod = method.getName();
}
@@ -237,27 +241,48 @@ public class QdoxMappingLoader implements MappingLoader {
}
List<List<ParameterMapping>> constructorArgs = new ArrayList<List<ParameterMapping>>();
- JavaMethod[] methods = javaClass.getMethods();
- for (JavaMethod method : methods) {
- JavaParameter[] parameters = method.getParameters();
- if (isValidConstructor(factoryMethod, method, parameters)) {
- List<ParameterMapping> args = new ArrayList<ParameterMapping>(parameters.length);
- for (JavaParameter parameter : parameters) {
- AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName());
- if (attributeMapping == null) {
- attributeMapping = loadParameter(parameter);
-
- attributes.add(attributeMapping);
- attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping);
+ if (factoryMethod == null) {
+ Collection<JavaConstructor> constructors = javaClass.getConstructors();
+ for (JavaConstructor constructor : constructors) {
+ Collection<JavaParameter> parameters = constructor.getParameters();
+ if (constructor.isPublic() && parameters.size() > 0) {
+ List<ParameterMapping> args = new ArrayList<ParameterMapping>(parameters.size());
+ for (JavaParameter parameter : parameters) {
+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName());
+ if (attributeMapping == null) {
+ attributeMapping = loadParameter(parameter, constructor);
+
+ attributes.add(attributeMapping);
+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping);
+ }
+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null)));
}
- args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null)));
+ constructorArgs.add(Collections.unmodifiableList(args));
+ }
+ }
+ } else {
+ Collection<JavaMethod> methods = javaClass.getMethods();
+ for (JavaMethod method : methods) {
+ Collection<JavaParameter> parameters = method.getParameters();
+ if (method.isPublic() && parameters.size() > 0 && method.getName().equals(factoryMethod)) {
+ List<ParameterMapping> args = new ArrayList<ParameterMapping>(parameters.size());
+ for (JavaParameter parameter : parameters) {
+ AttributeMapping attributeMapping = attributesByPropertyName.get(parameter.getName());
+ if (attributeMapping == null) {
+ attributeMapping = loadParameter(parameter, method);
+
+ attributes.add(attributeMapping);
+ attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping);
+ }
+ args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null)));
+ }
+ constructorArgs.add(Collections.unmodifiableList(args));
}
- constructorArgs.add(Collections.unmodifiableList(args));
}
}
HashSet<String> interfaces = new HashSet<String>();
- interfaces.addAll(getFullyQualifiedNames(javaClass.getImplementedInterfaces()));
+ interfaces.addAll(getFullyQualifiedNames(javaClass.getInterfaces()));
JavaClass actualClass = javaClass;
if (factoryClass != null) {
@@ -282,7 +307,7 @@ public class QdoxMappingLoader implements MappingLoader {
}
p = s;
superClasses.add(p.getFullyQualifiedName());
- interfaces.addAll(getFullyQualifiedNames(p.getImplementedInterfaces()));
+ interfaces.addAll(getFullyQualifiedNames(p.getInterfaces()));
}
return new ElementMapping(namespace,
@@ -303,7 +328,7 @@ public class QdoxMappingLoader implements MappingLoader {
interfaces);
}
- private List<String> getFullyQualifiedNames(JavaClass[] implementedInterfaces) {
+ private List<String> getFullyQualifiedNames(Collection<JavaClass> implementedInterfaces) {
ArrayList<String> l = new ArrayList<String>();
for (JavaClass implementedInterface : implementedInterfaces) {
l.add(implementedInterface.getFullyQualifiedName());
@@ -395,19 +420,19 @@ public class QdoxMappingLoader implements MappingLoader {
return defaultDescription;
}
- private AttributeMapping loadParameter(JavaParameter parameter) {
+ private AttributeMapping loadParameter(JavaParameter parameter, JavaModel methodOrConstructor) {
String parameterName = parameter.getName();
String parameterDescription = getParameterDescription(parameter);
// first attempt to load the attribute from the java beans accessor methods
- JavaClass javaClass = parameter.getParentMethod().getParentClass();
+ JavaClass javaClass = parameter.getDeclaringClass();
BeanProperty beanProperty = javaClass.getBeanProperty(parameterName);
if (beanProperty != null) {
AttributeMapping attributeMapping = loadAttribute(beanProperty, parameterDescription);
// if the attribute mapping is null, the property was tagged as hidden and this is an error
if (attributeMapping == null) {
throw new InvalidModelException("Hidden property usage: " +
- "The construction method " + toMethodLocator(parameter.getParentMethod()) +
+ "The construction method " + toMethodLocator(parameter.getDeclaringClass(), methodOrConstructor) +
" can not use a hidded property " + parameterName);
}
return attributeMapping;
@@ -426,9 +451,9 @@ public class QdoxMappingLoader implements MappingLoader {
private String getParameterDescription(JavaParameter parameter) {
String parameterName = parameter.getName();
- DocletTag[] tags = parameter.getParentMethod().getTagsByName("param");
+ Collection<DocletTag> tags = parameter.getTagsByName("param");
for (DocletTag tag : tags) {
- if (tag.getParameters()[0].equals(parameterName)) {
+ if (tag.getParameters().get(0).equals(parameterName)) {
String parameterDescription = tag.getValue().trim();
if (parameterDescription.startsWith(parameterName)) {
parameterDescription = parameterDescription.substring(parameterName.length()).trim();
@@ -439,18 +464,6 @@ public class QdoxMappingLoader implements MappingLoader {
return null;
}
- private boolean isValidConstructor(String factoryMethod, JavaMethod method, JavaParameter[] parameters) {
- if (!method.isPublic() || parameters.length == 0) {
- return false;
- }
-
- if (factoryMethod == null) {
- return method.isConstructor();
- } else {
- return method.getName().equals(factoryMethod);
- }
- }
-
private static String getProperty(DocletTag propertyTag, String propertyName) {
return getProperty(propertyTag, propertyName, null);
}
@@ -477,14 +490,17 @@ public class QdoxMappingLoader implements MappingLoader {
return false;
}
- private org.apache.xbean.spring.generator.Type toMappingType(Type type, String nestedType) {
+ private org.apache.xbean.spring.generator.Type toMappingType(JavaType type, String nestedType) {
try {
- if (type.isArray()) {
- return org.apache.xbean.spring.generator.Type.newArrayType(type.getValue(), type.getDimensions());
- } else if (type.isA(collectionType)) {
- if (nestedType == null) nestedType = "java.lang.Object";
- return org.apache.xbean.spring.generator.Type.newCollectionType(type.getValue(),
- org.apache.xbean.spring.generator.Type.newSimpleType(nestedType));
+ if (type instanceof JavaClass) {
+ JavaClass clazz = (JavaClass)type;
+ if (clazz.isArray()) {
+ return org.apache.xbean.spring.generator.Type.newArrayType(type.getValue(), clazz.getDimensions());
+ } else if (clazz.isA(collectionType)) {
+ if (nestedType == null) nestedType = "java.lang.Object";
+ return org.apache.xbean.spring.generator.Type.newCollectionType(type.getValue(),
+ org.apache.xbean.spring.generator.Type.newSimpleType(nestedType));
+ }
}
} catch (Throwable t) {
log.debug("Could not load type mapping", t);
@@ -492,26 +508,28 @@ public class QdoxMappingLoader implements MappingLoader {
return org.apache.xbean.spring.generator.Type.newSimpleType(type.getValue());
}
- private static String toMethodLocator(JavaMethod method) {
+ private static String toMethodLocator(JavaClass parentClass, JavaModel methodOrConstructor) {
+ JavaMethod method = methodOrConstructor instanceof JavaMethod ? (JavaMethod) methodOrConstructor : null;
+ JavaConstructor constructor = methodOrConstructor instanceof JavaConstructor ? (JavaConstructor) methodOrConstructor : null;
StringBuffer buf = new StringBuffer();
- buf.append(method.getParentClass().getFullyQualifiedName());
- if (!method.isConstructor()) {
+ buf.append(parentClass.getFullyQualifiedName());
+ if (method != null) {
buf.append(".").append(method.getName());
}
buf.append("(");
- JavaParameter[] parameters = method.getParameters();
- for (int i = 0; i < parameters.length; i++) {
- JavaParameter parameter = parameters[i];
+ List<JavaParameter> parameters = method != null ? method.getParameters() : constructor.getParameters();
+ for (int i = 0; i < parameters.size(); i++) {
+ JavaParameter parameter = parameters.get(i);
if (i > 0) {
buf.append(", ");
}
buf.append(parameter.getName());
}
- buf.append(") : ").append(method.getLineNumber());
+ buf.append(") : ").append(method != null ? method.getLineNumber() : constructor.getLineNumber());
return buf.toString();
}
- private static void getSourceFiles(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException {
+ private static void getSourceFiles(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException {
if (base.isDirectory()) {
listAllFileNames(base, "", excludedClasses, builder);
} else {
@@ -519,7 +537,7 @@ public class QdoxMappingLoader implements MappingLoader {
}
}
- private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaDocBuilder builder) throws IOException {
+ private static void listAllFileNames(File base, String prefix, String[] excludedClasses, JavaProjectBuilder builder) throws IOException {
if (!base.canRead() || !base.isDirectory()) {
throw new IllegalArgumentException(base.getAbsolutePath());
}
@@ -536,7 +554,7 @@ public class QdoxMappingLoader implements MappingLoader {
}
}
- private static void listAllJarEntries(File base, String[] excludedClasses, JavaDocBuilder builder) throws IOException {
+ private static void listAllJarEntries(File base, String[] excludedClasses, JavaProjectBuilder builder) throws IOException {
JarFile jarFile = new JarFile(base);
for (Enumeration entries = jarFile.entries(); entries.hasMoreElements(); ) {
JarEntry entry = (JarEntry) entries.nextElement();
diff --git a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java
index 5eac64c..0d9fa63 100644
--- a/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java
+++ b/xbean-spring/src/main/java/org/apache/xbean/spring/generator/Type.java
@@ -41,12 +41,7 @@ public class Type {
public static Type newArrayType(String type, int dimensions) {
if (type == null) throw new NullPointerException("type");
if (dimensions < 1) throw new IllegalArgumentException("dimensions must be atleast one");
- StringBuffer buf = new StringBuffer(type.length() + (dimensions * 2));
- buf.append(type);
- for (int i = 0; i < dimensions; i ++) {
- buf.append("[]");
- }
- return new Type(buf.toString(), newSimpleType(type));
+ return new Type(type, newSimpleType(type.replaceAll("\\[\\]", "")));
}
public static Type newCollectionType(String collectionType, Type elementType) {
--
2.9.3

355
SPECS/xbean.spec Normal file
View File

@ -0,0 +1,355 @@
# Conditionals to help breaking eclipse <-> xbean dependency cycle
# when bootstrapping for new architectures
%bcond_without equinox
%bcond_without groovy
%bcond_without spring
Name: xbean
Version: 4.8
Release: 1%{?dist}
Summary: Java plugin based web server
License: ASL 2.0
URL: http://geronimo.apache.org/xbean/
BuildArch: noarch
Source0: http://repo2.maven.org/maven2/org/apache/%{name}/%{name}/%{version}/%{name}-%{version}-source-release.zip
# Compatibility with Eclipse Luna (rhbz#1087461)
Patch1: 0002-Port-to-Eclipse-Luna-OSGi.patch
Patch2: 0003-Port-to-QDox-2.0.patch
BuildRequires: maven-local
BuildRequires: mvn(commons-logging:commons-logging-api)
BuildRequires: mvn(log4j:log4j:1.2.12)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.osgi:org.osgi.core)
BuildRequires: mvn(org.ow2.asm:asm)
BuildRequires: mvn(org.ow2.asm:asm-commons)
BuildRequires: mvn(org.slf4j:slf4j-api)
%if %{with equinox}
BuildRequires: mvn(org.eclipse:osgi)
%endif
%if %{with groovy}
BuildRequires: mvn(org.codehaus.groovy:groovy-all)
%endif
%if %{with spring}
BuildRequires: mvn(ant:ant)
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(com.thoughtworks.qdox:qdox)
BuildRequires: mvn(org.apache.maven:maven-archiver)
BuildRequires: mvn(org.apache.maven:maven-artifact)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-project)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.codehaus.plexus:plexus-archiver)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: mvn(org.springframework:spring-beans)
BuildRequires: mvn(org.springframework:spring-context)
BuildRequires: mvn(org.springframework:spring-web)
%endif
%description
The goal of XBean project is to create a plugin based server
analogous to Eclipse being a plugin based IDE. XBean will be able to
discover, download and install server plugins from an Internet based
repository. In addition, we include support for multiple IoC systems,
support for running with no IoC system, JMX without JMX code,
lifecycle and class loader management, and a rock solid Spring
integration.
%if %{with spring}
# For now blueprint module fails to compile. Disable it.
%if 0
%package blueprint
Summary: Schema-driven namespace handler for Apache Aries Blueprint
%description blueprint
This package provides %{summary}.
%endif
%package classloader
Summary: A flexibie multi-parent classloader
%description classloader
This package provides %{summary}.
%package spring
Summary: Schema-driven namespace handler for spring contexts
Requires: %{name} = %{version}-%{release}
%description spring
This package provides %{summary}.
%package -n maven-%{name}-plugin
Summary: XBean plugin for Apache Maven
%description -n maven-%{name}-plugin
This package provides %{summary}.
%endif
%package javadoc
Summary: API documentation for %{name}
%description javadoc
This package provides %{summary}.
%prep
%setup -q
# build failing on this due to doxia-sitetools problems
rm src/site/site.xml
%if %{with equinox}
%patch1 -p1
%endif
%patch2 -p1
%pom_remove_parent
%pom_remove_dep mx4j:mx4j
# Unshade ASM
%pom_remove_dep -r :xbean-asm6-shaded
%pom_remove_dep -r :xbean-finder-shaded
%pom_disable_module xbean-asm6-shaded
%pom_disable_module xbean-finder-shaded
%pom_add_dep org.apache.xbean:xbean-asm-util:%{version} xbean-reflect
%pom_xpath_remove pom:optional xbean-reflect xbean-asm-util
%pom_xpath_remove 'pom:scope[text()="provided"]' xbean-reflect xbean-asm-util
sed -i 's/org\.apache\.xbean\.asm6/org.objectweb.asm/g' `find xbean-reflect -name '*.java'`
# Prevent modules depending on springframework from building.
%if %{without spring}
%pom_remove_dep org.springframework:
#%%pom_disable_module xbean-blueprint
%pom_disable_module xbean-classloader
%pom_disable_module xbean-spring
%pom_disable_module maven-xbean-plugin
%else
%mvn_package :xbean-classloader classloader
%mvn_package :xbean-spring spring
%mvn_package :maven-xbean-plugin maven-xbean-plugin
%endif
# blueprint FTBFS, disable for now
%pom_disable_module xbean-blueprint
%if %{without equinox}
%pom_remove_dep :xbean-bundleutils xbean-finder
rm -r xbean-finder/src/main/java/org/apache/xbean/finder{,/archive}/Bundle*
%pom_disable_module xbean-bundleutils
%endif
%if %{without groovy}
%pom_disable_module xbean-telnet
%endif
# maven-xbean-plugin invocation makes no sense as there are no namespaces
%pom_remove_plugin :maven-xbean-plugin xbean-classloader
# As auditing tool RAT is useful for upstream only.
%pom_remove_plugin :apache-rat-plugin
# disable copy of internal aries-blueprint
sed -i "s|<Private-Package>|<!--Private-Package>|" xbean-blueprint/pom.xml
sed -i "s|</Private-Package>|</Private-Package-->|" xbean-blueprint/pom.xml
%build
%mvn_build -f
%install
%mvn_install
%files -f .mfiles
%doc LICENSE NOTICE
%dir %{_javadir}/%{name}
%if %{with spring}
%if 0
%files blueprint -f .mfiles-blueprint
%doc LICENSE NOTICE %{name}-blueprint/target/restaurant.xsd*
%endif
%files classloader -f .mfiles-classloader
%doc LICENSE NOTICE
%files spring -f .mfiles-spring
%doc LICENSE NOTICE
%files -n maven-%{name}-plugin -f .mfiles-maven-%{name}-plugin
%doc LICENSE NOTICE
%endif
%files javadoc -f .mfiles-javadoc
%doc LICENSE NOTICE
%changelog
* Thu Apr 19 2018 Michael Simacek <msimacek@redhat.com> - 4.8-1
- Update to upstream version 4.8
* Tue Mar 13 2018 Michael Simacek <msimacek@redhat.com> - 4.6-1
- Update to upstream version 4.6
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.5-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 1 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5-6
- Introduce groovy build conditional
* Wed Feb 01 2017 Michael Simacek <msimacek@redhat.com> - 4.5-5
- Fix build with conditionals
* Wed Feb 01 2017 Michael Simacek <msimacek@redhat.com> - 4.5-4
- Port to current QDox
* Thu Jun 16 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5-3
- Add missing build-requires
* Thu May 12 2016 Michael Simacek <msimacek@redhat.com> - 4.5-2
- Enable xbean-asm-util
* Mon May 02 2016 Michael Simacek <msimacek@redhat.com> - 4.5-1
- Update to upstream version 4.5
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Nov 24 2015 Michael Simacek <msimacek@redhat.com> - 4.4-1
- Update to upstream version 4.4
- Rebase patches
- Remove obsolete groovy patch
* Mon Jul 13 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3-1
- Update to upstream version 4.3
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Apr 1 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2-1
- Update to upstream version 4.2
* Thu Feb 5 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-2
- Fix patch unshading ASM
* Fri Nov 21 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.1-1
- Update to upstream version 4.1
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon Apr 14 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.17-1
- Update to upstream version 3.17
- Add patch for Eclipse Luna
* Thu Dec 5 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.16-1
- Update to upstream version 3.16
* Thu Aug 08 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.13-4
- Update to latest packaging guidelines
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Apr 29 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.13-2
- Remove unneeded BR: maven-idea-plugin
* Fri Mar 15 2013 Michal Srb <msrb@redhat.com> - 3.13-1
- Update to upstream version 3.13
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.12-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 3.12-5
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local
* Mon Dec 17 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.12-4
- Enable xbean-spring, resolves rhbz#887496
- Disable xbean-blueprint due to FTBFS
* Mon Oct 22 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.12-3
- Replace eclipse-rcp requires with eclipse-equinox-osgi
- Reenable Equinox
* Tue Oct 16 2012 gil cattaneo <puntogil@libero.it> - 3.12-2
- Enable xbean-blueprint and xbean-classloader modules
* Wed Oct 10 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.12-1
- Update to upstream version 3.12
* Wed Oct 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.11.1-8
- Revert previous changes.
* Wed Oct 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.11.1-7
- Disable parts dependent on Eclipse (for bootstraping purpose).
* Wed Oct 10 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.11.1-6
- Implement equinox and spring conditionals
* Mon Sep 3 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.11.1-5
- Fix eclipse requires
* Mon Aug 27 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.11.1-4
- Fix felix-framework enabling patch
* Mon Aug 6 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.11.1-3
- Enable xbean-spring
- Enable maven-xbean-plugin
- Remove RPM bug workaround
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jul 13 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.11.1-1
- Update to the upstream version 3.11.1
- Force use of Equinox instead of Felix
- Convert patch to POM macros
* Thu May 3 2012 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.8-5
- Remove mx4j from deps (javax.management provided by JDK 1.5+)
* Tue Apr 24 2012 Alexander Kurtakov <akurtako@redhat.com> 3.8-4
- BR felix-framework instead of felix-osgi-core.
* Tue Apr 24 2012 Alexander Kurtakov <akurtako@redhat.com> 3.8-3
- Do not build equinox specific parts for RHEL.
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Dec 6 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.8-1
- Update to latest upstream version
- Build with maven 3
- Packaging & guidelines fixes
* Sat May 28 2011 Marek Goldmann <mgoldman@redhat.com> - 3.7-7
- Added xbean-finder and xbean-bundleutils submodules
* Fri Mar 4 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.7-6
- Add comment for removing javadoc
- Fix maven 3 build
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Dec 6 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.7-4
- Fix pom filename (Resolves rhbz#655827)
- Add depmap for main pom file
- Fixes according to new guidelines (versionless jars, javadocs)
* Fri Jul 30 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.7-3
- Use javadoc:aggregate to generate javadocs
* Fri Jul 9 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.7-2
- Add license to javadoc subpackage
* Mon Jun 21 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.7-1
- First release