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

2016-06-03 Thread alien11689
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

2016-06-03 Thread alien11689
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

2016-06-03 Thread cschneider
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;
 }