|
From: <fd...@us...> - 2008-01-16 17:03:37
|
Revision: 3704
http://jnode.svn.sourceforge.net/jnode/?rev=3704&view=rev
Author: fduminy
Date: 2008-01-16 09:03:28 -0800 (Wed, 16 Jan 2008)
Log Message:
-----------
jpartition : work in progress (added console view)
Modified Paths:
--------------
trunk/distr/src/apps/org/jnode/apps/jpartition/ErrorReporter.java
trunk/distr/src/apps/org/jnode/apps/jpartition/JPartition.java
trunk/distr/src/apps/org/jnode/apps/jpartition/ViewFactory.java
trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingErrorReporter.java
trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingViewFactory.java
trunk/distr/src/test/org/jnode/apps/jpartition/JPartitionTest.java
trunk/distr/src/test/org/jnode/apps/jpartition/utils/device/DeviceUtils.java
Added Paths:
-----------
trunk/distr/src/apps/org/jnode/apps/jpartition/Context.java
trunk/distr/src/apps/org/jnode/apps/jpartition/JPartitionCommand.java
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleErrorReporter.java
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleView.java
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleViewFactory.java
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Component.java
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Options.java
trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/YesNo.java
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/Context.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/Context.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/Context.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,34 @@
+package org.jnode.apps.jpartition;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintStream;
+
+
+public class Context {
+ private final BufferedReader in;
+ private final PrintStream out;
+ private final ErrorReporter errorReporter;
+
+ public Context(InputStream in, PrintStream out, ErrorReporter errorReporter)
+ {
+ InputStreamReader r = new InputStreamReader(in);
+ this.in = new BufferedReader(r);
+
+ this.out = out;
+ this.errorReporter = errorReporter;
+ }
+
+ final public PrintStream getOut() {
+ return out;
+ }
+
+ final public BufferedReader getIn() {
+ return in;
+ }
+
+ final public ErrorReporter getErrorReporter() {
+ return errorReporter;
+ }
+}
Modified: trunk/distr/src/apps/org/jnode/apps/jpartition/ErrorReporter.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/ErrorReporter.java 2008-01-15 05:37:17 UTC (rev 3703)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/ErrorReporter.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -13,7 +13,7 @@
reportError(log, source, (Object) message);
}
- protected void displayError(Object source, Object message)
+ protected void displayError(Object source, String message)
{
// by default display nothing
}
Modified: trunk/distr/src/apps/org/jnode/apps/jpartition/JPartition.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/JPartition.java 2008-01-15 05:37:17 UTC (rev 3703)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/JPartition.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -1,38 +1,29 @@
package org.jnode.apps.jpartition;
+import java.io.InputStream;
+import java.io.PrintStream;
+
import org.jnode.apps.jpartition.model.UserFacade;
-import org.jnode.apps.jpartition.swingview.SwingViewFactory;
-import org.jnode.driver.console.ConsoleManager;
-import org.jnode.driver.console.TextConsole;
-import org.jnode.driver.console.swing.SwingTextScreenConsoleManager;
-import org.jnode.emu.ShellEmu;
-import org.jnode.naming.InitialNaming;
-import org.jnode.plugin.ExtensionPoint;
-import org.jnode.shell.CommandShell;
-import org.jnode.shell.ShellManager;
-import org.jnode.shell.alias.AliasManager;
-import org.jnode.shell.alias.def.DefaultAliasManager;
-import org.jnode.shell.def.DefaultShellManager;
-import charvax.swing.JLabel;
-
public class JPartition {
- public static void main(String[] args) throws Exception
+ final private ViewFactory viewFactory;
+ final private InputStream in;
+ final private PrintStream out;
+ final private PrintStream err;
+ final private boolean install;
+
+ public JPartition(ViewFactory viewFactory, InputStream in,
+ PrintStream out, PrintStream err, boolean install)
{
- testCharva(args);
-/*
- ViewFactory viewFactory = createViewFactory(args);
- launch(viewFactory);
-*/
+ this.viewFactory = viewFactory;
+ this.in = in;
+ this.out = out;
+ this.err = err;
+ this.install = install;
}
-
- public static ViewFactory createViewFactory(String[] args)
+
+ public final void launch() throws Exception
{
- return new SwingViewFactory();
- }
-
- private static final void launch(ViewFactory viewFactory) throws Exception
- {
ErrorReporter errorReporter = viewFactory.createErrorReporter();
UserFacade.getInstance().setErrorReporter(errorReporter);
@@ -40,36 +31,6 @@
Object cmdProcessorView = viewFactory.createCommandProcessorView();
// Device
- viewFactory.createDeviceView(errorReporter, cmdProcessorView);
+ viewFactory.createDeviceView(errorReporter, cmdProcessorView, install);
}
-
- private static void testCharva(String[] args) throws Exception
- {
-/*
- //initEnv();
- SwingTextScreenConsoleManager cm = new SwingTextScreenConsoleManager();
- TextConsole tc = (TextConsole) cm.createConsole("Console 1",
- ConsoleManager.CreateOptions.TEXT | ConsoleManager.CreateOptions.SCROLLABLE);
- cm.focus(tc);
-
- DefaultShellManager sm = new DefaultShellManager();
- InitialNaming.bind(ShellManager.NAME, sm);
-
- ExtensionPoint aliasesEP = new DummyExtensionPoint();
- DefaultAliasManager am = new DefaultAliasManager(aliasesEP);
- InitialNaming.bind(AliasManager.NAME, am);
-
- //final ShellManager sm = InitialNaming.lookup(ShellManager.NAME);
- CommandShell cs = new CommandShell(tc);
- sm.registerShell(cs);
- new Thread(cs).start();
-*/
- charvax.swing.JFrame frm = new charvax.swing.JFrame("test");
- JLabel label = new JLabel("test");
- frm.add(label);
- frm.setFocus(label);
- frm.setSize(20, 20);
- frm.setVisible(true);
- frm.setDefaultCloseOperation(charvax.swing.JFrame.EXIT_ON_CLOSE);
- }
}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/JPartitionCommand.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/JPartitionCommand.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/JPartitionCommand.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,116 @@
+package org.jnode.apps.jpartition;
+
+import java.io.InputStream;
+import java.io.PrintStream;
+
+import org.jnode.apps.jpartition.consoleview.ConsoleViewFactory;
+import org.jnode.apps.jpartition.model.UserFacade;
+import org.jnode.apps.jpartition.swingview.SwingViewFactory;
+import org.jnode.driver.console.ConsoleManager;
+import org.jnode.driver.console.TextConsole;
+import org.jnode.driver.console.swing.SwingTextScreenConsoleManager;
+import org.jnode.emu.ShellEmu;
+import org.jnode.naming.InitialNaming;
+import org.jnode.plugin.ExtensionPoint;
+import org.jnode.shell.AbstractCommand;
+import org.jnode.shell.CommandLine;
+import org.jnode.shell.CommandShell;
+import org.jnode.shell.ShellManager;
+import org.jnode.shell.alias.AliasManager;
+import org.jnode.shell.alias.def.DefaultAliasManager;
+import org.jnode.shell.def.DefaultShellManager;
+import org.jnode.shell.help.Help;
+import org.jnode.shell.help.Parameter;
+import org.jnode.shell.help.ParsedArguments;
+import org.jnode.shell.help.argument.FileArgument;
+import org.jnode.shell.help.argument.OptionArgument;
+import org.jnode.shell.help.argument.StringArgument;
+
+import charvax.swing.JLabel;
+
+public class JPartitionCommand extends AbstractCommand {
+ static public final String SWINGUI = "swing";
+ static public final String CONSOLEUI = "console";
+
+ static private final OptionArgument ARG_UI = new OptionArgument("ui",
+ "The type of GUI you want to use",
+ new OptionArgument.Option(SWINGUI, "use swing for UI"),
+ new OptionArgument.Option(CONSOLEUI, "use console for UI"));
+
+ static private final StringArgument ARG_INSTALL = new StringArgument("install",
+ "select a partition (optionally being created/formatted)");
+
+ public static Help.Info HELP_INFO = new Help.Info("jpartition", "partition disks",
+ new Parameter[] {
+ new Parameter(ARG_UI, Parameter.MANDATORY),
+ new Parameter(ARG_INSTALL, Parameter.OPTIONAL)
+ });
+
+ public static void main(String[] args) throws Exception
+ {
+// testCharva(args);
+
+ new JPartitionCommand().execute(args);
+ }
+
+ public void execute(CommandLine commandLine, InputStream in,
+ PrintStream out, PrintStream err) throws Exception
+ {
+ ParsedArguments cmdLine = HELP_INFO.parse(commandLine);
+ String ui = ARG_UI.getValue(cmdLine);
+ boolean install = (ARG_INSTALL.getValue(cmdLine) != null);
+
+ ViewFactory viewFactory = createViewFactory(ui, in, out, err);
+
+ JPartition jpartition = new JPartition(viewFactory, in, out, err, install);
+ jpartition.launch();
+ }
+
+ public static ViewFactory createViewFactory(String ui, InputStream in,
+ PrintStream out, PrintStream err)
+ {
+ ViewFactory viewFactory = null;
+ if(CONSOLEUI.equals(ui))
+ {
+ viewFactory = new ConsoleViewFactory(in, out, err);
+ }
+ else if(SWINGUI.equals(ui))
+ {
+ viewFactory = new SwingViewFactory();
+ }
+
+ return viewFactory;
+ }
+
+ private static void testCharva(String[] args) throws Exception
+ {
+/*
+ //initEnv();
+ SwingTextScreenConsoleManager cm = new SwingTextScreenConsoleManager();
+ TextConsole tc = (TextConsole) cm.createConsole("Console 1",
+ ConsoleManager.CreateOptions.TEXT | ConsoleManager.CreateOptions.SCROLLABLE);
+ cm.focus(tc);
+
+ DefaultShellManager sm = new DefaultShellManager();
+ InitialNaming.bind(ShellManager.NAME, sm);
+
+ ExtensionPoint aliasesEP = new DummyExtensionPoint();
+ DefaultAliasManager am = new DefaultAliasManager(aliasesEP);
+ InitialNaming.bind(AliasManager.NAME, am);
+
+ //final ShellManager sm = InitialNaming.lookup(ShellManager.NAME);
+ CommandShell cs = new CommandShell(tc);
+ sm.registerShell(cs);
+ new Thread(cs).start();
+*/
+/*
+ charvax.swing.JFrame frm = new charvax.swing.JFrame("test");
+ JLabel label = new JLabel("test");
+ frm.add(label);
+ frm.setFocus(label);
+ frm.setSize(20, 20);
+ frm.setVisible(true);
+ frm.setDefaultCloseOperation(charvax.swing.JFrame.EXIT_ON_CLOSE);
+*/
+ }
+}
Modified: trunk/distr/src/apps/org/jnode/apps/jpartition/ViewFactory.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/ViewFactory.java 2008-01-15 05:37:17 UTC (rev 3703)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/ViewFactory.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -2,7 +2,7 @@
public interface ViewFactory {
- Object createDeviceView(ErrorReporter errorReporter, Object cmdProcessorView)
+ Object createDeviceView(ErrorReporter errorReporter, Object cmdProcessorView, boolean install)
throws Exception;
Object createCommandProcessorView();
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleErrorReporter.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleErrorReporter.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleErrorReporter.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,30 @@
+package org.jnode.apps.jpartition.consoleview;
+
+import java.io.PrintStream;
+
+import org.jnode.apps.jpartition.ErrorReporter;
+
+/**
+ *
+ * @author Fabien Duminy
+ *
+ */
+class ConsoleErrorReporter extends ErrorReporter {
+ private final PrintStream err;
+
+ ConsoleErrorReporter(PrintStream err)
+ {
+ this.err = err;
+ }
+
+ protected void displayError(Object source, String message)
+ {
+ StringBuilder sb = new StringBuilder();
+ if(source != null)
+ {
+ sb.append('[').append(String.valueOf(source)).append("] ");
+ }
+ sb.append(message);
+ err.println(sb.toString());
+ }
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleView.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleView.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleView.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,79 @@
+package org.jnode.apps.jpartition.consoleview;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jnode.apps.jpartition.Context;
+import org.jnode.apps.jpartition.ErrorReporter;
+import org.jnode.apps.jpartition.consoleview.components.Options;
+import org.jnode.apps.jpartition.consoleview.components.YesNo;
+import org.jnode.apps.jpartition.model.Partition;
+import org.jnode.apps.jpartition.model.UserFacade;
+
+class ConsoleView {
+ private static final Logger log = Logger.getLogger(ConsoleView.class);
+
+ private final Context context;
+ private final boolean install;
+
+ ConsoleView(InputStream in, PrintStream out, ErrorReporter errorReporter, boolean install)
+ {
+ this.context = new Context(in, out, errorReporter);
+ this.install = install;
+
+ try {
+ start();
+ } catch (Throwable e) {
+ errorReporter.reportError(log, this, e);
+ }
+ }
+
+ private void start() throws Exception
+ {
+ selectDevice();
+ selectPartition();
+ }
+
+ private void selectDevice() throws IOException
+ {
+ String[] devices = UserFacade.getInstance().getDevices();
+ Options devicesOpt = new Options(context);
+ int choice = devicesOpt.show("Select a device", devices);
+
+ String device = devices[choice - 1];
+ UserFacade.getInstance().selectDevice(device);
+ System.err.println("device="+device);
+ }
+
+ private void selectPartition() throws Exception
+ {
+ List<Partition> partitions = UserFacade.getInstance().getPartitions();
+
+ Partition partition = null;
+ if(install)
+ {
+ if(partitions.isEmpty())
+ {
+ //TODO
+ YesNo createPart = new YesNo(context);
+ boolean create = createPart.show("There is no partition. Would you liek to create one ?");
+
+ partition = null; //TODO
+ }
+ }
+
+ if(partition == null)
+ {
+ Options partitionsOpt = new Options(context);
+ int choice = partitionsOpt.show("Select a partition", partitions);
+
+ partition = partitions.get(choice - 1);
+ //UserFacade.getInstance().selectDevice(device);
+ }
+
+ //TODO return result of selection
+ }
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleViewFactory.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleViewFactory.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/ConsoleViewFactory.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,39 @@
+package org.jnode.apps.jpartition.consoleview;
+
+import java.io.InputStream;
+import java.io.PrintStream;
+
+import org.jnode.apps.jpartition.ErrorReporter;
+import org.jnode.apps.jpartition.ViewFactory;
+import org.jnode.shell.help.ParsedArguments;
+
+/**
+ *
+ * @author Fabien Duminy
+ *
+ */
+public class ConsoleViewFactory implements ViewFactory {
+ private final InputStream in;
+ private final PrintStream out;
+ private final PrintStream err;
+
+ public ConsoleViewFactory(InputStream in, PrintStream out, PrintStream err)
+ {
+ this.in = in;
+ this.out = out;
+ this.err = err;
+ }
+
+ public Object createCommandProcessorView() {
+ return null; // nothing particular to create : work is done by createDeviceView
+ }
+
+ public Object createDeviceView(ErrorReporter errorReporter,
+ Object cmdProcessorView, boolean install) throws Exception {
+ return new ConsoleView(in, out, errorReporter, install);
+ }
+
+ public ErrorReporter createErrorReporter() {
+ return new ConsoleErrorReporter(err);
+ }
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Component.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Component.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Component.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,94 @@
+package org.jnode.apps.jpartition.consoleview.components;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jnode.apps.jpartition.Context;
+
+public class Component {
+ protected final Context context;
+
+ protected Component(Context context) {
+ this.context = context;
+ }
+
+ final protected void print(String s) {
+ context.getOut().print(s);
+ }
+
+ final protected void println(String s) {
+ context.getOut().println(s);
+ }
+
+ final protected int read() throws IOException {
+ return context.getIn().read();
+ }
+
+ final protected boolean readBoolean(boolean defaultValue) throws IOException {
+ String line = context.getIn().readLine();
+
+ boolean value = defaultValue;
+ try
+ {
+ if(defaultValue)
+ {
+ value = ("no".equals(line)) ? false : true;
+ }
+ else
+ {
+ value = ("yes".equals(line)) ? true : false;
+ }
+ }
+ catch(Exception e)
+ {
+ value = defaultValue;
+ }
+
+ return value;
+ }
+
+ final protected int readInt(int defaultValue) throws IOException {
+ String line = context.getIn().readLine();
+ int value = defaultValue;
+ try
+ {
+ value = Integer.valueOf(line);
+ }
+ catch(NumberFormatException e)
+ {
+ value = defaultValue;
+ }
+ return value;
+ }
+
+ final protected void reportError(Logger log, Object source, Throwable t)
+ {
+ context.getErrorReporter().reportError(log, source, t);
+ }
+
+ final protected void reportError(Logger log, Object source, String message)
+ {
+ context.getErrorReporter().reportError(log, source, message);
+ }
+
+ final protected void checkNonNull(String paramName, Object param)
+ {
+ if(param == null)
+ {
+ throw new NullPointerException("parameter "+paramName+" can't be null");
+ }
+ }
+
+ final protected void checkNonEmpty(String paramName, Collection<?> param)
+ {
+ checkNonNull(paramName, param);
+
+ if(param.isEmpty())
+ {
+ throw new IllegalArgumentException("parameter "+paramName+" can't be empty");
+ }
+ }
+
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Options.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Options.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/Options.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,43 @@
+package org.jnode.apps.jpartition.consoleview.components;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+import org.jnode.apps.jpartition.Context;
+
+public class Options extends Component {
+ private static final Logger log = Logger.getLogger(Options.class);
+
+ public Options(Context context) {
+ super(context);
+ }
+
+ public int show(String question, String[] options) throws IOException {
+ return show(question, Arrays.asList(options));
+ }
+
+ public int show(String question, Collection<?> options) throws IOException {
+ checkNonNull("question", question);
+ checkNonEmpty("options", options);
+
+ println(question);
+ int i = 1;
+ for(Object option : options)
+ {
+ println(" " + i + " - "+option);
+ i++;
+ }
+ print("Choice : ");
+
+ int choice = readInt(-1);
+ while((choice < 1) || (choice > options.size()))
+ {
+ reportError(log, null, "invalid choice");
+ choice = readInt(-1);
+ }
+
+ return choice;
+ }
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/YesNo.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/YesNo.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/consoleview/components/YesNo.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -0,0 +1,24 @@
+package org.jnode.apps.jpartition.consoleview.components;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+import org.jnode.apps.jpartition.Context;
+
+public class YesNo extends Component {
+ private static final Logger log = Logger.getLogger(YesNo.class);
+
+ public YesNo(Context context) {
+ super(context);
+ }
+
+ public boolean show(String question) throws IOException {
+ checkNonNull("question", question);
+
+ print(question);
+
+ return readBoolean(false);
+ }
+}
Modified: trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingErrorReporter.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingErrorReporter.java 2008-01-15 05:37:17 UTC (rev 3703)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingErrorReporter.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -9,7 +9,7 @@
public class SwingErrorReporter extends ErrorReporter
{
@Override
- protected void displayError(Object source, Object message) {
+ protected void displayError(Object source, String message) {
Component parent = (source instanceof Component) ? (Component) source : null;
JOptionPane.showMessageDialog(parent,
"an error happened : "+message+"\nSee logs for details",
Modified: trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingViewFactory.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingViewFactory.java 2008-01-15 05:37:17 UTC (rev 3703)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/SwingViewFactory.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -7,7 +7,7 @@
public class SwingViewFactory implements ViewFactory {
public Object createDeviceView(ErrorReporter errorReporter,
- Object cmdProcessorView) throws Exception
+ Object cmdProcessorView, boolean install) throws Exception
{
return new MainView(errorReporter, (JComponent)cmdProcessorView);
}
Modified: trunk/distr/src/test/org/jnode/apps/jpartition/JPartitionTest.java
===================================================================
--- trunk/distr/src/test/org/jnode/apps/jpartition/JPartitionTest.java 2008-01-15 05:37:17 UTC (rev 3703)
+++ trunk/distr/src/test/org/jnode/apps/jpartition/JPartitionTest.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -8,7 +8,6 @@
import org.jnode.apps.jpartition.model.TestRemovePartitionFromDevice;
import org.jnode.apps.jpartition.swingview.FileDeviceView;
import org.jnode.apps.jpartition.utils.device.DeviceUtils;
-import org.jnode.emu.ShellEmu;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@@ -24,31 +23,31 @@
}
public static void main(String[] args) throws Throwable {
-/*
- UserFacade.getInstance().selectDevice("dev1");
- System.out.print("devices:");
- for(String device : UserFacade.getInstance().getDevices())
- {
- System.out.print(device);
- System.out.print(", ");
- }
- System.out.println();
+// UserFacade.getInstance().selectDevice("dev1");
+// System.out.print("devices:");
+// for(String device : UserFacade.getInstance().getDevices())
+// {
+// System.out.print(device);
+// System.out.print(", ");
+// }
+// System.out.println();
+//
+// UserFacade.getInstance().createPartition(0, 5000);
+// UserFacade.getInstance().createPartition(5000, 2000);
+// UserFacade.getInstance().createPartition(7000, 3000);
+//
+// System.out.print("partitions:\n");
+// for(Partition partition : UserFacade.getInstance().getPartitions())
+// {
+// System.out.print("\tstart="+partition.getStart());
+// System.out.print(" end="+partition.getEnd());
+// System.out.print(" size="+partition.getSize());
+// System.out.println(" used="+partition.isUsed());
+// }
+// System.out.println();
- UserFacade.getInstance().createPartition(0, 5000);
- UserFacade.getInstance().createPartition(5000, 2000);
- UserFacade.getInstance().createPartition(7000, 3000);
-
- System.out.print("partitions:\n");
- for(Partition partition : UserFacade.getInstance().getPartitions())
- {
- System.out.print("\tstart="+partition.getStart());
- System.out.print(" end="+partition.getEnd());
- System.out.print(" size="+partition.getSize());
- System.out.println(" used="+partition.isUsed());
- }
- System.out.println();
-*/
- final ErrorReporter errorReporter = JPartition.createViewFactory(args).createErrorReporter();
+ final ViewFactory vf = JPartition.createViewFactory(JPartition.CONSOLEUI, System.in, System.out, System.err);
+ final ErrorReporter errorReporter = vf.createErrorReporter();
new Thread()
{
public void run()
@@ -60,6 +59,8 @@
}
}
}.start();
+
+ DeviceUtils.createFakeDevice(new ErrorReporter());
JPartition.main(args);
}
Modified: trunk/distr/src/test/org/jnode/apps/jpartition/utils/device/DeviceUtils.java
===================================================================
--- trunk/distr/src/test/org/jnode/apps/jpartition/utils/device/DeviceUtils.java 2008-01-15 05:37:17 UTC (rev 3703)
+++ trunk/distr/src/test/org/jnode/apps/jpartition/utils/device/DeviceUtils.java 2008-01-16 17:03:28 UTC (rev 3704)
@@ -9,6 +9,7 @@
import org.apache.log4j.Logger;
import org.jnode.apps.jpartition.ErrorReporter;
import org.jnode.apps.jpartition.swingview.FileDeviceView;
+import org.jnode.apps.jpartition.utils.BasicNameSpace;
import org.jnode.apps.vmware.disk.VMWareDisk;
import org.jnode.apps.vmware.disk.tools.DiskFactory;
import org.jnode.driver.Device;
@@ -17,8 +18,8 @@
import org.jnode.driver.DeviceNotFoundException;
import org.jnode.driver.DriverException;
import org.jnode.driver.bus.ide.IDEDevice;
-import org.jnode.emu.ShellEmu;
import org.jnode.naming.InitialNaming;
+import org.jnode.naming.NameSpace;
import org.jnode.test.fs.driver.stubs.StubDeviceManager;
import org.jnode.util.OsUtils;
@@ -32,11 +33,11 @@
{
try {
- ShellEmu.main(new String[0]);
- //NameSpace namespace = new BasicNameSpace();
- //InitialNaming.setNameSpace(namespace);
+ //ShellEmu.main(new String[0]);
+ NameSpace namespace = new BasicNameSpace();
+ InitialNaming.setNameSpace(namespace);
- //InitialNaming.bind(DeviceManager.NAME, StubDeviceManager.INSTANCE);
+ InitialNaming.bind(DeviceManager.NAME, StubDeviceManager.INSTANCE);
} catch (NameAlreadyBoundException e) {
throw new RuntimeException(e);
} catch (NamingException e) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|