Skip to content

Commit

Permalink
Moved some utils from U to classes: Lambdas (in a new module), Cls an…
Browse files Browse the repository at this point in the history
…d UTILS.
  • Loading branch information
nmihajlovski committed Jan 24, 2015
1 parent caa6533 commit cc0ec06
Show file tree
Hide file tree
Showing 46 changed files with 542 additions and 386 deletions.
1 change: 1 addition & 0 deletions pom.xml
Expand Up @@ -55,6 +55,7 @@
<modules> <modules>
<module>rapidoid-annotations</module> <module>rapidoid-annotations</module>
<module>rapidoid-u</module> <module>rapidoid-u</module>
<module>rapidoid-lambda</module>
<module>rapidoid-log</module> <module>rapidoid-log</module>
<module>rapidoid-utils</module> <module>rapidoid-utils</module>
<module>rapidoid-beany</module> <module>rapidoid-beany</module>
Expand Down
4 changes: 2 additions & 2 deletions rapidoid-app/src/main/java/org/rapidoid/app/AppGUI.java
Expand Up @@ -29,7 +29,7 @@
import org.rapidoid.model.Item; import org.rapidoid.model.Item;
import org.rapidoid.model.Items; import org.rapidoid.model.Items;
import org.rapidoid.model.Models; import org.rapidoid.model.Models;
import org.rapidoid.util.U; import org.rapidoid.util.Cls;
import org.rapidoid.widget.BootstrapWidgets; import org.rapidoid.widget.BootstrapWidgets;
import org.rapidoid.widget.DataManager; import org.rapidoid.widget.DataManager;
import org.rapidoid.widget.FormWidget; import org.rapidoid.widget.FormWidget;
Expand Down Expand Up @@ -100,7 +100,7 @@ public static FormWidget create(final Item item, String... properties) {
} }


