You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/05/19 09:37:29 UTC

[isis] 08/13: ISIS-1949: Adds new core plugin stubs

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 5eb88908219d2886133941ce86f511ca6d95ea37
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat May 19 09:51:56 2018 +0200

    ISIS-1949: Adds new core plugin stubs
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-1949
---
 core/plugins/codegen-bytebuddy/.gitignore          |  1 +
 core/plugins/codegen-bytebuddy/pom.xml             | 74 ++++++++++++++++++++++
 .../codegen/ProxyFactoryPluginUsingByteBuddy.java  | 22 +++++++
 ...core.runtime.plugins.codegen.ProxyFactoryPlugin |  1 +
 core/plugins/codegen-javassist/.gitignore          |  1 +
 core/plugins/codegen-javassist/pom.xml             | 70 ++++++++++++++++++++
 .../codegen/ProxyFactoryPluginUsingJavassist.java  | 21 ++++++
 ...core.runtime.plugins.codegen.ProxyFactoryPlugin |  1 +
 core/runtime/pom.xml                               |  6 --
 9 files changed, 191 insertions(+), 6 deletions(-)

diff --git a/core/plugins/codegen-bytebuddy/.gitignore b/core/plugins/codegen-bytebuddy/.gitignore
new file mode 100644
index 0000000..a48e45b
--- /dev/null
+++ b/core/plugins/codegen-bytebuddy/.gitignore
@@ -0,0 +1 @@
+/target-ide
diff --git a/core/plugins/codegen-bytebuddy/pom.xml b/core/plugins/codegen-bytebuddy/pom.xml
new file mode 100644
index 0000000..0732c78
--- /dev/null
+++ b/core/plugins/codegen-bytebuddy/pom.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 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. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.isis.core</groupId>
+		<artifactId>isis</artifactId>
+		<version>${revision}</version>
+		<relativePath>../../pom.xml</relativePath>
+	</parent>
+
+	<artifactId>isis-core-plugins-codegen-bytebuddy</artifactId>
+
+	<name>Apache Isis Plugin for Code Generation (ByteBuddy)</name>
+	<description>
+        Code generation plugin using ByteBuddy.
+    </description>
+
+	<properties>
+		<bytebuddy.version>1.8.0</bytebuddy.version>
+	
+		<jar-plugin.automaticModuleName>org.apache.isis.plugins.codegen-bytebuddy</jar-plugin.automaticModuleName>
+		<git-plugin.propertiesDir>org/apache/isis/plugins/codegen-bytebuddy</git-plugin.propertiesDir>
+	</properties>
+
+	<build>
+		<resources>
+			<resource>
+				<filtering>false</filtering>
+				<directory>src/main/resources</directory>
+			</resource>
+			<resource>
+				<filtering>false</filtering>
+				<directory>src/main/java</directory>
+				<includes>
+					<include>**</include>
+				</includes>
+				<excludes>
+					<exclude>**/*.java</exclude>
+				</excludes>
+			</resource>
+		</resources>
+	</build>
+
+	<dependencies>
+		<!-- compile dependencies -->
+		<dependency>
+			<groupId>net.bytebuddy</groupId>
+			<artifactId>byte-buddy</artifactId>
+			<version>${bytebuddy.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.isis.core</groupId>
+			<artifactId>isis-core-runtime</artifactId>
+			<scope>compile</scope>
+		</dependency>
+
+	</dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/core/plugins/codegen-bytebuddy/src/main/java/org/apache/isis/core/runtime/plugins/codegen/ProxyFactoryPluginUsingByteBuddy.java b/core/plugins/codegen-bytebuddy/src/main/java/org/apache/isis/core/runtime/plugins/codegen/ProxyFactoryPluginUsingByteBuddy.java
new file mode 100644
index 0000000..0154f46
--- /dev/null
+++ b/core/plugins/codegen-bytebuddy/src/main/java/org/apache/isis/core/runtime/plugins/codegen/ProxyFactoryPluginUsingByteBuddy.java
@@ -0,0 +1,22 @@
+package org.apache.isis.core.runtime.plugins.codegen;
+
+import java.lang.reflect.Method;
+import java.util.function.Predicate;
+
+import org.apache.isis.applib.internal.exceptions._Exceptions;
+
+public class ProxyFactoryPluginUsingByteBuddy implements ProxyFactoryPlugin {
+
+	@Override
+	public <T> ProxyFactory<T> factory(
+			Class<T> base, 
+			Class<?>[] interfaces, 
+			Predicate<Method> methodFilter,
+			Class<?>[] constructorArgTypes) {
+		
+		_Exceptions.throwNotImplemented();
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/core/plugins/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPlugin b/core/plugins/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPlugin
new file mode 100644
index 0000000..f1dc631
--- /dev/null
+++ b/core/plugins/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPlugin
@@ -0,0 +1 @@
+org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPluginUsingByteBuddy
\ No newline at end of file
diff --git a/core/plugins/codegen-javassist/.gitignore b/core/plugins/codegen-javassist/.gitignore
new file mode 100644
index 0000000..a48e45b
--- /dev/null
+++ b/core/plugins/codegen-javassist/.gitignore
@@ -0,0 +1 @@
+/target-ide
diff --git a/core/plugins/codegen-javassist/pom.xml b/core/plugins/codegen-javassist/pom.xml
new file mode 100644
index 0000000..d7f4b7b
--- /dev/null
+++ b/core/plugins/codegen-javassist/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 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. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.isis.core</groupId>
+		<artifactId>isis</artifactId>
+		<version>${revision}</version>
+		<relativePath>../../pom.xml</relativePath>
+	</parent>
+
+	<artifactId>isis-core-plugins-codegen-javassist</artifactId>
+
+	<name>Apache Isis Plugin for Code Generation (Javassist)</name>
+	<description>
+        Code generation plugin using Javassist.
+    </description>
+
+	<properties>
+		<jar-plugin.automaticModuleName>org.apache.isis.plugins.codegen-javassist</jar-plugin.automaticModuleName>
+		<git-plugin.propertiesDir>org/apache/isis/plugins/codegen-javassist</git-plugin.propertiesDir>
+	</properties>
+
+	<build>
+		<resources>
+			<resource>
+				<filtering>false</filtering>
+				<directory>src/main/resources</directory>
+			</resource>
+			<resource>
+				<filtering>false</filtering>
+				<directory>src/main/java</directory>
+				<includes>
+					<include>**</include>
+				</includes>
+				<excludes>
+					<exclude>**/*.java</exclude>
+				</excludes>
+			</resource>
+		</resources>
+	</build>
+
+	<dependencies>
+		<!-- compile dependencies -->
+		<dependency>
+			<groupId>org.javassist</groupId>
+			<artifactId>javassist</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.isis.core</groupId>
+			<artifactId>isis-core-runtime</artifactId>
+			<scope>compile</scope>
+		</dependency>
+
+	</dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/core/plugins/codegen-javassist/src/main/java/org/apache/isis/core/runtime/plugins/codegen/ProxyFactoryPluginUsingJavassist.java b/core/plugins/codegen-javassist/src/main/java/org/apache/isis/core/runtime/plugins/codegen/ProxyFactoryPluginUsingJavassist.java
new file mode 100644
index 0000000..711c1e1
--- /dev/null
+++ b/core/plugins/codegen-javassist/src/main/java/org/apache/isis/core/runtime/plugins/codegen/ProxyFactoryPluginUsingJavassist.java
@@ -0,0 +1,21 @@
+package org.apache.isis.core.runtime.plugins.codegen;
+
+import java.lang.reflect.Method;
+import java.util.function.Predicate;
+
+import org.apache.isis.applib.internal.exceptions._Exceptions;
+
+public class ProxyFactoryPluginUsingJavassist implements ProxyFactoryPlugin {
+
+	@Override
+	public <T> ProxyFactory<T> factory(
+			Class<T> base, 
+			Class<?>[] interfaces, 
+			Predicate<Method> methodFilter,
+			Class<?>[] constructorArgTypes) {
+		// TODO Auto-generated method stub
+		_Exceptions.throwNotImplemented();
+		return null;
+	}
+
+}
diff --git a/core/plugins/codegen-javassist/src/main/resources/META-INF/services/org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPlugin b/core/plugins/codegen-javassist/src/main/resources/META-INF/services/org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPlugin
new file mode 100644
index 0000000..a2d4b84
--- /dev/null
+++ b/core/plugins/codegen-javassist/src/main/resources/META-INF/services/org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPlugin
@@ -0,0 +1 @@
+org.apache.isis.core.runtime.plugins.codegen.ProxyFactoryPluginUsingJavassist
\ No newline at end of file
diff --git a/core/runtime/pom.xml b/core/runtime/pom.xml
index 9a489dc..2c197a9 100644
--- a/core/runtime/pom.xml
+++ b/core/runtime/pom.xml
@@ -121,12 +121,6 @@
 			<artifactId>commons-logging</artifactId>
 		</dependency>
 
-		<!-- for our home-grown proxies for @RequestScoped -->
-<!-- 		<dependency> -->
-<!-- 			<groupId>org.javassist</groupId> -->
-<!-- 			<artifactId>javassist</artifactId> -->
-<!-- 		</dependency> -->
-
 	</dependencies>
 
 	<profiles>

-- 
To stop receiving notification emails like this one, please contact
ahuber@apache.org.