MATSIM
ControllerUtils.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.* *
3  * *
4  * *********************************************************************** *
5  * *
6  * copyright : (C) 2008 by the members listed in the COPYING, *
7  * LICENSE and WARRANTY file. *
8  * email : info at matsim dot org *
9  * *
10  * *********************************************************************** *
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * See also COPYING, LICENSE and WARRANTY file *
17  * *
18  * *********************************************************************** */
19 package org.matsim.core.controler;
20 
21 import java.io.PrintWriter;
22 import java.io.StringWriter;
23 
24 import org.apache.logging.log4j.LogManager;
25 import org.apache.logging.log4j.Logger;
26 import org.matsim.api.core.v01.Scenario;
27 import org.matsim.core.config.Config;
31 
36 public final class ControllerUtils{
37  private static final Logger log = LogManager.getLogger( ControllerUtils.class ) ;
46  public static com.google.inject.Injector createAdhocInjector( Config config, Scenario scenario ){
47  return Injector.createInjector( config, new AbstractModule(){
48  @Override public void install(){
49  install( new NewControlerModule() );
50  install( new ControlerDefaultCoreListenersModule() );
51  install( new ControlerDefaultsModule() );
52  install( new ScenarioByInstanceModule( scenario ) );
53  }
54  } );
55  }
64  public static com.google.inject.Injector createAdhocInjector( Scenario scenario ){
65  return Injector.createInjector( scenario.getConfig(), new AbstractModule(){
66  @Override public void install(){
67  install( new NewControlerModule() );
68  install( new ControlerDefaultCoreListenersModule() );
69  install( new ControlerDefaultsModule() );
70  install( new ScenarioByInstanceModule( scenario ) );
71  }
72  } );
73  }
74 
75  private ControllerUtils() {} // namespace for static methods only should not be instantiated
76 
95  public static final void checkConfigConsistencyAndWriteToLog(Config config,
96  final String message) {
97  log.info(message);
98  String newline = System.lineSeparator();// use native line endings for logfile
99  StringWriter writer = new StringWriter();
100  new ConfigWriter(config).writeStream(new PrintWriter(writer), newline);
101  log.debug(newline + newline + writer.getBuffer().toString());
102  log.info("Complete config dump done.");
103  log.info("Checking consistency of config...");
104  config.checkConsistency();
105  log.info("Checking consistency of config done.");
106  }
107 
108  @Deprecated // use OutputDirectoryLogging.catchLogEntries() directly. kai, mar'18
109  public static final void initializeOutputLogging() {
111  }
112 
113  public static void catchLogEntries() {
115  }
116 
117  public static Controller createController( Scenario scenario ) {
118  return new Controler( scenario );
119  }
120 
121 }
final void writeStream(final java.io.Writer writer)
static final void checkConfigConsistencyAndWriteToLog(Config config, final String message)
static com.google.inject.Injector createInjector(final Config config, Module... modules)
Definition: Injector.java:58
static Controller createController(Scenario scenario)
static com.google.inject.Injector createAdhocInjector(Config config, Scenario scenario)
static com.google.inject.Injector createAdhocInjector(Scenario scenario)