1   /**
2    * 
3    */
4   package org.melati.app.test;
5   
6   import org.melati.util.test.StringInputStream;
7   import org.melati.Melati;
8   import org.melati.MelatiConfig;
9   import org.melati.app.TemplateApp;
10  import org.melati.login.AccessHandler;
11  import org.melati.login.CommandLineAccessHandler;
12  import org.melati.login.OpenAccessHandler;
13  import org.melati.util.InstantiationPropertyException;
14  import org.melati.util.MelatiException;
15  
16  /**
17   * @author timp
18   *
19   */
20  public class ConfiguredTemplateApp extends TemplateApp {
21  
22    /**
23     * 
24     */
25    public ConfiguredTemplateApp() {
26      super();
27    }
28  
29    /**
30     * {@inheritDoc}
31     * @see org.melati.app.AbstractConfigApp#melatiConfig()
32     */
33    protected MelatiConfig melatiConfig() throws MelatiException {
34      MelatiConfig config = super.melatiConfig();
35  
36        try {
37          config.setAccessHandler((AccessHandler)CommandLineAccessHandler.class
38                  .newInstance());
39        } catch (Exception e) {
40          throw new InstantiationPropertyException(OpenAccessHandler.class
41                  .getName(), e);
42        }
43  
44  
45      return config;
46      
47    }
48  
49    /**
50     * {@inheritDoc}
51     * @see org.melati.app.AbstractTemplateApp#init(java.lang.String[])
52     */
53    public Melati init(String[] args) throws MelatiException {
54      Melati melati = super.init(args);
55      CommandLineAccessHandler ah = (CommandLineAccessHandler)melati.getConfig().getAccessHandler();
56      ah.setInput(new StringInputStream("_administrator_\nFIXME\n"));
57      return melati;
58      
59    }
60  
61  }