Skip to content

Commit

Permalink
Refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
nfeybesse committed Jul 24, 2016
1 parent fcc7d70 commit 117e9cd
Show file tree
Hide file tree
Showing 34 changed files with 238 additions and 240 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@
import org.genericsystem.carcolor.model.CarColor;
import org.genericsystem.carcolor.model.Color;
import org.genericsystem.carcolor.model.Power;
import org.genericsystem.common.AbstractRoot;
import org.genericsystem.common.Root;
import org.genericsystem.common.Generic;
import org.genericsystem.reactor.ReactorStatics;
import org.genericsystem.reactor.annotations.DependsOnModel;
import org.genericsystem.reactor.annotations.RunScript;
import org.genericsystem.reactor.appserver.ApplicationServer;
import org.genericsystem.reactor.appserver.Script;
import org.genericsystem.reactor.flex.FlexDirection;
import org.genericsystem.reactor.flex.GenericApp;
import org.genericsystem.reactor.flex.GenericDependenciesTable;
import org.genericsystem.reactor.flex.GenericEditor;
import org.genericsystem.reactor.flex.GenericSection.GenericH1Section;
import org.genericsystem.reactor.flex.TransactionMonitor;
import org.genericsystem.reactor.generic.FlexDirection;
import org.genericsystem.reactor.generic.GSApp;
import org.genericsystem.reactor.generic.GSTable;
import org.genericsystem.reactor.generic.GSEditor;
import org.genericsystem.reactor.generic.GSMonitor;
import org.genericsystem.reactor.generic.GSSection.GenericH1Section;
import org.genericsystem.reactor.model.StringExtractor;

