Skip to content

Commit

Permalink
Fix bug #65
Browse files Browse the repository at this point in the history
  • Loading branch information
minborg committed Nov 11, 2015
1 parent a8d9adc commit a76a1b9
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 43 deletions.
7 changes: 7 additions & 0 deletions src/main/java/com/speedment/SpeedmentVersion.java
Expand Up @@ -95,6 +95,13 @@ public static String getSpecificationVersion() {
return SPECIFICATION_VERSION;
}

public static String getWelcomeMessage() {
return getImplementationTitle()
+ " (" + getImplementationVersion() + ")"
+ " by " + getImplementationVendor() + " started."
+ " API version is " + getSpecificationVersion();
}

/**
* Utility classes should not be instantiated.
*/
Expand Down
Expand Up @@ -35,15 +35,11 @@
import com.speedment.db.AsynchronousQueryResult;
import com.speedment.db.DbmsHandler;
import com.speedment.exception.SpeedmentException;
import com.speedment.component.ConnectionPoolComponent;
import com.speedment.component.SqlTypeMapperComponent;
import com.speedment.component.TypeMapperComponent;
import com.speedment.config.mapper.TypeMapper;
import com.speedment.internal.logging.Logger;
import com.speedment.internal.logging.LoggerManager;
import com.speedment.internal.util.sql.SqlTypeInfo;

import javax.swing.text.html.Option;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
Expand Down
Expand Up @@ -302,36 +302,36 @@ protected void loadAndSetProject() {
// Apply overridden values from the system properties (if any)
final Function<Node, Stream<Node>> traverser = n -> n.asParent().map(p -> p.stream()).orElse(Stream.empty()).map(c -> (Node) c);
Trees.traverse(project, traverser, Trees.TraversalOrder.DEPTH_FIRST_PRE)
.forEach((Node node) -> {
final Class<?> clazz = node.getClass();
MethodsParser.streamOfExternalSetters(clazz).forEach(method -> {
final String path = "speedment.project." + node.getRelativeName(Project.class) + "." + beanPropertyName(method);
Optional.ofNullable(System.getProperty(path)).ifPresent(propString -> {
final External external = MethodsParser.getExternalFor(method, clazz);
final Class<?> targetJavaType = external.type();
final Object val = speedment
.getJavaTypeMapperComponent()
.apply(targetJavaType)
.parse(propString);
//final Object val = StandardJavaTypeMapping.parse(targetJavaType, propString);
try {
method.invoke(node, val);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
throw new SpeedmentException("Unable to invoke " + method + " for " + node + " with argument " + val + " (" + propString + ")");
}
});
}
);
});
.forEach((Node node) -> {
final Class<?> clazz = node.getClass();
MethodsParser.streamOfExternalSetters(clazz).forEach(method -> {
final String path = "speedment.project." + node.getRelativeName(Project.class) + "." + beanPropertyName(method);
Optional.ofNullable(System.getProperty(path)).ifPresent(propString -> {
final External external = MethodsParser.getExternalFor(method, clazz);
final Class<?> targetJavaType = external.type();
final Object val = speedment
.getJavaTypeMapperComponent()
.apply(targetJavaType)
.parse(propString);
//final Object val = StandardJavaTypeMapping.parse(targetJavaType, propString);
try {
method.invoke(node, val);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
throw new SpeedmentException("Unable to invoke " + method + " for " + node + " with argument " + val + " (" + propString + ")");
}
});
}
);
});

// Apply overidden item (if any) for all ConfigEntities of a given class
withsAll.forEach(t2 -> {
final Class<? extends Node> clazz = t2.get0();
final Consumer<Node> consumer = t2.get1();
project.traverse()
.filter(c -> clazz.isAssignableFrom(c.getClass()))
.map(Node.class::cast)
.forEachOrdered(consumer::accept);
.filter(c -> clazz.isAssignableFrom(c.getClass()))
.map(Node.class::cast)
.forEachOrdered(consumer::accept);
});

// Apply a named overidden item (if any) for all ConfigEntities of a given class
Expand All @@ -343,10 +343,10 @@ protected void loadAndSetProject() {
final Consumer<Node> consumer = (Consumer<Node>) t3.get2();

project.traverse()
.filter(c -> clazz.isAssignableFrom(c.getClass()))
.map(Node.class::cast)
.filter(c -> name.equals(c.getRelativeName(Project.class)))
.forEachOrdered(consumer::accept);
.filter(c -> clazz.isAssignableFrom(c.getClass()))
.map(Node.class::cast)
.filter(c -> name.equals(c.getRelativeName(Project.class)))
.forEachOrdered(consumer::accept);
});

speedment.getProjectComponent().setProject(project);
Expand Down Expand Up @@ -404,12 +404,7 @@ protected Optional<Path> getConfigPath() {
public T start() {
Statistics.onNodeStarted();

LOGGER.info(
SpeedmentVersion.getImplementationTitle()
+ " (" + SpeedmentVersion.getImplementationVersion() + ")"
+ " by " + SpeedmentVersion.getImplementationVendor() + " started."
+ " API version is " + SpeedmentVersion.getSpecificationVersion()
);
LOGGER.info(SpeedmentVersion.getWelcomeMessage());
if (!SpeedmentVersion.isProductionMode()) {
LOGGER.warn("This version is NOT INTEDNED FOR PRODUCTION USE!");
}
Expand Down Expand Up @@ -444,17 +439,17 @@ protected void forEachManagerInSeparateThread(Consumer<Manager<?>> managerConsum
requireNonNull(managerConsumer);
final ManagerComponent mc = speedment.getManagerComponent();
final List<Thread> threads = mc.stream()
.map(mgr -> new Thread(() -> managerConsumer.accept(mgr), mgr.getTable().getName()))
.collect(toList());
.map(mgr -> new Thread(() -> managerConsumer.accept(mgr), mgr.getTable().getName()))
.collect(toList());
threads.forEach(Thread::start);
threads.forEach(SpeedmentApplicationLifecycle::join);
}

protected void forEachComponentInSeparateThread(Consumer<Component> componentConsumer) {
requireNonNull(componentConsumer);
final List<Thread> threads = speedment.components()
.map(comp -> new Thread(() -> componentConsumer.accept(comp), comp.getTitle()))
.collect(toList());
.map(comp -> new Thread(() -> componentConsumer.accept(comp), comp.getTitle()))
.collect(toList());
threads.forEach(Thread::start);
threads.forEach(SpeedmentApplicationLifecycle::join);
}
Expand Down
Expand Up @@ -172,7 +172,7 @@ public void initialize(URL url, ResourceBundle rb) {

try {
final DbmsHandler dh = dbmsType.makeDbmsHandler(speedment, dbms);
dh.schemas(s -> s.getName().equalsIgnoreCase(dbms.getName()))
dh.schemas(s -> fieldSchema.getText().equalsIgnoreCase(s.getName()))
.forEachOrdered(dbms::add);

Trees.traverse((Child) project, c -> c.asParent()
Expand Down

0 comments on commit a76a1b9

Please sign in to comment.