public static DataManager dataManager() { public static DataManager dataManager() {
return U.customizable(DbDataManager.class, DB.db()); return Cls.customizable(DbDataManager.class, DB.db());
} }


} }
Expand Up @@ -56,7 +56,7 @@ public class AppPageGeneric extends AppGUI {


protected static final Pattern ENTITY_LIST = Pattern.compile("^/(\\w+?)/?$"); protected static final Pattern ENTITY_LIST = Pattern.compile("^/(\\w+?)/?$");


protected static final AppScreens APP_SCREENS = U.customizable(AppScreens.class); protected static final AppScreens APP_SCREENS = Cls.customizable(AppScreens.class);


protected final HttpExchange x; protected final HttpExchange x;


Expand All @@ -69,7 +69,7 @@ public class AppPageGeneric extends AppGUI {
public AppPageGeneric(HttpExchange x, AppClasses appCls) { public AppPageGeneric(HttpExchange x, AppClasses appCls) {
this.x = x; this.x = x;
this.appCls = appCls; this.appCls = appCls;
this.app = wireX(appCls.main != null ? U.newInstance(appCls.main) : new Object(), x); this.app = wireX(appCls.main != null ? Cls.newInstance(appCls.main) : new Object(), x);
this.screen = wireX(getScreen(), x); this.screen = wireX(getScreen(), x);


U.must(screen != null, "Cannot find a screen to process the request!"); U.must(screen != null, "Cannot find a screen to process the request!");
Expand Down Expand Up @@ -362,7 +362,7 @@ protected Object getScreen() {
for (Class<?> screen : appCls.screens.values()) { for (Class<?> screen : appCls.screens.values()) {
if (Apps.screenUrl(screen).equals(x.path())) { if (Apps.screenUrl(screen).equals(x.path())) {
x.authorize(screen); x.authorize(screen);
return U.newInstance(screen); return Cls.newInstance(screen);
} }
} }


Expand Down
Expand Up @@ -30,9 +30,11 @@
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentMap;


import org.rapidoid.lambda.Lambdas;
import org.rapidoid.lambda.Mapper; import org.rapidoid.lambda.Mapper;
import org.rapidoid.util.Cls; import org.rapidoid.util.Cls;
import org.rapidoid.util.U; import org.rapidoid.util.U;
import org.rapidoid.util.UTILS;


public class BeanProperties implements Iterable<Prop> { public class BeanProperties implements Iterable<Prop> {


Expand All @@ -47,7 +49,7 @@ public class BeanProperties implements Iterable<Prop> {


public final ConcurrentMap<String, Object> extras = U.concurrentMap(); public final ConcurrentMap<String, Object> extras = U.concurrentMap();


public final Map<PropertySelector, BeanProperties> selections = U public final Map<PropertySelector, BeanProperties> selections = UTILS
.autoExpandingMap(new Mapper<PropertySelector, BeanProperties>() { .autoExpandingMap(new Mapper<PropertySelector, BeanProperties>() {
@Override @Override
public BeanProperties map(PropertySelector selector) throws Exception { public BeanProperties map(PropertySelector selector) throws Exception {
Expand All @@ -59,13 +61,13 @@ public BeanProperties map(PropertySelector selector) throws Exception {
for (String propName : propertyNames) { for (String propName : propertyNames) {
Prop prop = map.get(propName); Prop prop = map.get(propName);
U.must(prop != null, "Cannot find property '%s'!", propName); U.must(prop != null, "Cannot find property '%s'!", propName);
if (U.eval(selector, prop)) { if (Lambdas.eval(selector, prop)) {
selected.add(prop); selected.add(prop);
} }
} }
} else { } else {
for (Entry<String, Prop> e : map.entrySet()) { for (Entry<String, Prop> e : map.entrySet()) {
if (U.eval(selector, e.getValue())) { if (Lambdas.eval(selector, e.getValue())) {
selected.add(e.getValue()); selected.add(e.getValue());
} }
} }
Expand Down
3 changes: 2 additions & 1 deletion rapidoid-beany/src/main/java/org/rapidoid/beany/Beany.java
Expand Up @@ -18,6 +18,7 @@
import org.rapidoid.util.Cls; import org.rapidoid.util.Cls;
import org.rapidoid.util.TypeKind; import org.rapidoid.util.TypeKind;
import org.rapidoid.util.U; import org.rapidoid.util.U;
import org.rapidoid.util.UTILS;


/* /*
* #%L * #%L
Expand All @@ -41,7 +42,7 @@


public class Beany { public class Beany {


protected static final Map<Class<?>, BeanProperties> BEAN_PROPERTIES = U protected static final Map<Class<?>, BeanProperties> BEAN_PROPERTIES = UTILS
.autoExpandingMap(new Mapper<Class<?>, BeanProperties>() { .autoExpandingMap(new Mapper<Class<?>, BeanProperties>() {


@Override @Override
Expand Down
Expand Up @@ -32,6 +32,7 @@
import org.rapidoid.data.Range; import org.rapidoid.data.Range;
import org.rapidoid.data.Ranges; import org.rapidoid.data.Ranges;
import org.rapidoid.pool.Pool; import org.rapidoid.pool.Pool;
import org.rapidoid.util.Arr;
import org.rapidoid.util.Constants; import org.rapidoid.util.Constants;
import org.rapidoid.util.U; import org.rapidoid.util.U;
import org.rapidoid.wrap.Int; import org.rapidoid.wrap.Int;
Expand Down Expand Up @@ -171,7 +172,7 @@ private int _size() {


private void expandUnit() { private void expandUnit() {
if (bufN == bufs.length) { if (bufN == bufs.length) {
bufs = U.expand(bufs, 2); bufs = Arr.expand(bufs, 2);
} }


bufs[bufN] = bufPool.get(); bufs[bufN] = bufPool.get();
Expand Down
Expand Up @@ -29,6 +29,7 @@
import org.eclipse.jdt.internal.compiler.CompilationResult; import org.eclipse.jdt.internal.compiler.CompilationResult;
import org.rapidoid.compile.CodeDiagnostic; import org.rapidoid.compile.CodeDiagnostic;
import org.rapidoid.compile.Compilation; import org.rapidoid.compile.Compilation;
import org.rapidoid.lambda.Lambdas;
import org.rapidoid.lambda.Predicate; import org.rapidoid.lambda.Predicate;
import org.rapidoid.log.Log; import org.rapidoid.log.Log;
import org.rapidoid.util.CustomizableClassLoader; import org.rapidoid.util.CustomizableClassLoader;
Expand All @@ -45,7 +46,7 @@ public class EcjCompilation implements Compilation {
private final CustomizableClassLoader loader; private final CustomizableClassLoader loader;


public EcjCompilation(Predicate<String> allowed) { public EcjCompilation(Predicate<String> allowed) {
loader = new CustomizableClassLoader(U.mapper(classes), allowed, false); loader = new CustomizableClassLoader(Lambdas.mapper(classes), allowed, false);
} }


@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
Expand Down
Expand Up @@ -8,6 +8,7 @@
import org.rapidoid.db.DbDsl; import org.rapidoid.db.DbDsl;
import org.rapidoid.db.DbSchema; import org.rapidoid.db.DbSchema;
import org.rapidoid.db.Entity; import org.rapidoid.db.Entity;
import org.rapidoid.util.Cls;
import org.rapidoid.util.U; import org.rapidoid.util.U;


/* /*
Expand Down Expand Up @@ -66,7 +67,7 @@ public <E> E create(Class<E> clazz, Map<String, ?> properties) {
Class<? extends Entity> cls = (Class<? extends Entity>) entityType; Class<? extends Entity> cls = (Class<? extends Entity>) entityType;
return (E) DbProxy.create(cls, U.concurrentMap(properties)); return (E) DbProxy.create(cls, U.concurrentMap(properties));
} else { } else {
E entity = U.newInstance(entityType); E entity = Cls.newInstance(entityType);
Beany.update(entity, (Map<String, Object>) properties, true); Beany.update(entity, (Map<String, Object>) properties, true);
return entity; return entity;
} }
Expand Down
3 changes: 2 additions & 1 deletion rapidoid-db/src/main/java/org/rapidoid/db/DB.java
Expand Up @@ -29,6 +29,7 @@
import org.rapidoid.lambda.Callback; import org.rapidoid.lambda.Callback;
import org.rapidoid.lambda.Operation; import org.rapidoid.lambda.Operation;
import org.rapidoid.lambda.Predicate; import org.rapidoid.lambda.Predicate;
import org.rapidoid.util.Cls;
import org.rapidoid.util.Conf; import org.rapidoid.util.Conf;
import org.rapidoid.util.U; import org.rapidoid.util.U;


Expand Down Expand Up @@ -63,7 +64,7 @@ public static String path() {
} }


public static void init() { public static void init() {
db = (Database) U.customizable(DB.DB_IMPL_CLASS, "default", path() + "default.db"); db = (Database) Cls.customizable(DB.DB_IMPL_CLASS, "default", path() + "default.db");
db.initAndLoad(); db.initAndLoad();
} }


Expand Down
7 changes: 4 additions & 3 deletions rapidoid-db/src/main/java/org/rapidoid/db/DBs.java
Expand Up @@ -23,18 +23,19 @@
import java.util.Map; import java.util.Map;


import org.rapidoid.lambda.Mapper; import org.rapidoid.lambda.Mapper;
import org.rapidoid.util.U; import org.rapidoid.util.Cls;
import org.rapidoid.util.UTILS;


public class DBs { public class DBs {


private static final Map<String, Database> DB_INSTANCES; private static final Map<String, Database> DB_INSTANCES;


static { static {
DB_INSTANCES = U.autoExpandingMap(new Mapper<String, Database>() { DB_INSTANCES = UTILS.autoExpandingMap(new Mapper<String, Database>() {
@Override @Override
public Database map(String name) throws Exception { public Database map(String name) throws Exception {
String dbFilename = DB.path() + name + ".db"; String dbFilename = DB.path() + name + ".db";
return (Database) U.newInstance(DB.DB_IMPL_CLASS, name, dbFilename); return (Database) Cls.newInstance(DB.DB_IMPL_CLASS, name, dbFilename);
} }
}); });
} }
Expand Down
5 changes: 3 additions & 2 deletions rapidoid-docs/src/main/java/org/rapidoid/docs/Examples.java
Expand Up @@ -37,6 +37,7 @@
import org.rapidoid.util.Conf; import org.rapidoid.util.Conf;
import org.rapidoid.util.Scan; import org.rapidoid.util.Scan;
import org.rapidoid.util.U; import org.rapidoid.util.U;
import org.rapidoid.util.UTILS;


public class Examples { public class Examples {


Expand All @@ -45,7 +46,7 @@ public class Examples {
public static void main(String[] args) { public static void main(String[] args) {
Conf.args("oauth-no-state"); Conf.args("oauth-no-state");
DB.destroy(); DB.destroy();

String path = "../../rapidoid.github.io/"; String path = "../../rapidoid.github.io/";
U.must(new File(path).exists()); U.must(new File(path).exists());


Expand Down Expand Up @@ -110,7 +111,7 @@ private static void generateIndex(String path, int examplesN) {
} }


private static String col(String rr, String snippet) { private static String col(String rr, String snippet) {
snippet = U.replace(snippet, rr, new Mapper<String[], String>() { snippet = UTILS.replace(snippet, rr, new Mapper<String[], String>() {
@Override @Override
public String map(String[] src) throws Exception { public String map(String[] src) throws Exception {
String s = src[0]; String s = src[0];
Expand Down
Expand Up @@ -32,6 +32,7 @@
import org.rapidoid.html.Tag; import org.rapidoid.html.Tag;
import org.rapidoid.html.TagContext; import org.rapidoid.html.TagContext;
import org.rapidoid.html.TagWidget; import org.rapidoid.html.TagWidget;
import org.rapidoid.util.Cls;
import org.rapidoid.util.Constants; import org.rapidoid.util.Constants;
import org.rapidoid.util.U; import org.rapidoid.util.U;
import org.rapidoid.var.Var; import org.rapidoid.var.Var;
Expand Down Expand Up @@ -241,7 +242,7 @@ protected boolean isSimpleContent(Object content) {
return true; return true;
} }


return !U.instanceOf(content, Tag.class, CustomTag.class, TagWidget.class, Object[].class, Collection.class); return !Cls.instanceOf(content, Tag.class, CustomTag.class, TagWidget.class, Object[].class, Collection.class);
} }


protected boolean hasSimpleContent(Collection<?> content) { protected boolean hasSimpleContent(Collection<?> content) {
Expand Down
Expand Up @@ -40,6 +40,7 @@
import org.rapidoid.net.impl.DefaultExchange; import org.rapidoid.net.impl.DefaultExchange;
import org.rapidoid.net.mime.MediaType; import org.rapidoid.net.mime.MediaType;
import org.rapidoid.security.Secure; import org.rapidoid.security.Secure;
import org.rapidoid.util.Cls;
import org.rapidoid.util.Conf; import org.rapidoid.util.Conf;
import org.rapidoid.util.Constants; import org.rapidoid.util.Constants;
import org.rapidoid.util.U; import org.rapidoid.util.U;
Expand Down Expand Up @@ -734,7 +735,7 @@ public synchronized <T> T sessionGetOrCreate(String name, Class<T> valueClass, O
T value = (T) session.getAttribute(sessionId(), name); T value = (T) session.getAttribute(sessionId(), name);


if (value == null) { if (value == null) {
value = U.newInstance(valueClass, constructorArgs); value = Cls.newInstance(valueClass, constructorArgs);
session.setAttribute(sessionId(), name, value); session.setAttribute(sessionId(), name, value);
} }


Expand Down
3 changes: 2 additions & 1 deletion rapidoid-inmem/src/main/java/org/rapidoid/inmem/InMem.java
Expand Up @@ -56,6 +56,7 @@
import org.rapidoid.lambda.Predicate; import org.rapidoid.lambda.Predicate;
import org.rapidoid.log.Log; import org.rapidoid.log.Log;
import org.rapidoid.security.Secure; import org.rapidoid.security.Secure;
import org.rapidoid.util.Cls;
import org.rapidoid.util.SuccessException; import org.rapidoid.util.SuccessException;
import org.rapidoid.util.Tuple; import org.rapidoid.util.Tuple;
import org.rapidoid.util.U; import org.rapidoid.util.U;
Expand Down Expand Up @@ -98,7 +99,7 @@ public class InMem {
protected static final PropertyFilter SEARCHABLE_PROPS = new PropertyFilter() { protected static final PropertyFilter SEARCHABLE_PROPS = new PropertyFilter() {
@Override @Override
public boolean eval(Prop prop) throws Exception { public boolean eval(Prop prop) throws Exception {
return U.isAssignableTo(prop.getType(), Number.class, String.class, Boolean.class, Enum.class, Date.class); return Cls.isAssignableTo(prop.getType(), Number.class, String.class, Boolean.class, Enum.class, Date.class);
} }
}; };


Expand Down
12 changes: 7 additions & 5 deletions rapidoid-ioc/src/main/java/org/rapidoid/inject/IoC.java
Expand Up @@ -34,21 +34,23 @@
import org.rapidoid.annotation.Inject; import org.rapidoid.annotation.Inject;
import org.rapidoid.annotation.Session; import org.rapidoid.annotation.Session;
import org.rapidoid.beany.Beany; import org.rapidoid.beany.Beany;
import org.rapidoid.lambda.Lambdas;
import org.rapidoid.lambda.Mapper; import org.rapidoid.lambda.Mapper;
import org.rapidoid.log.Log; import org.rapidoid.log.Log;
import org.rapidoid.util.Builder; import org.rapidoid.util.Builder;
import org.rapidoid.util.Cls; import org.rapidoid.util.Cls;
import org.rapidoid.util.Conf; import org.rapidoid.util.Conf;
import org.rapidoid.util.F3; import org.rapidoid.util.F3;
import org.rapidoid.util.U; import org.rapidoid.util.U;
import org.rapidoid.util.UTILS;


public class IoC { public class IoC {


private static final Map<Class<?>, Object> SINGLETONS = U.map(); private static final Map<Class<?>, Object> SINGLETONS = U.map();
private static final Set<Class<?>> MANAGED_CLASSES = U.set(); private static final Set<Class<?>> MANAGED_CLASSES = U.set();
private static final Set<Object> MANAGED_INSTANCES = U.set(); private static final Set<Object> MANAGED_INSTANCES = U.set();
private static final Map<Object, Object> IOC_INSTANCES = U.map(); private static final Map<Object, Object> IOC_INSTANCES = U.map();
private static final Map<Class<?>, List<Field>> INJECTABLE_FIELDS = U private static final Map<Class<?>, List<Field>> INJECTABLE_FIELDS = UTILS
.autoExpandingMap(new Mapper<Class<?>, List<Field>>() { .autoExpandingMap(new Mapper<Class<?>, List<Field>>() {
@Override @Override
public List<Field> map(Class<?> clazz) throws Exception { public List<Field> map(Class<?> clazz) throws Exception {
Expand All @@ -57,7 +59,7 @@ public List<Field> map(Class<?> clazz) throws Exception {
return fields; return fields;
} }
}); });
private static final Map<Class<?>, List<Field>> SESSION_FIELDS = U private static final Map<Class<?>, List<Field>> SESSION_FIELDS = UTILS
.autoExpandingMap(new Mapper<Class<?>, List<Field>>() { .autoExpandingMap(new Mapper<Class<?>, List<Field>>() {
@Override @Override
public List<Field> map(Class<?> clazz) throws Exception { public List<Field> map(Class<?> clazz) throws Exception {
Expand Down Expand Up @@ -88,10 +90,10 @@ public static synchronized void reset() {
} }


public static <K, V> Map<K, V> autoExpandingInjectingMap(final Class<V> clazz) { public static <K, V> Map<K, V> autoExpandingInjectingMap(final Class<V> clazz) {
return U.autoExpandingMap(new Mapper<K, V>() { return UTILS.autoExpandingMap(new Mapper<K, V>() {
@Override @Override
public V map(K src) throws Exception { public V map(K src) throws Exception {
return inject(U.newInstance(clazz)); return inject(Cls.newInstance(clazz));
} }
}); });
} }
Expand Down Expand Up @@ -170,7 +172,7 @@ public static synchronized <T> T inject(T target, Map<String, Object> properties


private static <T> T provideSessionValue(Object target, Class<T> type, String name, Mapper<String, Object> session) { private static <T> T provideSessionValue(Object target, Class<T> type, String name, Mapper<String, Object> session) {
U.notNull(session, "session"); U.notNull(session, "session");
Object value = U.eval(session, name); Object value = Lambdas.eval(session, name);
return value != null ? Cls.convert(value, type) : null; return value != null ? Cls.convert(value, type) : null;
} }


Expand Down
29 changes: 29 additions & 0 deletions rapidoid-lambda/pom.xml
@@ -0,0 +1,29 @@
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.rapidoid</groupId>
<artifactId>rapidoid</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>

<artifactId>rapidoid-lambda</artifactId>
<packaging>jar</packaging>
<description>Rapidoid Lambda</description>

<dependencies>
<dependency>
<groupId>org.rapidoid</groupId>
<artifactId>rapidoid-u</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.rapidoid</groupId>
<artifactId>rapidoid-test-commons</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>

</project>
Expand Up @@ -2,7 +2,7 @@


/* /*
* #%L * #%L
* rapidoid-u * rapidoid-lambda
* %% * %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski * Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %% * %%
Expand Down

0 comments on commit cc0ec06

Please sign in to comment.