/**
Expand All @@ -28,34 +28,34 @@
*/
@RunScript(CarColorScript.class)
@DependsOnModel({ Car.class, Power.class, Color.class, CarColor.class })
public class CarColorApp extends GenericApp {
public class CarColorApp extends GSApp {
private final String MAIN_COLOR = "#3393ff";

public static void main(String[] mainArgs) {
ApplicationServer.sartSimpleGenericApp(mainArgs, CarColorApp.class, "/cars");
}

public static Class<?>[] getModelClasses(Class<?> applicationClass, AbstractRoot engine) {
public static Class<?>[] getModelClasses(Class<?> applicationClass, Root engine) {
DependsOnModel dependOn = applicationClass.getAnnotation(DependsOnModel.class);
return dependOn != null ? dependOn.value() : new Class[] {};
}

public CarColorApp(AbstractRoot engine, ServerWebSocket webSocket) {
public CarColorApp(Root engine, ServerWebSocket webSocket) {
super(webSocket);
createProperty(ReactorStatics.SELECTION);
addStyle("background-color", MAIN_COLOR);

new GenericH1Section(this, FlexDirection.ROW, "Generic System Reactor Live Demo").addStyle("justify-content", "center");
new GenericDependenciesTable(this).select(StringExtractor.MANAGEMENT, Car.class);
new GenericModal(this, FlexDirection.COLUMN, contentSection -> new GenericEditor(contentSection, FlexDirection.COLUMN).addStyle("min-height", "300px"));
new GenericDependenciesTable(this).select(StringExtractor.MANAGEMENT, Color.class);
new TransactionMonitor(this);
new GSTable(this).select(StringExtractor.MANAGEMENT, Car.class);
new GenericModal(this, FlexDirection.COLUMN, contentSection -> new GSEditor(contentSection, FlexDirection.COLUMN).addStyle("min-height", "300px"));
new GSTable(this).select(StringExtractor.MANAGEMENT, Color.class);
new GSMonitor(this);
}

public static class CarColorScript implements Script {

@Override
public void run(AbstractRoot engine) {
public void run(Root engine) {
Generic car = engine.find(Car.class);
Generic power = engine.find(Power.class);
Generic carColor = engine.find(CarColor.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

import org.genericsystem.reactor.ReactorStatics;
import org.genericsystem.reactor.Tag;
import org.genericsystem.reactor.flex.FlexDirection;
import org.genericsystem.reactor.flex.GenericSection;
import org.genericsystem.reactor.generic.FlexDirection;
import org.genericsystem.reactor.generic.GSSection;
import org.genericsystem.reactor.html.HtmlHyperLink;
import org.genericsystem.reactor.model.GenericModel;
import org.genericsystem.reactor.model.StringExtractor;
Expand All @@ -16,14 +16,14 @@
* @author Nicolas Feybesse
*
*/
public class GenericModal extends GenericSection {
public class GenericModal extends GSSection {

public GenericModal(Tag<?> parent, FlexDirection direction, Consumer<Tag<?>> contentTagConsumer) {
super(parent, direction);
addStyleClass("modal");
bindStyle(ReactorStatics.DISPLAY, ReactorStatics.DISPLAY, model -> Bindings.createStringBinding(() -> getProperty(ReactorStatics.SELECTION, model).getValue() != null ? "flex" : "none", this.getProperty(ReactorStatics.SELECTION, model)));

new GenericSection(this, FlexDirection.COLUMN) {
new GSSection(this, FlexDirection.COLUMN) {
{
addStyle("max-width", "40%");
addStyle("max-height", "40%");
Expand All @@ -35,7 +35,7 @@ public GenericModal(Tag<?> parent, FlexDirection direction, Consumer<Tag<?>> con
bindAction(model -> getProperty(ReactorStatics.SELECTION, model).setValue(null));
}
};
new GenericSection(this, FlexDirection.COLUMN) {
new GSSection(this, FlexDirection.COLUMN) {
{
select_(StringExtractor.TYPE_INSTANCE_EXTRACTOR, model -> getProperty(ReactorStatics.SELECTION, model));
contentTagConsumer.accept(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
public abstract class AbstractBackEnd {

protected Map<String, AbstractRoot> roots = new HashMap<>();
protected Map<String, Root> roots = new HashMap<>();
protected AbstractWebSocketsServer webSocketsServer;

public AbstractBackEnd(String host, int port) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,12 @@ public long shiftTs() throws RollbackException {

protected abstract IDifferential<Generic> buildTransaction();

public AbstractCache(AbstractRoot root) {
public AbstractCache(Root root) {
this(root, new ContextEventListener<Generic>() {
});
}

public AbstractCache(AbstractRoot root, ContextEventListener<Generic> listener) {
public AbstractCache(Root root, ContextEventListener<Generic> listener) {
super(root);
this.restructurator = buildRestructurator();
this.listener = listener;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public void start() {
}
}

public void stop(Map<String, AbstractRoot> roots) {
public void stop(Map<String, Root> roots) {
log.info("Generic System Server is stopping...");
httpServers.forEach(httpServer -> AbstractBackEnd.<Void> synchronizeTask(handler -> httpServer.close(handler)));
roots.values().forEach(root -> root.close());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
*/
public abstract class CheckedContext implements DefaultContext<Generic> {

private final AbstractRoot root;
private final Root root;
private final Checker checker;

protected CheckedContext(AbstractRoot root) {
protected CheckedContext(Root root) {
assert root != null;
this.root = root;
this.checker = buildChecker();
Expand All @@ -32,7 +32,7 @@ protected Checker getChecker() {
}

@Override
public AbstractRoot getRoot() {
public Root getRoot() {
return root;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

public interface GenericProxy extends DefaultGeneric<Generic> {
@Override
default AbstractRoot getRoot() {
default Root getRoot() {
return getProxyHandler().getRoot();
}

Expand All @@ -19,8 +19,8 @@ default AbstractRoot getRoot() {
// return DefaultVertex.super.getCurrentCache();
// }

default AbstractRoot.DefaultHandler getProxyHandler() {
return ((AbstractRoot.DefaultHandler) ((ProxyObject) this).getHandler());
default Root.DefaultHandler getProxyHandler() {
return ((Root.DefaultHandler) ((ProxyObject) this).getHandler());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,17 @@
* @author Nicolas Feybesse
*
*/
public abstract class AbstractRoot implements DefaultRoot<Generic>, ProxyObject, Generic {
public abstract class Root implements DefaultRoot<Generic>, ProxyObject, Generic {

private final Map<Long, Generic> genericsById = new ConcurrentHashMap<>();
private final SystemCache systemCache = buildSystemCache(this);
protected boolean isInitialized = false;
private final ThreadLocal<AbstractCache> cacheLocal = new ThreadLocal<AbstractCache>();

protected abstract SystemCache buildSystemCache(AbstractRoot root);
protected abstract SystemCache buildSystemCache(Root root);

@Override
public AbstractRoot getRoot() {
public Root getRoot() {
return this;
}

Expand Down Expand Up @@ -140,7 +140,7 @@ Generic build(Long ts, Class<?> clazz, Generic meta, List<Generic> supers, Seria

protected Generic init(Generic generic, DefaultHandler handler) {
((ProxyObject) generic).setHandler(handler);
assert ((ProxyObject) generic).getHandler() instanceof AbstractRoot.DefaultHandler;
assert ((ProxyObject) generic).getHandler() instanceof Root.DefaultHandler;
Generic gresult = genericsById.putIfAbsent(handler.getTs(), generic);
assert gresult == null : gresult.info();
return generic;
Expand Down Expand Up @@ -200,7 +200,7 @@ public Object invoke(Object self, Method m, Method proceed, Object[] args) throw
return ((DefaultGeneric<?>) self).defaultToString();
}

abstract protected AbstractRoot getRoot();
abstract protected Root getRoot();

public Vertex getVertex() {
return new Vertex(getClazz(), getTs(), getMeta() != null ? getMeta().getTs() : getTs(), getSupers().stream().map(Generic::getTs)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ public abstract class SystemCache {

private final Map<Generic, Class<?>> reverseSystemCache = new IdentityHashMap<>();

protected final AbstractRoot root;
protected final Root root;

public SystemCache(AbstractRoot root) {
public SystemCache(Root root) {
this.root = root;
put(DefaultRoot.class, root);
put(root.getClass(), root);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import org.genericsystem.carcolor.model.Color;
import org.genericsystem.carcolor.model.Power;
import org.genericsystem.cdi.Engine;
import org.genericsystem.common.AbstractRoot;
import org.genericsystem.common.Root;
import org.genericsystem.common.Generic;

@Named
Expand Down Expand Up @@ -126,7 +126,7 @@ public void setNewCarPower(Integer newCarPower) {
this.newCarPower = newCarPower;
}

void runScript(AbstractRoot engine) {
void runScript(Root engine) {
color.setInstance("Blue");
color.setInstance("Orange");
color.setInstance("White");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import org.genericsystem.carcolor.model.Color;
import org.genericsystem.carcolor.model.Diesel;
import org.genericsystem.carcolor.model.Power;
import org.genericsystem.common.AbstractRoot;
import org.genericsystem.common.Root;
import org.genericsystem.common.Generic;
import org.genericsystem.example.reactor.AppHtml.ExampleReactorScript;
import org.genericsystem.kernel.Engine;
Expand All @@ -18,25 +18,25 @@
import org.genericsystem.reactor.appserver.ApplicationServer;
import org.genericsystem.reactor.appserver.Script;
import org.genericsystem.reactor.composite.CompositeSelect.ColorsSelect;
import org.genericsystem.reactor.flex.FlexDirection;
import org.genericsystem.reactor.flex.GenericApp;
import org.genericsystem.reactor.flex.GenericCompositeSection.ColorCompositeRadio;
import org.genericsystem.reactor.flex.GenericCompositeSection.ColorTitleCompositeFlexElement;
import org.genericsystem.reactor.flex.GenericDependenciesTable;
import org.genericsystem.reactor.flex.GenericEditor;
import org.genericsystem.reactor.flex.GenericSection.GenericH1Section;
import org.genericsystem.reactor.flex.TransactionMonitor;
import org.genericsystem.reactor.generic.FlexDirection;
import org.genericsystem.reactor.generic.GSApp;
import org.genericsystem.reactor.generic.GSTable;
import org.genericsystem.reactor.generic.GSEditor;
import org.genericsystem.reactor.generic.GSMonitor;
import org.genericsystem.reactor.generic.GSComposite.ColorCompositeRadio;
import org.genericsystem.reactor.generic.GSComposite.ColorTitleCompositeFlexElement;
import org.genericsystem.reactor.generic.GSSection.GenericH1Section;
import org.genericsystem.reactor.model.StringExtractor;

@DependsOnModel({ Car.class, Power.class, Diesel.class, Color.class, CarColor.class })
@RunScript(ExampleReactorScript.class)
public class AppHtml extends GenericApp {
public class AppHtml extends GSApp {

public static void main(String[] mainArgs) {
ApplicationServer.sartSimpleGenericApp(mainArgs, AppHtml.class, "/example-reactor");
}

public AppHtml(AbstractRoot engine, ServerWebSocket webSocket) {
public AppHtml(Root engine, ServerWebSocket webSocket) {
super(webSocket);
addStyle("justify-content", "center");
new ColorsSelect(this).select(StringExtractor.EXTRACTOR, Color.class);
Expand All @@ -46,26 +46,26 @@ public AppHtml(AbstractRoot engine, ServerWebSocket webSocket) {

select(StringExtractor.SIMPLE_CLASS_EXTRACTOR, gs -> gs[0]);
createProperty(ReactorStatics.SELECTION);
new GenericDependenciesTable(this).select(StringExtractor.MANAGEMENT, Car.class);
new GenericDependenciesTable(this, FlexDirection.ROW).select(StringExtractor.MANAGEMENT, Car.class);
new GenericEditor(this, FlexDirection.ROW) {
new GSTable(this).select(StringExtractor.MANAGEMENT, Car.class);
new GSTable(this, FlexDirection.ROW).select(StringExtractor.MANAGEMENT, Car.class);
new GSEditor(this, FlexDirection.ROW) {
{
select_(StringExtractor.TYPE_INSTANCE_EXTRACTOR, model -> getProperty(ReactorStatics.SELECTION, model));
addStyle("justify-content", "center");
}
};

new GenericEditor(this, FlexDirection.COLUMN).select_(StringExtractor.TYPE_INSTANCE_EXTRACTOR, model -> getProperty(ReactorStatics.SELECTION, model));
new GenericDependenciesTable(this).select(StringExtractor.MANAGEMENT, Color.class);
new GSEditor(this, FlexDirection.COLUMN).select_(StringExtractor.TYPE_INSTANCE_EXTRACTOR, model -> getProperty(ReactorStatics.SELECTION, model));
new GSTable(this).select(StringExtractor.MANAGEMENT, Color.class);

new GenericDependenciesTable(this).select(StringExtractor.MANAGEMENT, Engine.class);
new TransactionMonitor(this).addStyle("background-color", "#ffa500");
new GSTable(this).select(StringExtractor.MANAGEMENT, Engine.class);
new GSMonitor(this).addStyle("background-color", "#ffa500");
}

public static class ExampleReactorScript implements Script {

@Override
public void run(AbstractRoot engine) {
public void run(Root engine) {
Generic car = engine.find(Car.class);
Generic power = engine.find(Power.class);
Generic diesel = engine.find(Diesel.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.genericsystem.api.core.exceptions.ConcurrencyControlException;
import org.genericsystem.api.core.exceptions.OptimisticLockConstraintViolationException;
import org.genericsystem.common.AbstractCache;
import org.genericsystem.common.AbstractRoot;
import org.genericsystem.common.Root;
import org.genericsystem.common.Container;
import org.genericsystem.common.Generic;
import org.genericsystem.common.Protocol;
Expand All @@ -21,7 +21,7 @@
* @author Nicolas Feybesse
*
*/
public abstract class AbstractServer extends AbstractRoot implements Generic, Protocol {
public abstract class AbstractServer extends Root implements Generic, Protocol {

protected Archiver archiver;
private final GarbageCollector garbageCollector = new GarbageCollector(this);
Expand Down
4 changes: 2 additions & 2 deletions gs-kernel/src/main/java/org/genericsystem/kernel/Engine.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.genericsystem.api.core.ApiStatics;
import org.genericsystem.common.AbstractCache;
import org.genericsystem.common.AbstractCache.ContextEventListener;
import org.genericsystem.common.AbstractRoot;
import org.genericsystem.common.Root;
import org.genericsystem.common.Generic;
import org.genericsystem.common.GenericBuilder.SetSystemBuilder;
import org.genericsystem.common.Statics;
Expand All @@ -34,7 +34,7 @@ public Engine(String persistentDirectoryPath, Class<?>... userClasses) {
}

@Override
protected SystemCache buildSystemCache(AbstractRoot root) {
protected SystemCache buildSystemCache(Root root) {
return new SystemCache(root) {

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.genericsystem.api.core.ApiStatics;
import org.genericsystem.common.AbstractCache;
import org.genericsystem.common.AbstractCache.ContextEventListener;
import org.genericsystem.common.AbstractRoot;
import org.genericsystem.common.Root;
import org.genericsystem.common.Generic;
import org.genericsystem.common.Statics;
import org.genericsystem.common.SystemCache;
Expand All @@ -17,7 +17,7 @@
* @author Nicolas Feybesse
*
*/
public class ClientEngine extends AbstractRoot implements Generic {
public class ClientEngine extends Root implements Generic {

protected final FrontEnd server;

Expand Down Expand Up @@ -48,7 +48,7 @@ public ClientEngine getRoot() {
}

@Override
protected SystemCache buildSystemCache(AbstractRoot root) {
protected SystemCache buildSystemCache(Root root) {
return new SystemCache(root) {

@Override
Expand Down
Loading

0 comments on commit 117e9cd

Please sign in to comment.