svn commit: r1746775 - in /aries/trunk/blueprint/blueprint-maven-plugin/src: main/java/org/apache/aries/blueprint/plugin/model/ main/java/org/apache/aries/blueprint/plugin/model/service/ test/java/org
Author: alien11689 Date: Fri Jun 3 21:58:39 2016 New Revision: 1746775 URL: http://svn.apache.org/viewvc?rev=1746775=rev Log: [ARIES-1561] Allow for exposing service from produced beans Added: aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/MyFactoryBeanAsService.java Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ServiceProvider.java aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/GeneratorTest.java aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/MyFactoryNamedBean.java aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/ServiceReferences.java Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java?rev=1746775=1746774=1746775=diff == --- aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java (original) +++ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java Fri Jun 3 21:58:39 2016 @@ -6,9 +6,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -93,6 +93,10 @@ public class Context implements Matcher producedBean.setSingleton(); } reg.add(producedBean); +ServiceProvider serviceProvider = ServiceProvider.fromMethod(producedBean, method); +if (serviceProvider != null) { +serviceProviders.add(serviceProvider); +} } } } Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ServiceProvider.java URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ServiceProvider.java?rev=1746775=1746774=1746775=diff == --- aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ServiceProvider.java (original) +++ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ServiceProvider.java Fri Jun 3 21:58:39 2016 @@ -1,11 +1,32 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package org.apache.aries.blueprint.plugin.model.service; import com.google.common.collect.Lists; import org.apache.aries.blueprint.plugin.model.Bean; +import org.apache.aries.blueprint.plugin.model.BeanRef; import org.ops4j.pax.cdi.api.OsgiServiceProvider; import org.ops4j.pax.cdi.api.Properties; import org.ops4j.pax.cdi.api.Property; +import java.lang.reflect.AnnotatedElement; +import java.lang.reflect.Method; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -22,25 +43,43 @@ public class ServiceProvider { } public static ServiceProvider fromBean(Bean bean) { -OsgiServiceProvider serviceProvider = bean.clazz.getAnnotation(OsgiServiceProvider.class); +return createServiceProvider(bean.clazz, bean.id); +} + +public static ServiceProvider fromMethod(BeanRef beanRef, Method method) { +return createServiceProvider(method, beanRef.id); +} + +
svn commit: r1746761 - in /aries/trunk/blueprint/blueprint-maven-plugin: ./ src/main/java/org/apache/aries/blueprint/plugin/ src/main/java/org/apache/aries/blueprint/plugin/model/ src/main/java/org/ap
Author: alien11689 Date: Fri Jun 3 20:52:55 2016 New Revision: 1746761 URL: http://svn.apache.org/viewvc?rev=1746761=rev Log: [ARIES-1561] Prepare ServiceProvider model and move service provider classes to separate package Added: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ServiceProvider.java aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/service/ServiceProviderWriter.java Removed: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/OsgiServiceProviderWriter.java Modified: aries/trunk/blueprint/blueprint-maven-plugin/ (props changed) aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java Propchange: aries/trunk/blueprint/blueprint-maven-plugin/ -- --- svn:ignore (original) +++ svn:ignore Fri Jun 3 20:52:55 2016 @@ -5,3 +5,4 @@ target .project velocity.log .externalToolBuilders +.idea Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java?rev=1746761=1746760=1746761=diff == --- aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java (original) +++ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java Fri Jun 3 20:52:55 2016 @@ -26,6 +26,7 @@ import org.apache.aries.blueprint.plugin import org.apache.aries.blueprint.plugin.model.Property; import org.apache.aries.blueprint.plugin.model.PropertyWriter; import org.apache.aries.blueprint.plugin.model.TransactionalDef; +import org.apache.aries.blueprint.plugin.model.service.ServiceProviderWriter; import javax.persistence.PersistenceContext; import javax.persistence.PersistenceUnit; @@ -89,7 +90,7 @@ public class Generator implements Proper } new OsgiServiceRefWriter(writer).write(context.getServiceRefs()); -new OsgiServiceProviderWriter(writer).write(context.getBeans()); +new ServiceProviderWriter(writer).write(context.getServiceProviders()); writer.writeEndElement(); writer.writeCharacters("\n"); Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java?rev=1746761=1746760=1746761=diff == --- aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java (original) +++ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java Fri Jun 3 20:52:55 2016 @@ -18,6 +18,7 @@ */ package org.apache.aries.blueprint.plugin.model; +import org.apache.aries.blueprint.plugin.model.service.ServiceProvider; import org.ops4j.pax.cdi.api.OsgiService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -50,6 +51,7 @@ public class Bean extends BeanRef { public List persistenceFields; public Set transactionDefs = new HashSet<>(); public boolean isPrototype; +public List serviceProviders = new ArrayList<>(); public Bean(Class clazz) { super(clazz, BeanRef.getBeanName(clazz)); @@ -73,6 +75,11 @@ public class Bean extends BeanRef { this.isPrototype = isPrototype(clazz); this.persistenceFields = introspector.fieldsWith(PersistenceContext.class, PersistenceUnit.class); setQualifiersFromAnnotations(clazz.getAnnotations()); + +ServiceProvider serviceProvider = ServiceProvider.fromBean(this); +if(serviceProvider != null){ +serviceProviders.add(serviceProvider); +} } private boolean isPrototype(Class clazz) { Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java URL:
svn commit: r1746720 - /aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java
Author: cschneider Date: Fri Jun 3 14:22:17 2016 New Revision: 1746720 URL: http://svn.apache.org/viewvc?rev=1746720=rev Log: Check for null in scanPaths Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java?rev=1746720=1746719=1746720=diff == --- aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java (original) +++ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java Fri Jun 3 14:22:17 2016 @@ -71,6 +71,9 @@ public class GenerateMojo extends Abstra protected String generatedFileName; public void execute() throws MojoExecutionException, MojoFailureException { +if (scanPaths.size() == 0 || scanPaths.iterator().next() == null) { +throw new MojoExecutionException("Configuration scanPaths must be set"); +} if (!buildContext.hasDelta(new File(project.getCompileSourceRoots().iterator().next( { return; }