diff --git a/drift-cli/.gitignore b/drift-core/drift-core-domain/.gitignore
similarity index 100%
rename from drift-cli/.gitignore
rename to drift-core/drift-core-domain/.gitignore
diff --git a/drift-core/drift-core-domain/drift-core-domain.iml b/drift-core/drift-core-domain/drift-core-domain.iml
new file mode 100644
index 0000000..ca99d2f
--- /dev/null
+++ b/drift-core/drift-core-domain/drift-core-domain.iml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-core/drift-core-domain/pom.xml b/drift-core/drift-core-domain/pom.xml
new file mode 100644
index 0000000..47dad45
--- /dev/null
+++ b/drift-core/drift-core-domain/pom.xml
@@ -0,0 +1,55 @@
+
+
+ io.drift
+ drift-core
+ 0.0.2-SNAPSHOT
+
+ 4.0.0
+
+ drift-core-domain
+ jar
+ Drift :: Core :: Domain
+
+
+ 1.8
+ 1.8
+ 1.8
+
+
+
+
+
+ com.giffing.wicket.spring.boot.starter
+ wicket-spring-boot-starter
+ 1.0.10
+ pom
+ import
+
+
+
+
+
+
+ org.springframework
+ spring-context-support
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.8.8
+
+
+ ch.qos.logback
+ logback-classic
+ 1.2.3
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
diff --git a/drift-core/src/main/java/io/drift/core/api/Action.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/api/Action.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/api/Action.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/api/Action.java
diff --git a/drift-core/src/main/java/io/drift/core/api/Flow.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/api/Flow.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/api/Flow.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/api/Flow.java
diff --git a/drift-core/src/main/java/io/drift/core/api/FocalArea.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/api/FocalArea.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/api/FocalArea.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/api/FocalArea.java
diff --git a/drift-core/src/main/java/io/drift/core/api/Model.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/api/Model.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/api/Model.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/api/Model.java
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftAnnotationPostProcessor.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftAnnotationPostProcessor.java
new file mode 100644
index 0000000..2d347d4
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftAnnotationPostProcessor.java
@@ -0,0 +1,31 @@
+package io.drift.core.config;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+import org.springframework.stereotype.Component;
+
+@Component
+public class DriftAnnotationPostProcessor implements BeanPostProcessor {
+
+ private final DriftEngine driftEngine;
+
+ public DriftAnnotationPostProcessor(DriftEngine driftEngine) {
+ this.driftEngine = driftEngine;
+ }
+
+
+ @Override
+ public Object postProcessBeforeInitialization(Object bean, String name) throws BeansException {
+ return bean;
+ }
+
+ @Override
+ public Object postProcessAfterInitialization(Object bean, String name) throws BeansException {
+ if (bean instanceof EnginePlugin) {
+ EnginePlugin plugin = (EnginePlugin) bean;
+ driftEngine.registerPlugin(plugin);
+ }
+
+ return bean;
+ }
+}
diff --git a/drift-core/src/main/java/io/drift/core/config/DriftCoreConfig.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftCoreConfig.java
similarity index 50%
rename from drift-core/src/main/java/io/drift/core/config/DriftCoreConfig.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftCoreConfig.java
index f436444..5bd1184 100644
--- a/drift-core/src/main/java/io/drift/core/config/DriftCoreConfig.java
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftCoreConfig.java
@@ -1,21 +1,14 @@
package io.drift.core.config;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Scope;
-import org.springframework.context.annotation.ScopedProxyMode;
+import org.springframework.context.annotation.*;
import io.drift.core.api.FocalArea;
@Configuration
+@ComponentScan(basePackageClasses = DriftCoreConfig.class)
public class DriftCoreConfig {
- @Bean
- public static BeanFactoryPostProcessor driftScopeBeanFactoryPostProcessor() {
- return new DriftScopeBeanFactoryPostProcessor();
- }
-
// @DriftSessionScoped
@Scope(value = DriftSessionScope.DRIFT_SESSION_SCOPE, proxyMode = ScopedProxyMode.TARGET_CLASS)
@Bean
diff --git a/drift-core/src/main/java/io/drift/core/config/DriftEngine.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftEngine.java
similarity index 87%
rename from drift-core/src/main/java/io/drift/core/config/DriftEngine.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftEngine.java
index c7b7d64..09e816b 100644
--- a/drift-core/src/main/java/io/drift/core/config/DriftEngine.java
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftEngine.java
@@ -1,19 +1,18 @@
package io.drift.core.config;
import io.drift.core.api.Flow;
+import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
+@Component
public class DriftEngine {
private List flows = new ArrayList();
public DriftEngine() {
- init();
- }
- private void init() {
}
public List getFlows() {
diff --git a/drift-core/src/main/java/io/drift/core/config/DriftScopeBeanFactoryPostProcessor.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftScopeBeanFactoryPostProcessor.java
similarity index 81%
rename from drift-core/src/main/java/io/drift/core/config/DriftScopeBeanFactoryPostProcessor.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftScopeBeanFactoryPostProcessor.java
index e1d7a6e..5d92b8a 100644
--- a/drift-core/src/main/java/io/drift/core/config/DriftScopeBeanFactoryPostProcessor.java
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftScopeBeanFactoryPostProcessor.java
@@ -3,7 +3,10 @@
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.stereotype.Component;
+@Component
public class DriftScopeBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
@Override
diff --git a/drift-core/src/main/java/io/drift/core/config/DriftSessionScope.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftSessionScope.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/config/DriftSessionScope.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftSessionScope.java
diff --git a/drift-core/src/main/java/io/drift/core/config/DriftSessionScoped.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftSessionScoped.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/config/DriftSessionScoped.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/config/DriftSessionScoped.java
diff --git a/drift-core/src/main/java/io/drift/core/config/EnginePlugin.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/config/EnginePlugin.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/config/EnginePlugin.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/config/EnginePlugin.java
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/AbstractScope.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/AbstractScope.java
new file mode 100644
index 0000000..0a8fc79
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/AbstractScope.java
@@ -0,0 +1,25 @@
+package io.drift.core.lifecycle;
+
+import java.util.HashMap;
+import java.util.Map;
+
+abstract public class AbstractScope implements Scope {
+
+ private Map objects = new HashMap<>();
+
+ protected Object getOrCreate(BeanDescriptor descriptor) {
+ Object object = objects.get(descriptor.getBeanClass());
+ if (object == null) {
+ object = create(descriptor);
+ objects.put(descriptor.getBeanClass(), object);
+ }
+ return object;
+
+ }
+
+ protected Object create(BeanDescriptor descriptor) {
+ return descriptor.getConstructor().create();
+ }
+
+
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanConstructor.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanConstructor.java
new file mode 100644
index 0000000..81e307f
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanConstructor.java
@@ -0,0 +1,6 @@
+package io.drift.core.lifecycle;
+
+@FunctionalInterface
+public interface BeanConstructor {
+ Object create();
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanContainer.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanContainer.java
new file mode 100644
index 0000000..ba68a65
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanContainer.java
@@ -0,0 +1,27 @@
+package io.drift.core.lifecycle;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class BeanContainer {
+
+ private Map descriptors = new HashMap<>();
+
+ private List scopes = new ArrayList<>();
+
+ public Object getBean(Class _class) {
+ BeanDescriptor descriptor = descriptors.get(_class);
+ return descriptor.getScope().getBean(descriptor);
+ }
+
+ public void registerModule(Module module) {
+ module.registerTo(this);
+ }
+
+ public void registerBean(BeanDescriptor descriptor) {
+ descriptors.put(descriptor.getBeanClass(), descriptor);
+ }
+
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanDescriptor.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanDescriptor.java
new file mode 100644
index 0000000..f22d531
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/BeanDescriptor.java
@@ -0,0 +1,29 @@
+package io.drift.core.lifecycle;
+
+public class BeanDescriptor {
+
+ private BeanConstructor constructor;
+
+ private Scope scope;
+
+ private Class beanClass;
+
+ public BeanDescriptor(Class beanClass, Scope scope, BeanConstructor constructor) {
+ this.constructor = constructor;
+ this.scope = scope;
+ this.beanClass = beanClass;
+ }
+
+ public BeanConstructor getConstructor() {
+ return constructor;
+ }
+
+ public Class getBeanClass() {
+ return beanClass;
+ }
+
+ public Scope getScope() {
+ return scope;
+ }
+
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/FlowScope.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/FlowScope.java
new file mode 100644
index 0000000..6dd7ac9
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/FlowScope.java
@@ -0,0 +1,8 @@
+package io.drift.core.lifecycle;
+
+public class FlowScope extends AbstractScope implements Scope {
+ @Override
+ public Object getBean(BeanDescriptor descriptor) {
+ return create(descriptor);
+ }
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/Module.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/Module.java
new file mode 100644
index 0000000..1be4334
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/Module.java
@@ -0,0 +1,5 @@
+package io.drift.core.lifecycle;
+
+public interface Module {
+ void registerTo(BeanContainer beanContainer);
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/RequestScope.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/RequestScope.java
new file mode 100644
index 0000000..a02f5cb
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/RequestScope.java
@@ -0,0 +1,8 @@
+package io.drift.core.lifecycle;
+
+public class RequestScope extends AbstractScope implements Scope {
+ @Override
+ public Object getBean(BeanDescriptor descriptor) {
+ return create(descriptor);
+ }
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/Scope.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/Scope.java
new file mode 100644
index 0000000..e2009c4
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/Scope.java
@@ -0,0 +1,5 @@
+package io.drift.core.lifecycle;
+
+public interface Scope {
+ Object getBean(BeanDescriptor descriptor);
+}
diff --git a/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/SingletonScope.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/SingletonScope.java
new file mode 100644
index 0000000..8e79742
--- /dev/null
+++ b/drift-core/drift-core-domain/src/main/java/io/drift/core/lifecycle/SingletonScope.java
@@ -0,0 +1,10 @@
+package io.drift.core.lifecycle;
+
+public class SingletonScope extends AbstractScope implements Scope {
+
+ @Override
+ public Object getBean(BeanDescriptor descriptor) {
+ return getOrCreate(descriptor);
+ }
+
+}
diff --git a/drift-core/src/main/java/io/drift/core/store/IDGenerator.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/IDGenerator.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/IDGenerator.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/IDGenerator.java
diff --git a/drift-core/src/main/java/io/drift/core/store/IDGeneratorTimestampImpl.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/IDGeneratorTimestampImpl.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/IDGeneratorTimestampImpl.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/IDGeneratorTimestampImpl.java
diff --git a/drift-core/src/main/java/io/drift/core/store/IDGeneratorUUIDImpl.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/IDGeneratorUUIDImpl.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/IDGeneratorUUIDImpl.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/IDGeneratorUUIDImpl.java
diff --git a/drift-core/src/main/java/io/drift/core/store/MetaModel.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/MetaModel.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/MetaModel.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/MetaModel.java
diff --git a/drift-core/src/main/java/io/drift/core/store/ModelStore.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/ModelStore.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/ModelStore.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/ModelStore.java
diff --git a/drift-core/src/main/java/io/drift/core/store/ModelStoreException.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/ModelStoreException.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/ModelStoreException.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/ModelStoreException.java
diff --git a/drift-core/src/main/java/io/drift/core/store/metadata/MetaModelCreator.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/metadata/MetaModelCreator.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/metadata/MetaModelCreator.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/metadata/MetaModelCreator.java
diff --git a/drift-core/src/main/java/io/drift/core/store/metadata/MetaModelManager.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/metadata/MetaModelManager.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/metadata/MetaModelManager.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/metadata/MetaModelManager.java
diff --git a/drift-core/src/main/java/io/drift/core/store/serialization/JsonModelSerializer.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/JsonModelSerializer.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/serialization/JsonModelSerializer.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/JsonModelSerializer.java
diff --git a/drift-core/src/main/java/io/drift/core/store/serialization/SerializationManager.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/SerializationManager.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/serialization/SerializationManager.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/SerializationManager.java
diff --git a/drift-core/src/main/java/io/drift/core/store/serialization/Serializer.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/Serializer.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/serialization/Serializer.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/Serializer.java
diff --git a/drift-core/src/main/java/io/drift/core/store/serialization/StorableSerializationException.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/StorableSerializationException.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/serialization/StorableSerializationException.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/serialization/StorableSerializationException.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/FileSystemModelStorage.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/FileSystemModelStorage.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/FileSystemModelStorage.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/FileSystemModelStorage.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/InMemoryModelStorage.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/InMemoryModelStorage.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/InMemoryModelStorage.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/InMemoryModelStorage.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/ModelStorage.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/ModelStorage.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/ModelStorage.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/ModelStorage.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/ModelStorageException.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/ModelStorageException.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/ModelStorageException.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/ModelStorageException.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/ModelStorageManager.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/ModelStorageManager.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/ModelStorageManager.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/ModelStorageManager.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/Storable.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/Storable.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/Storable.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/Storable.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/StorageId.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/StorageId.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/StorageId.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/StorageId.java
diff --git a/drift-core/src/main/java/io/drift/core/store/storage/StoragePath.java b/drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/StoragePath.java
similarity index 100%
rename from drift-core/src/main/java/io/drift/core/store/storage/StoragePath.java
rename to drift-core/drift-core-domain/src/main/java/io/drift/core/store/storage/StoragePath.java
diff --git a/drift-core/drift-core-domain/src/site/_site.xml b/drift-core/drift-core-domain/src/site/_site.xml
new file mode 100644
index 0000000..cc4f5a3
--- /dev/null
+++ b/drift-core/drift-core-domain/src/site/_site.xml
@@ -0,0 +1,7 @@
+
+
+ org.apache.maven.skins
+ maven-fluido-skin
+ 1.7
+
+
\ No newline at end of file
diff --git a/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/ConfigBean.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/ConfigBean.java
new file mode 100644
index 0000000..3d4af41
--- /dev/null
+++ b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/ConfigBean.java
@@ -0,0 +1,4 @@
+package io.drift.core.lifecycle;
+
+public class ConfigBean {
+}
diff --git a/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/FlowScopedBean.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/FlowScopedBean.java
new file mode 100644
index 0000000..362198d
--- /dev/null
+++ b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/FlowScopedBean.java
@@ -0,0 +1,18 @@
+package io.drift.core.lifecycle;
+
+public class FlowScopedBean {
+
+ private SingletonScopedBean singletonScopedBean;
+
+ public FlowScopedBean(SingletonScopedBean singletonScopedBean) {
+ this.singletonScopedBean = singletonScopedBean;
+ }
+
+ public void doSomething() {
+ singletonScopedBean.doSomething();
+ }
+
+ public SingletonScopedBean getSingletonScopedBean() {
+ return singletonScopedBean;
+ }
+}
diff --git a/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/LifeCycleTest.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/LifeCycleTest.java
new file mode 100644
index 0000000..103f992
--- /dev/null
+++ b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/LifeCycleTest.java
@@ -0,0 +1,55 @@
+package io.drift.core.lifecycle;
+
+import junit.framework.TestCase;
+import org.junit.Assert;
+
+public class LifeCycleTest extends TestCase {
+
+ private BeanContainer beanContainer;
+
+ protected void setUp() {
+ beanContainer = new BeanContainer();
+ beanContainer.registerModule(new Module1());
+ }
+
+ public void testBeanCreation() {
+
+ SingletonScopedBean singletonScopedBean = (SingletonScopedBean) beanContainer.getBean(SingletonScopedBean.class);
+ Assert.assertNotNull(singletonScopedBean);
+
+ FlowScopedBean flowScopedBean = (FlowScopedBean) beanContainer.getBean(FlowScopedBean.class);
+ Assert.assertNotNull(flowScopedBean);
+ Assert.assertNotNull(flowScopedBean.getSingletonScopedBean());
+
+ RequestScopedBean requestScopedBean = (RequestScopedBean) beanContainer.getBean(RequestScopedBean.class);
+ Assert.assertNotNull(requestScopedBean.getFlowScopedBean());
+ Assert.assertNotNull(requestScopedBean.getFlowScopedBean().getSingletonScopedBean());
+
+ }
+
+ public void testSingletonScope() {
+ SingletonScopedBean singletonScopedBean = (SingletonScopedBean) beanContainer.getBean(SingletonScopedBean.class);
+ SingletonScopedBean singletonScopedBean2 = (SingletonScopedBean) beanContainer.getBean(SingletonScopedBean.class);
+ Assert.assertEquals(singletonScopedBean, singletonScopedBean2);
+
+ FlowScopedBean flowScopedBean = (FlowScopedBean) beanContainer.getBean(FlowScopedBean.class);
+ FlowScopedBean flowScopedBean2 = (FlowScopedBean) beanContainer.getBean(FlowScopedBean.class);
+ Assert.assertNotEquals(flowScopedBean, flowScopedBean2);
+ Assert.assertEquals(singletonScopedBean, flowScopedBean.getSingletonScopedBean());
+
+ RequestScopedBean requestScopedBean = (RequestScopedBean) beanContainer.getBean(RequestScopedBean.class);
+ RequestScopedBean requestScopedBean2 = (RequestScopedBean) beanContainer.getBean(RequestScopedBean.class);
+ Assert.assertNotEquals(requestScopedBean, requestScopedBean2);
+ Assert.assertEquals(singletonScopedBean, requestScopedBean.getFlowScopedBean().getSingletonScopedBean());
+
+
+
+ }
+
+ public void testStoreBackedBean() {
+
+
+
+ }
+
+}
diff --git a/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/Module1.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/Module1.java
new file mode 100644
index 0000000..a97f146
--- /dev/null
+++ b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/Module1.java
@@ -0,0 +1,46 @@
+package io.drift.core.lifecycle;
+
+public class Module1 implements Module {
+ @Override
+ public void registerTo(BeanContainer beanContainer) {
+
+ FlowScope flowScope = new FlowScope();
+ SingletonScope singletonScope = new SingletonScope();
+ RequestScope requestScope = new RequestScope();
+
+ beanContainer.registerBean(describeSingletonScopedBean(singletonScope));
+ beanContainer.registerBean(describeFlowScopedBean(beanContainer, flowScope));
+ beanContainer.registerBean(describeRequestScopedBean(beanContainer, requestScope));
+
+ }
+
+ private BeanDescriptor describeRequestScopedBean(BeanContainer beanContainer, RequestScope requestScope) {
+ return new BeanDescriptor(
+ RequestScopedBean.class,
+ requestScope,
+ () -> {
+ FlowScopedBean flowScopedBean = (FlowScopedBean) beanContainer.getBean(FlowScopedBean.class);
+ return new RequestScopedBean(flowScopedBean);
+ }
+ );
+ }
+
+ private BeanDescriptor describeSingletonScopedBean(SingletonScope singletonScope) {
+ return new BeanDescriptor(
+ SingletonScopedBean.class,
+ singletonScope,
+ () -> new SingletonScopedBean()
+ );
+ }
+
+ private BeanDescriptor describeFlowScopedBean(BeanContainer beanContainer, FlowScope flowScope) {
+ return new BeanDescriptor(
+ FlowScopedBean.class,
+ flowScope,
+ () -> {
+ SingletonScopedBean singletonScopedBean = (SingletonScopedBean) beanContainer.getBean(SingletonScopedBean.class);
+ return new FlowScopedBean(singletonScopedBean);
+ }
+ );
+ }
+}
diff --git a/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/RequestScopedBean.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/RequestScopedBean.java
new file mode 100644
index 0000000..066bf48
--- /dev/null
+++ b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/RequestScopedBean.java
@@ -0,0 +1,19 @@
+package io.drift.core.lifecycle;
+
+public class RequestScopedBean {
+
+ private final FlowScopedBean flowScopedBean;
+
+ public RequestScopedBean(FlowScopedBean flowScopedBean) {
+ this.flowScopedBean = flowScopedBean;
+ }
+
+ public void doSomething() {
+ flowScopedBean.doSomething();
+ }
+
+ public FlowScopedBean getFlowScopedBean() {
+ return flowScopedBean;
+ }
+
+}
diff --git a/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/SingletonScopedBean.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/SingletonScopedBean.java
new file mode 100644
index 0000000..9cd5b53
--- /dev/null
+++ b/drift-core/drift-core-domain/src/test/java/io/drift/core/lifecycle/SingletonScopedBean.java
@@ -0,0 +1,7 @@
+package io.drift.core.lifecycle;
+
+public class SingletonScopedBean {
+
+ public void doSomething() {
+ }
+}
diff --git a/drift-core/src/test/java/io/drift/core/store/MyModel.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/store/MyModel.java
similarity index 100%
rename from drift-core/src/test/java/io/drift/core/store/MyModel.java
rename to drift-core/drift-core-domain/src/test/java/io/drift/core/store/MyModel.java
diff --git a/drift-core/src/test/java/io/drift/core/store/MyModelMetaModelCreator.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/store/MyModelMetaModelCreator.java
similarity index 100%
rename from drift-core/src/test/java/io/drift/core/store/MyModelMetaModelCreator.java
rename to drift-core/drift-core-domain/src/test/java/io/drift/core/store/MyModelMetaModelCreator.java
diff --git a/drift-core/src/test/java/io/drift/core/store/StoreTest.java b/drift-core/drift-core-domain/src/test/java/io/drift/core/store/StoreTest.java
similarity index 100%
rename from drift-core/src/test/java/io/drift/core/store/StoreTest.java
rename to drift-core/drift-core-domain/src/test/java/io/drift/core/store/StoreTest.java
diff --git a/drift-core-ui/.gitignore b/drift-core/drift-core-springboot/.gitignore
similarity index 100%
rename from drift-core-ui/.gitignore
rename to drift-core/drift-core-springboot/.gitignore
diff --git a/drift-core/drift-core-springboot/drift-core-springboot.iml b/drift-core/drift-core-springboot/drift-core-springboot.iml
new file mode 100644
index 0000000..a72bbd3
--- /dev/null
+++ b/drift-core/drift-core-springboot/drift-core-springboot.iml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-core-ui/pom.xml b/drift-core/drift-core-springboot/pom.xml
similarity index 91%
rename from drift-core-ui/pom.xml
rename to drift-core/drift-core-springboot/pom.xml
index 680e94b..32e4047 100644
--- a/drift-core-ui/pom.xml
+++ b/drift-core/drift-core-springboot/pom.xml
@@ -2,14 +2,14 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
io.drift
- drift-parent
+ drift-core
0.0.2-SNAPSHOT
4.0.0
- drift-core-ui
+ drift-core-springboot
jar
- Drift :: Core :: UI
+ Drift :: Core :: Spring Boot
1.8
@@ -23,7 +23,7 @@
io.drift
- drift-core
+ drift-core-domain
@@ -108,8 +108,8 @@
lesscss-maven-plugin
1.7.0.1.1
- ${project.basedir}/src/main/java
- ${project.basedir}/src/main/java
+ src/main/java
+ src/main/java
true
diff --git a/drift-core-ui/src/main/java/io/drift/core/ui/DriftServer.java b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftServer.java
similarity index 70%
rename from drift-core-ui/src/main/java/io/drift/core/ui/DriftServer.java
rename to drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftServer.java
index dc699c8..bc4aede 100644
--- a/drift-core-ui/src/main/java/io/drift/core/ui/DriftServer.java
+++ b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftServer.java
@@ -1,19 +1,25 @@
-package io.drift.core.ui;
+package io.drift.core.springboot;
import io.drift.core.api.Flow;
import io.drift.core.config.DriftEngine;
-import io.drift.core.ui.component.flow.ComponentFactory;
+import io.drift.core.springboot.ui.component.tile.ComponentFactory;
+import org.apache.wicket.Component;
+import org.springframework.beans.factory.annotation.Autowired;
import java.util.HashMap;
import java.util.Map;
-import org.apache.wicket.Component;
-
+@org.springframework.stereotype.Component
public class DriftServer {
private Map factoryForFlow = new HashMap();
-
- private DriftEngine driftEngine = new DriftEngine();
+
+ @Autowired
+ private DriftEngine driftEngine;
+
+ public DriftServer() {
+
+ }
public DriftEngine getEngine() {
return driftEngine;
diff --git a/drift-core-ui/src/main/java/io/drift/core/ui/DriftServerPlugin.java b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftServerPlugin.java
similarity index 76%
rename from drift-core-ui/src/main/java/io/drift/core/ui/DriftServerPlugin.java
rename to drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftServerPlugin.java
index a76244c..a875718 100644
--- a/drift-core-ui/src/main/java/io/drift/core/ui/DriftServerPlugin.java
+++ b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftServerPlugin.java
@@ -1,7 +1,8 @@
-package io.drift.core.ui;
+package io.drift.core.springboot;
import io.drift.core.config.DriftEngine;
import io.drift.core.config.EnginePlugin;
+import io.drift.core.springboot.DriftServer;
abstract public class DriftServerPlugin extends EnginePlugin {
diff --git a/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftSpringBootAutoConfig.java b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftSpringBootAutoConfig.java
new file mode 100644
index 0000000..1ad37ed
--- /dev/null
+++ b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/DriftSpringBootAutoConfig.java
@@ -0,0 +1,9 @@
+package io.drift.core.springboot;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ComponentScan(basePackageClasses = DriftSpringBootAutoConfig.class)
+public class DriftSpringBootAutoConfig {
+}
diff --git a/drift-core-ui/src/main/java/io/drift/core/ui/component/flow/ComponentFactory.java b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/ComponentFactory.java
similarity index 71%
rename from drift-core-ui/src/main/java/io/drift/core/ui/component/flow/ComponentFactory.java
rename to drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/ComponentFactory.java
index 3c05bcc..d268234 100644
--- a/drift-core-ui/src/main/java/io/drift/core/ui/component/flow/ComponentFactory.java
+++ b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/ComponentFactory.java
@@ -1,4 +1,4 @@
-package io.drift.core.ui.component.flow;
+package io.drift.core.springboot.ui.component.tile;
import org.apache.wicket.Component;
diff --git a/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/Tile.java b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/Tile.java
new file mode 100644
index 0000000..3fa94e1
--- /dev/null
+++ b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/Tile.java
@@ -0,0 +1,4 @@
+package io.drift.core.springboot.ui.component.tile;
+
+public interface Tile {
+}
diff --git a/drift-core-ui/src/main/java/io/drift/core/ui/component/flow/FlowComponent.html b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/TileComponent.html
similarity index 100%
rename from drift-core-ui/src/main/java/io/drift/core/ui/component/flow/FlowComponent.html
rename to drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/TileComponent.html
diff --git a/drift-core-ui/src/main/java/io/drift/core/ui/component/flow/FlowComponent.java b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/TileComponent.java
similarity index 52%
rename from drift-core-ui/src/main/java/io/drift/core/ui/component/flow/FlowComponent.java
rename to drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/TileComponent.java
index 1ab4d4d..d7bf4e4 100644
--- a/drift-core-ui/src/main/java/io/drift/core/ui/component/flow/FlowComponent.java
+++ b/drift-core/drift-core-springboot/src/main/java/io/drift/core/springboot/ui/component/tile/TileComponent.java
@@ -1,11 +1,11 @@
-package io.drift.core.ui.component.flow;
+package io.drift.core.springboot.ui.component.tile;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
-public class FlowComponent extends Panel {
+public class TileComponent extends Panel {
- public FlowComponent(String id, String label) {
+ public TileComponent(String id, String label) {
super(id);
add(new Label("label", label));
}
diff --git a/drift-core/drift-core-springboot/src/main/resources/META-INF/spring.factories b/drift-core/drift-core-springboot/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..48079a4
--- /dev/null
+++ b/drift-core/drift-core-springboot/src/main/resources/META-INF/spring.factories
@@ -0,0 +1 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=io.drift.core.springboot.DriftSpringBootAutoConfig
diff --git a/drift-core/drift-core.iml b/drift-core/drift-core.iml
new file mode 100644
index 0000000..f409c0e
--- /dev/null
+++ b/drift-core/drift-core.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-core/pom.xml b/drift-core/pom.xml
index e627d4c..fda7f56 100644
--- a/drift-core/pom.xml
+++ b/drift-core/pom.xml
@@ -1,55 +1,21 @@
+
-
- io.drift
- drift-parent
- 0.0.2-SNAPSHOT
-
- 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/xsd/maven-4.0.0.xsd">
+
+ drift-parent
+ io.drift
+ 0.0.2-SNAPSHOT
+
+ 4.0.0
- drift-core
- jar
- Drift :: Core
+ drift-core
+ pom
+ Drift :: Core
-
- 1.8
- 1.8
- 1.8
-
+
+ drift-core-domain
+ drift-core-springboot
+
-
-
-
- com.giffing.wicket.spring.boot.starter
- wicket-spring-boot-starter
- 1.0.10
- pom
- import
-
-
-
-
-
-
- org.springframework
- spring-context-support
-
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.8.8
-
-
- ch.qos.logback
- logback-classic
- 1.2.3
-
-
- junit
- junit
- 4.12
- test
-
-
-
+
\ No newline at end of file
diff --git a/drift-core/.gitignore b/drift-jdbc/drift-jdbc-cli/.gitignore
similarity index 100%
rename from drift-core/.gitignore
rename to drift-jdbc/drift-jdbc-cli/.gitignore
diff --git a/drift-jdbc/drift-jdbc-cli/drift-jdbc-cli.iml b/drift-jdbc/drift-jdbc-cli/drift-jdbc-cli.iml
new file mode 100644
index 0000000..b213e62
--- /dev/null
+++ b/drift-jdbc/drift-jdbc-cli/drift-jdbc-cli.iml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-jdbc-cli/pom.xml b/drift-jdbc/drift-jdbc-cli/pom.xml
similarity index 79%
rename from drift-jdbc-cli/pom.xml
rename to drift-jdbc/drift-jdbc-cli/pom.xml
index ecf48d8..d694b16 100644
--- a/drift-jdbc-cli/pom.xml
+++ b/drift-jdbc/drift-jdbc-cli/pom.xml
@@ -5,14 +5,14 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
io.drift
- drift-parent
+ drift-jdbc
0.0.2-SNAPSHOT
4.0.0
drift-jdbc-cli
jar
- Drift :: JDBC :: CLI
+ Drift :: JDBC :: Spring CLI
UTF-8
@@ -23,11 +23,12 @@
io.drift
- drift-jdbc
+ drift-jdbc-domain
io.drift
- drift-cli
+ drift-runtime-springcli
+ 0.0.2-SNAPSHOT
diff --git a/drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/DriftJdbcCliConfig.java b/drift-jdbc/drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/DriftJdbcCliConfig.java
similarity index 100%
rename from drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/DriftJdbcCliConfig.java
rename to drift-jdbc/drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/DriftJdbcCliConfig.java
diff --git a/drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/JdbcCommands.java b/drift-jdbc/drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/JdbcCommands.java
similarity index 100%
rename from drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/JdbcCommands.java
rename to drift-jdbc/drift-jdbc-cli/src/main/java/io/drift/jdbc/cli/JdbcCommands.java
diff --git a/drift-jdbc-cli/.gitignore b/drift-jdbc/drift-jdbc-domain/.gitignore
similarity index 100%
rename from drift-jdbc-cli/.gitignore
rename to drift-jdbc/drift-jdbc-domain/.gitignore
diff --git a/drift-jdbc/drift-jdbc-domain/drift-jdbc-domain.iml b/drift-jdbc/drift-jdbc-domain/drift-jdbc-domain.iml
new file mode 100644
index 0000000..4107b73
--- /dev/null
+++ b/drift-jdbc/drift-jdbc-domain/drift-jdbc-domain.iml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-jdbc/drift-jdbc-domain/pom.xml b/drift-jdbc/drift-jdbc-domain/pom.xml
new file mode 100644
index 0000000..4656520
--- /dev/null
+++ b/drift-jdbc/drift-jdbc-domain/pom.xml
@@ -0,0 +1,41 @@
+
+
+
+
+ io.drift
+ drift-jdbc
+ 0.0.2-SNAPSHOT
+
+ 4.0.0
+
+ drift-jdbc-domain
+ jar
+ Drift :: JDBC :: Domain
+
+
+ UTF-8
+ 1.8
+ 1.8
+
+
+
+
+ junit
+ junit
+ 4.11
+ test
+
+
+ io.drift
+ drift-core-domain
+
+
+ com.h2database
+ h2
+ 1.4.197
+
+
+
+
diff --git a/drift-jdbc/src/main/groovy/setup.groovy b/drift-jdbc/drift-jdbc-domain/src/main/groovy/setup.groovy
similarity index 100%
rename from drift-jdbc/src/main/groovy/setup.groovy
rename to drift-jdbc/drift-jdbc-domain/src/main/groovy/setup.groovy
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/config/DriftJdbcConfig.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/config/DriftJdbcConfig.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/config/DriftJdbcConfig.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/config/DriftJdbcConfig.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDelta.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDelta.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDelta.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDelta.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDeltaBuilder.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDeltaBuilder.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDeltaBuilder.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDeltaBuilder.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDeltaId.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDeltaId.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDeltaId.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDeltaId.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDeltaWriter.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDeltaWriter.java
similarity index 97%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDeltaWriter.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDeltaWriter.java
index a51a4e0..c14ab4d 100644
--- a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBDeltaWriter.java
+++ b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBDeltaWriter.java
@@ -34,7 +34,7 @@ private class HTMLFormat implements Format {
@Override
public void delete(PrintStream writer, TableMetaData table, Row row) {
writer.println("\t\t\t\t\t\t");
- writer.println("\t\t\t\t\t\tD | ");
+ writer.println("\t\t\t\t\t\tD | ");
writeRow(writer, table, row);
writer.println("\t\t\t\t\t\t
");
}
@@ -42,7 +42,7 @@ public void delete(PrintStream writer, TableMetaData table, Row row) {
@Override
public void insert(PrintStream writer, TableMetaData table, Row row) {
writer.println("\t\t\t\t\t\t");
- writer.println("\t\t\t\t\t\tI | ");
+ writer.println("\t\t\t\t\t\tI | ");
writeRow(writer, table, row);
writer.println("\t\t\t\t\t\t
");
}
@@ -89,7 +89,7 @@ public void tableHeader(PrintStream writer, TableMetaData table) {
@Override
public void update(PrintStream writer, TableMetaData table, Row row) {
writer.println("\t\t\t\t\t\t");
- writer.println("\t\t\t\t\t\tU | ");
+ writer.println("\t\t\t\t\t\tU | ");
writeRow(writer, table, row);
writer.println("\t\t\t\t\t\t
");
}
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBSnapShot.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBSnapShot.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBSnapShot.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBSnapShot.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBSnapShotBuilder.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBSnapShotBuilder.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBSnapShotBuilder.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBSnapShotBuilder.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBSnapshotId.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBSnapshotId.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DBSnapshotId.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DBSnapshotId.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DeltaSummary.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DeltaSummary.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/DeltaSummary.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/DeltaSummary.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/Row.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/Row.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/Row.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/Row.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/SnapshotConfig.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/SnapshotConfig.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/SnapshotConfig.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/SnapshotConfig.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/TableDelta.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/TableDelta.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/TableDelta.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/TableDelta.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/data/TableSnapShot.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/TableSnapShot.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/data/TableSnapShot.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/data/TableSnapShot.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/ColumnMetaData.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/ColumnMetaData.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/ColumnMetaData.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/ColumnMetaData.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/DBMetaData.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/DBMetaData.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/DBMetaData.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/DBMetaData.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/DBMetaDataBuilder.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/DBMetaDataBuilder.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/DBMetaDataBuilder.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/DBMetaDataBuilder.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/PKMetaData.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/PKMetaData.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/PKMetaData.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/PKMetaData.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/TableMetaData.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/TableMetaData.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/metadata/TableMetaData.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/metadata/TableMetaData.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/session/DataCaptureSession.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/session/DataCaptureSession.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/session/DataCaptureSession.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/session/DataCaptureSession.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/domain/session/SessionId.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/session/SessionId.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/domain/session/SessionId.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/domain/session/SessionId.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/usecase/ConnectAction.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/ConnectAction.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/usecase/ConnectAction.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/ConnectAction.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/usecase/DBSnapshotFlow.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/DBSnapshotFlow.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/usecase/DBSnapshotFlow.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/DBSnapshotFlow.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/usecase/SnapshotWorkspace.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/SnapshotWorkspace.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/usecase/SnapshotWorkspace.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/SnapshotWorkspace.java
diff --git a/drift-jdbc/src/main/java/io/drift/jdbc/usecase/TakeSnapshotAction.java b/drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/TakeSnapshotAction.java
similarity index 100%
rename from drift-jdbc/src/main/java/io/drift/jdbc/usecase/TakeSnapshotAction.java
rename to drift-jdbc/drift-jdbc-domain/src/main/java/io/drift/jdbc/usecase/TakeSnapshotAction.java
diff --git a/drift-jdbc/src/test/java/io/drift/plugin/jdbc/MockDBDeltaBuilder.java b/drift-jdbc/drift-jdbc-domain/src/test/java/io/drift/plugin/jdbc/MockDBDeltaBuilder.java
similarity index 100%
rename from drift-jdbc/src/test/java/io/drift/plugin/jdbc/MockDBDeltaBuilder.java
rename to drift-jdbc/drift-jdbc-domain/src/test/java/io/drift/plugin/jdbc/MockDBDeltaBuilder.java
diff --git a/drift-jdbc/src/test/java/io/drift/plugin/jdbc/MockDBMetaDataBuilder.java b/drift-jdbc/drift-jdbc-domain/src/test/java/io/drift/plugin/jdbc/MockDBMetaDataBuilder.java
similarity index 100%
rename from drift-jdbc/src/test/java/io/drift/plugin/jdbc/MockDBMetaDataBuilder.java
rename to drift-jdbc/drift-jdbc-domain/src/test/java/io/drift/plugin/jdbc/MockDBMetaDataBuilder.java
diff --git a/drift-jdbc/src/test/java/io/drift/plugin/jdbc/StoreTest.java b/drift-jdbc/drift-jdbc-domain/src/test/java/io/drift/plugin/jdbc/StoreTest.java
similarity index 100%
rename from drift-jdbc/src/test/java/io/drift/plugin/jdbc/StoreTest.java
rename to drift-jdbc/drift-jdbc-domain/src/test/java/io/drift/plugin/jdbc/StoreTest.java
diff --git a/drift-jdbc/test.mv.db b/drift-jdbc/drift-jdbc-domain/test.mv.db
similarity index 100%
rename from drift-jdbc/test.mv.db
rename to drift-jdbc/drift-jdbc-domain/test.mv.db
diff --git a/drift-jdbc/test.trace.db b/drift-jdbc/drift-jdbc-domain/test.trace.db
similarity index 100%
rename from drift-jdbc/test.trace.db
rename to drift-jdbc/drift-jdbc-domain/test.trace.db
diff --git a/drift-jdbc-ui/.gitignore b/drift-jdbc/drift-jdbc-springboot/.gitignore
similarity index 100%
rename from drift-jdbc-ui/.gitignore
rename to drift-jdbc/drift-jdbc-springboot/.gitignore
diff --git a/drift-jdbc/drift-jdbc-springboot/drift-jdbc-springboot.iml b/drift-jdbc/drift-jdbc-springboot/drift-jdbc-springboot.iml
new file mode 100644
index 0000000..c8792bd
--- /dev/null
+++ b/drift-jdbc/drift-jdbc-springboot/drift-jdbc-springboot.iml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-jdbc-ui/pom.xml b/drift-jdbc/drift-jdbc-springboot/pom.xml
similarity index 85%
rename from drift-jdbc-ui/pom.xml
rename to drift-jdbc/drift-jdbc-springboot/pom.xml
index 0abc82e..a7d1d93 100644
--- a/drift-jdbc-ui/pom.xml
+++ b/drift-jdbc/drift-jdbc-springboot/pom.xml
@@ -5,14 +5,14 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
io.drift
- drift-parent
+ drift-jdbc
0.0.2-SNAPSHOT
4.0.0
- drift-jdbc-ui
+ drift-jdbc-springboot
jar
- Drift :: JDBC :: UI
+ Drift :: JDBC :: Spring Boot
UTF-8
@@ -29,15 +29,11 @@
io.drift
- drift-core
+ drift-jdbc-domain
io.drift
- drift-jdbc
-
-
- io.drift
- drift-core-ui
+ drift-runtime-springboot
diff --git a/drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/DBSnapshotPlugin.java b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/DBSnapshotPlugin.java
similarity index 78%
rename from drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/DBSnapshotPlugin.java
rename to drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/DBSnapshotPlugin.java
index c385a7f..a7b58c2 100644
--- a/drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/DBSnapshotPlugin.java
+++ b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/DBSnapshotPlugin.java
@@ -2,11 +2,13 @@
import io.drift.core.api.Flow;
import io.drift.core.config.DriftEngine;
-import io.drift.core.ui.DriftServer;
-import io.drift.core.ui.DriftServerPlugin;
+import io.drift.core.springboot.DriftServer;
+import io.drift.core.springboot.DriftServerPlugin;
import io.drift.jdbc.usecase.DBSnapshotFlow;
import io.drift.plugin.jdbc.ui.DBSnapshotFlowComponentFactory;
+import org.springframework.stereotype.Component;
+@Component
public class DBSnapshotPlugin extends DriftServerPlugin {
public Flow flow = new DBSnapshotFlow(null);
diff --git a/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/DriftJDBCAutoConfig.java b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/DriftJDBCAutoConfig.java
new file mode 100644
index 0000000..16a03c2
--- /dev/null
+++ b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/DriftJDBCAutoConfig.java
@@ -0,0 +1,9 @@
+package io.drift.plugin.jdbc;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ComponentScan(basePackageClasses = DriftJDBCAutoConfig.class)
+public class DriftJDBCAutoConfig {
+}
diff --git a/drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.html b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.html
similarity index 100%
rename from drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.html
rename to drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.html
diff --git a/drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.java b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.java
similarity index 100%
rename from drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.java
rename to drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponent.java
diff --git a/drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponentFactory.java b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponentFactory.java
similarity index 77%
rename from drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponentFactory.java
rename to drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponentFactory.java
index 233679d..a41e457 100644
--- a/drift-jdbc-ui/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponentFactory.java
+++ b/drift-jdbc/drift-jdbc-springboot/src/main/java/io/drift/plugin/jdbc/ui/DBSnapshotFlowComponentFactory.java
@@ -1,6 +1,6 @@
package io.drift.plugin.jdbc.ui;
-import io.drift.core.ui.component.flow.ComponentFactory;
+import io.drift.core.springboot.ui.component.tile.ComponentFactory;
import org.apache.wicket.Component;
diff --git a/drift-jdbc/drift-jdbc-springboot/src/main/resources/META-INF/spring.factories b/drift-jdbc/drift-jdbc-springboot/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..de30852
--- /dev/null
+++ b/drift-jdbc/drift-jdbc-springboot/src/main/resources/META-INF/spring.factories
@@ -0,0 +1 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=io.drift.plugin.jdbc.DriftJDBCAutoConfig
diff --git a/drift-jdbc/drift-jdbc.iml b/drift-jdbc/drift-jdbc.iml
new file mode 100644
index 0000000..f409c0e
--- /dev/null
+++ b/drift-jdbc/drift-jdbc.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-jdbc/pom.xml b/drift-jdbc/pom.xml
index c64a131..c7e4cc8 100644
--- a/drift-jdbc/pom.xml
+++ b/drift-jdbc/pom.xml
@@ -1,41 +1,22 @@
-
-
- io.drift
- drift-parent
- 0.0.2-SNAPSHOT
-
- 4.0.0
-
- drift-jdbc
- jar
- Drift :: Plugin :: JDBC
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ drift-parent
+ io.drift
+ 0.0.2-SNAPSHOT
+
+ 4.0.0
-
- UTF-8
- 1.8
- 1.8
-
+ drift-jdbc
+ pom
+ Drift :: JDBC
-
-
- junit
- junit
- 4.11
- test
-
-
- io.drift
- drift-core
-
-
- com.h2database
- h2
- 1.4.197
-
-
+
+ drift-jdbc-domain
+ drift-jdbc-springboot
+ drift-jdbc-cli
+
-
+
\ No newline at end of file
diff --git a/drift-parent.iml b/drift-parent.iml
new file mode 100644
index 0000000..f409c0e
--- /dev/null
+++ b/drift-parent.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-server/.gitignore b/drift-runtime/drift-runtime-springboot/.gitignore
similarity index 100%
rename from drift-server/.gitignore
rename to drift-runtime/drift-runtime-springboot/.gitignore
diff --git a/drift-runtime/drift-runtime-springboot/drift-runtime-springboot.iml b/drift-runtime/drift-runtime-springboot/drift-runtime-springboot.iml
new file mode 100644
index 0000000..89800a9
--- /dev/null
+++ b/drift-runtime/drift-runtime-springboot/drift-runtime-springboot.iml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drift-server/pom.xml b/drift-runtime/drift-runtime-springboot/pom.xml
similarity index 91%
rename from drift-server/pom.xml
rename to drift-runtime/drift-runtime-springboot/pom.xml
index 8f19291..b12859a 100644
--- a/drift-server/pom.xml
+++ b/drift-runtime/drift-runtime-springboot/pom.xml
@@ -2,14 +2,14 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
io.drift
- drift-parent
+ drift-runtime
0.0.2-SNAPSHOT
4.0.0
- drift-server
+ drift-runtime-springboot
jar
- Drift :: Server
+ Drift :: Runtime :: Spring Boot
1.8
@@ -27,7 +27,7 @@
io.drift
- drift-core-ui
+ drift-core-springboot
@@ -112,8 +112,8 @@
lesscss-maven-plugin
1.7.0.1.1
- ${project.basedir}/src/main/java
- ${project.basedir}/src/main/java
+ src/main/java
+ src/main/java
true
diff --git a/drift-runtime/drift-runtime-springboot/src/main/java/io/drift/recording/RecordingService.java b/drift-runtime/drift-runtime-springboot/src/main/java/io/drift/recording/RecordingService.java
new file mode 100644
index 0000000..00fce4c
--- /dev/null
+++ b/drift-runtime/drift-runtime-springboot/src/main/java/io/drift/recording/RecordingService.java
@@ -0,0 +1,7 @@
+package io.drift.recording;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class RecordingService {
+}
diff --git a/drift-server/src/main/java/io/drift/ui/RunFrontend.java b/drift-runtime/drift-runtime-springboot/src/main/java/io/drift/ui/RunFrontend.java
similarity index 100%
rename from drift-server/src/main/java/io/drift/ui/RunFrontend.java
rename to drift-runtime/drift-runtime-springboot/src/main/java/io/drift/ui/RunFrontend.java
diff --git a/drift-server/src/main/java/io/drift/ui/app/page/layout/MainLayout.html b/drift-runtime/drift-runtime-springboot/src/main/java/io/drift/ui/app/page/layout/MainLayout.html
similarity index 72%
rename from drift-server/src/main/java/io/drift/ui/app/page/layout/MainLayout.html
rename to drift-runtime/drift-runtime-springboot/src/main/java/io/drift/ui/app/page/layout/MainLayout.html
index 1f24c89..023737c 100644
--- a/drift-server/src/main/java/io/drift/ui/app/page/layout/MainLayout.html
+++ b/drift-runtime/drift-runtime-springboot/src/main/java/io/drift/ui/app/page/layout/MainLayout.html
@@ -6,6 +6,11 @@
Drift Server
-
+