Author: ulhume
Date: 2008-08-31 13:21:57 +0200 (Sun, 31 Aug 2008)
New Revision: 1670

Added:
   
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/logging.properties
Removed:
   
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPropertyEditor.java
Modified:
   
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPanel.java
   
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTester.java
   
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTesterConfiguration.java
Log:
- Possibilit?\195?\169 de d?\195?\169charger un gadget (action Unload)
- Meilleur gestion des traces
- am?\195?\169lioration de l'?\195?\169diteur de propri?\195?\169t?\195?\169s 
(propri?\195?\169t?\195?\169s invisibles)
- Possibilit?\195?\169 de recharger le conteneur (via le menu)
- Possibilit?\195?\169 de changer la langue pour les gadgets suivant (via le 
menu)
- Ajout de la traduction du nom des gadgets (via 
gadget.getDescription().getTranslatedName())

Modified: 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPanel.java
===================================================================
--- 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPanel.java
    2008-08-31 11:18:12 UTC (rev 1669)
+++ 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPanel.java
    2008-08-31 11:21:57 UTC (rev 1670)
@@ -23,6 +23,7 @@
 package com.kysoh.tuxdroid.gadget.framework.tester;
 
 import java.awt.BorderLayout;
+import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
@@ -49,11 +50,14 @@
 import com.kysoh.tuxdroid.gadget.framework.container.GadgetListener;
 import com.kysoh.tuxdroid.gadget.framework.container.GadgetParameter;
 import com.kysoh.tuxdroid.gadget.framework.container.GadgetToken;
+import com.kysoh.tuxdroid.gadget.framework.container.GadgetsContainer;
+import com.kysoh.tuxdroid.gadget.framework.container.GadgetsContainerException;
+import com.kysoh.tuxdroid.gadget.framework.propertyEditor.GadgetPropertyEditor;
 
 public class GadgetPanel extends JPanel {
 
        public class GadgetCommandAction extends TreeActionItem {
-       
+
                private static final long serialVersionUID = 
2726981096615095410L;
                private final GadgetToken command;
 
@@ -82,6 +86,22 @@
                }
        }
 
+       public class UnloadAction extends TreeActionItem {
+               @Override
+               public void actionPerformed(ActionEvent e) {
+                       try {
+                               
container.destroyGadgets(gadget.getInterpreter().getWorkingPath());
+                       } catch (GadgetsContainerException e1) {
+                               // TODO Auto-generated catch block
+                               e1.printStackTrace();
+                       }
+               }
+
+               public UnloadAction() {
+                       super("Unload");
+               }
+       }
+
        public class AbortInstanceAction extends InstanceAction {
 
                @Override
@@ -276,22 +296,25 @@
        /** Current gadget id. */
        final Gadget gadget;
        private final GadgetPropertyEditor gadgetParametersEditor;
+       private final GadgetsContainer container;
 
        /**
         * Default constructor.
         * 
+        * @param container
         * @param gadget
         *            managed gadget.
         */
-       public GadgetPanel(Gadget gadget) {
+       public GadgetPanel(GadgetsContainer container, Gadget gadget) {
                this.gadget = gadget;
-
+               this.container = container;
                // Actions
                actionsRoot = new 
TreeActionItem(gadget.getDescription().getName());
                for (GadgetToken token : gadget.getCommands()) {
                        actionsRoot.getActions().add(new 
GadgetCommandAction(token));
                }
                actionsRoot.getActions().add(new StopAllAction());
+               actionsRoot.getActions().add(new UnloadAction());
                actionsTree = new JTree(new ActionsListModel());
                actionsTree.addMouseListener(new ActionTreeMouseObserver());
                gadget.addListener(new GadgetObserver());
@@ -299,6 +322,7 @@
                gadgetParametersEditor = new GadgetPropertyEditor();
                gadgetParametersEditor.setGadget(gadget);
                JSplitPane actionSplitPane = new 
JSplitPane(JSplitPane.VERTICAL_SPLIT, gadgetParametersEditor, actionsTree);
+               actionSplitPane.setMinimumSize(new Dimension(300, 0));
                JSplitPane splitPane = new 
JSplitPane(JSplitPane.HORIZONTAL_SPLIT, console, actionSplitPane);
                actionSplitPane.setResizeWeight(0.5);
                splitPane.setResizeWeight(0.5);
@@ -347,8 +371,10 @@
         */
        private void showDescription(Gadget gadget) {
                GadgetDescription description = gadget.getDescription();
-               console.append("  " + description.getName() + " v" + 
description.getVersion() + " [" + description.getAuthor() + "]");
-               console.append("  " + description.getDescription());
+               console.append("  Name        : " + 
description.getTranslatedName());
+               console.append("  Version     : " + description.getVersion());
+               console.append("  Author      : " + description.getAuthor());
+               console.append("  Description : " + 
description.getDescription());
                console.append("  UUID        : " + description.getUuid());
                console.append("  WorkingPath : " + 
gadget.getInterpreter().getWorkingPath());
                console.append("  iconFile    : " + description.getIconFile());

Deleted: 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPropertyEditor.java
===================================================================
--- 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPropertyEditor.java
   2008-08-31 11:18:12 UTC (rev 1669)
+++ 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetPropertyEditor.java
   2008-08-31 11:21:57 UTC (rev 1670)
@@ -1,137 +0,0 @@
-/* This file is part of "TuxDroid Gadget Tester".
- *    Copyright 2008, kysoh
- *    Author : Yoran Brault
- *    eMail  : [EMAIL PROTECTED] (remove _bad_ before sending an email)
- *    Site   : http://www.kysoh.com/
- *
- * "TuxDroid Gadget Tester" is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * "TuxDroid Gadget Tester" is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with "TuxDroid Gadget Tester"; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package com.kysoh.tuxdroid.gadget.framework.tester;
-
-import java.awt.BorderLayout;import java.awt.Color;
-
-import javax.swing.JPanel;
-import javax.swing.JTable;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
-import javax.swing.table.TableColumn;
-import javax.swing.table.TableColumnModel;
-
-import com.kysoh.tuxdroid.gadget.framework.container.Gadget;
-import com.kysoh.tuxdroid.gadget.framework.container.GadgetInstanceParameters;
-import com.kysoh.tuxdroid.gadget.framework.container.GadgetParameter;
-import 
com.kysoh.tuxdroid.gadget.framework.propertyEditor.GadgetParameterEditorLabelRenderer;
-import 
com.kysoh.tuxdroid.gadget.framework.propertyEditor.GadgetParametersEditorValueRenderer;
-import com.kysoh.tuxdroid.gadget.framework.propertyEditor.PropertiesTableModel;
-import com.kysoh.tuxdroid.gadget.framework.propertyEditor.PropertyValueEditor;
-
-public class GadgetPropertyEditor extends JPanel {
-       /**
-        * 
-        */
-       private static final long serialVersionUID = 1L;
-
-       private Gadget gadget;
-
-       private final JTable gadgetParametersEditor;
-
-       GadgetInstanceParameters values = null;
-
-       public GadgetPropertyEditor(Color EditorBackground, TableCellRenderer 
renderer){
-               super(new BorderLayout());
-               gadgetParametersEditor = new JTable(new 
PropertiesTableModel(null, null));
-               
gadgetParametersEditor.putClientProperty("terminateEditOnFocusLost", 
Boolean.TRUE);
-               gadgetParametersEditor.setBackground(EditorBackground);
-
-               gadgetParametersEditor.setShowGrid(false);
-               
-               TableColumn col = 
gadgetParametersEditor.getColumnModel().getColumn(1);
-               col.setPreferredWidth(col.getWidth() + 20);
-               
-               try {
-                       
gadgetParametersEditor.setDefaultRenderer(Class.forName("java.lang.Object"),
-                                       renderer);
-               } catch (ClassNotFoundException ex) {
-                       ex.printStackTrace();
-               }
-               gadgetParametersEditor.setShowVerticalLines(true);
-               gadgetParametersEditor.setShowHorizontalLines(false);
-               add(gadgetParametersEditor);
-       }
-       
-       public GadgetPropertyEditor() {
-               super(new BorderLayout());
-               gadgetParametersEditor = new JTable(new 
PropertiesTableModel(null, null));
-               
gadgetParametersEditor.putClientProperty("terminateEditOnFocusLost", 
Boolean.TRUE);
-               gadgetParametersEditor.setShowGrid(true);
-               gadgetParametersEditor.setBackground(Color.white);
-               add(gadgetParametersEditor);
-       }
-       
-       /** 
-        * @return attached gadget.
-        */
-       public Gadget getAttachedGadget(){
-               return this.gadget;
-       }
-       
-
-       /**
-        * @return the values
-        */
-       public GadgetInstanceParameters getValues() {
-               return values;
-       }
-       
-       /**
-        * Sets parameters.
-        * @param parameters
-        */
-       public void setValues(GadgetInstanceParameters parameters){
-               values = parameters;
-       }
-
-       /**
-        * @param gadget
-        *            the gadget to set
-        */
-       public void setGadget(Gadget gadget) {
-               this.gadget = gadget;
-               if(values == null){
-                       values = new GadgetInstanceParameters();
-               
-                       for (int i = 0; i < gadget.getParameters().size(); i++) 
{
-                               GadgetParameter parameter = 
gadget.getParameters().get(i);
-                               values.setValue(parameter, 
parameter.getDefaultValue());
-                       }
-               }
-               gadgetParametersEditor.setModel(new 
PropertiesTableModel(gadget.getParameters(), values));
-               gadgetParametersEditor.setRowHeight(20);
-               TableColumnModel columnModel = 
gadgetParametersEditor.getColumnModel();
-               TableColumn labelsColumn = columnModel.getColumn(0);
-               labelsColumn.setCellRenderer(new 
GadgetParameterEditorLabelRenderer());
-               TableColumn valuesColumn = columnModel.getColumn(1);
-               valuesColumn.setCellEditor(new 
PropertyValueEditor(this.gadget));
-               valuesColumn.setCellRenderer(new 
GadgetParametersEditorValueRenderer(this.values, this.gadget));
-       }
-       
-       
-       public JTable getTable(){
-               return this.gadgetParametersEditor;
-       }
-
-}

Modified: 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTester.java
===================================================================
--- 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTester.java
   2008-08-31 11:18:12 UTC (rev 1669)
+++ 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTester.java
   2008-08-31 11:21:57 UTC (rev 1670)
@@ -25,23 +25,29 @@
 import java.awt.Image;
 import java.awt.event.ActionEvent;
 import java.io.File;
-import java.util.List;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.logging.Handler;
+import java.util.logging.LogRecord;
 import java.util.logging.Logger;
 
 import javax.swing.AbstractAction;
+import javax.swing.ButtonGroup;
 import javax.swing.ImageIcon;
 import javax.swing.JFileChooser;
 import javax.swing.JFrame;
 import javax.swing.JMenu;
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
+import javax.swing.JRadioButtonMenuItem;
 import javax.swing.JSplitPane;
 import javax.swing.JTabbedPane;
 import javax.swing.UIManager;
 import javax.swing.UnsupportedLookAndFeelException;
 
 import net.karmaLab.application.Application;
-import net.karmaLab.traces.ApplicationError;
+import net.karmaLab.tools.Files;
 import net.karmaLab.traces.Traces;
 
 import com.kysoh.tuxdroid.gadget.framework.container.Gadget;
@@ -60,6 +66,22 @@
  * @since 4 juin 08
  */
 public class GadgetTester extends Application<GadgetTesterConfiguration> {
+       public class ChangeLanguageAction extends AbstractAction {
+               private final String language;
+
+               public ChangeLanguageAction(String language, String id) {
+                       super(language);
+                       this.language = id;
+               }
+
+               @Override
+               public void actionPerformed(ActionEvent e) {
+                       logger.info("Switching to language '" + language + "'");
+                       GadgetsContainer.setLocale(language, "julie", "france", 
100);
+               }
+
+       }
+
        /**
         * Delegated observer for gadget events.
         */
@@ -72,19 +94,17 @@
                @Override
                public void notification(GadgetInstance source, String name, 
Object... parameters) {
                        // Exemple of global notification handling
-                       if (name.equalsIgnoreCase("speak")) {
-                               console.append("   Tux is speaking : " + 
parameters[0]);
+                       if (name.equalsIgnoreCase("message")) {
+                               logger.info("   #" + source.getId() + " is 
speaking : " + parameters[0]);
                        }
                }
 
                @Override
                public void starting(GadgetInstance gadget) {
-                       console.append("Gadget " + gadget.getGadget() + " 
instance #" + gadget.getId() + " started");
                }
 
                @Override
                public void stopped(GadgetInstance gadget) {
-                       console.append("Gadget " + gadget.getGadget() + " 
instance #" + gadget.getId() + " stopped");
                }
 
                @Override
@@ -104,19 +124,20 @@
                /** [EMAIL PROTECTED] */
                @Override
                public void gadgetContainerError(Throwable throwable) {
-                       console.append("-------------------- We have a problem 
--------------");
-                       console.append(throwable.getLocalizedMessage());
-                       throwable.printStackTrace();
-                       
console.append("-----------------------------------------------------");
+                       logger.info("-------------------- We have a problem 
--------------");
+                       final Writer result = new StringWriter();
+                       final PrintWriter printWriter = new PrintWriter(result);
+                       throwable.printStackTrace(printWriter);
+                       logger.info(result.toString());
+                       
logger.info("-----------------------------------------------------");
                }
 
                /** [EMAIL PROTECTED] */
                @Override
                public void gadgetLoaded(Gadget gadget) {
-                       console.append("New Gadget loaded : '" + gadget + "'");
+                       logger.info("Gadget " + 
gadget.getDescription().getTranslatedName() + " is loaded.");
                        gadget.addListener(gadgetObserver);
-                       gadget.setLocale("fr", "locutus", "fr", 220);
-                       GadgetPanel gadgetPanel = new GadgetPanel(gadget);
+                       GadgetPanel gadgetPanel = new GadgetPanel(container, 
gadget);
                        
gadgetPanels.add(gadgetPanel.getGadget().getDescription().getName(), 
gadgetPanel);
                        int index = gadgetPanels.indexOfComponent(gadgetPanel);
                        ImageIcon icon = new 
ImageIcon(gadgetPanel.getGadget().getIconFile().getAbsolutePath());
@@ -128,7 +149,7 @@
 
                @Override
                public void gadgetUnloaded(Gadget gadget) {
-                       console.append("Gadget " + gadget + " unload");
+                       logger.info("Gadget " + 
gadget.getDescription().getTranslatedName() + " is unloaded.");
                        for (int i = gadgetPanels.getComponentCount() - 1; i >= 
0; i--) {
                                GadgetPanel panel = (GadgetPanel) 
gadgetPanels.getComponentAt(i);
                                if (panel.getGadget().equals(gadget)) {
@@ -140,7 +161,7 @@
 
                @Override
                public void deployementTerminated() {
-                       console.append("All gadgets deployed");
+                       logger.info("All gadgets now deployed");
                }
        }
 
@@ -151,7 +172,7 @@
 
                @Override
                public void actionPerformed(ActionEvent e) {
-                       console.append("Shutting down the container");
+                       logger.info("Shutting down the container");
                        GadgetTester.this.stop();
                }
        }
@@ -163,6 +184,26 @@
                }
        }
 
+       private final class LoadGadgetsAction extends AbstractAction {
+               public LoadGadgetsAction() {
+                       super("Reload gadgets");
+               }
+
+               @Override
+               public void actionPerformed(ActionEvent e) {
+                       try {
+                               if (getConfiguration().getMode() == 
GadgetTesterMode.gadget) {
+                                       loadGadgets();
+                               } else {
+                                       container.reload();
+                               }
+                       } catch (GadgetsContainerException e1) {
+                               // TODO Auto-generated catch block
+                               e1.printStackTrace();
+                       }
+               }
+       }
+
        /** Class logger. */
        private static final Logger logger = Traces.LOGGER(GadgetTester.class);
        private JConsole console;
@@ -170,6 +211,7 @@
        private GadgetsContainer container;;
        /** Gadget panels. */
        private JTabbedPane gadgetPanels;
+       private ButtonGroup languageButtonGroup;
 
        public GadgetTester() {
                super(new GadgetTesterConfiguration());
@@ -199,7 +241,7 @@
                        Traces.severe(logger, e);
                }
                // Build the UI
-               JFrame frame = new JFrame("Fake Control Center");
+               JFrame frame = new JFrame(getDescriptor().getTitle() + " v" + 
getDescriptor().getVersion());
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                gadgetPanels = new JTabbedPane();
                console = new JConsole();
@@ -207,11 +249,27 @@
                splitPane.setResizeWeight(0.8);
                splitPane.setDividerLocation(0.6);
                frame.getContentPane().add(splitPane);
-               frame.setSize(800, 600);
+               frame.setSize(1024, 768);
                JMenuBar bar = new JMenuBar();
                JMenu actionMenu = new JMenu("Actions");
                bar.add(actionMenu);
+
+               languageButtonGroup = new ButtonGroup();
+               JRadioButtonMenuItem cbMenuItem = new JRadioButtonMenuItem(new 
ChangeLanguageAction("French", "fr"));
+               cbMenuItem.setSelected(true);
+               languageButtonGroup.add(cbMenuItem);
+               actionMenu.add(cbMenuItem);
+
+               cbMenuItem = new JRadioButtonMenuItem(new 
ChangeLanguageAction("English", "en"));
+               languageButtonGroup.add(cbMenuItem);
+               actionMenu.add(cbMenuItem);
+               actionMenu.addSeparator();
+
+               actionMenu.add(new JMenuItem(new LoadGadgetsAction()));
+               actionMenu.addSeparator();
+
                actionMenu.add(new JMenuItem(new ShutdownAction()));
+
                frame.setJMenuBar(bar);
                frame.setVisible(true);
                // Verrrrry important, this hooks assert for us that all 
external
@@ -220,10 +278,10 @@
                Runtime.getRuntime().addShutdownHook(new ShutdownHandler());
                // This is a fake gadget creation as we don't use 
auto-deployer. Easier
                // to test gadget API
-               console.append("Fake Control Manager Started");
                container = new GadgetsContainer();
                // Create CC message box and listen to Gadgets and Container 
events
                container.addListener(new GadgetsContainerObserver());
+               GadgetsContainer.setLocale("fr", "julie", "france", 100);
        }
 
        private void stop() {
@@ -231,52 +289,65 @@
                container.shutdown();
        }
 
-       public void testGadget(File workingPath, Class<?> gadgetClass, File... 
classPath) {
+       @Override
+       protected void run() throws GadgetsContainerException {
                startContainer();
-               List<Gadget> gadgets = null;
-               try {
-                       gadgets = container.buildGadgets(new File(workingPath, 
"gadgets.xml"));
-               } catch (GadgetsContainerException e) {
-                       throw new ApplicationError(e);
-               }
-               for (Gadget gadget : gadgets) {
-                       if 
(gadget.getInterpreter().getExecutable().equals(gadgetClass.getName())) {
-                               for (File file : classPath) {
-                                       ((GadgetJavaInterpreter) 
gadget.getInterpreter()).getLibraries().add(file);
-                               }
-                               try {
-                                       gadget.setLocale("en", "locutus", "fr", 
200);
-                                       container.addGadget(workingPath, 
gadget);
-                               } catch (GadgetsContainerException e) {
-                                       console.append("Error : " + 
e.getMessage());
-                               }
+               Handler consoleHandler = new Handler() {
+
+                       @Override
+                       public void close() throws SecurityException {
+                               // TODO Auto-generated method stub
+
                        }
+
+                       @Override
+                       public void flush() {
+                               // TODO Auto-generated method stub
+
+                       }
+
+                       @Override
+                       public void publish(LogRecord record) {
+                               console.append(record.getMessage());
+                       }
+               };
+               for (Handler handler : Logger.getLogger("").getHandlers()) {
+                       Logger.getLogger("").removeHandler(handler);
                }
-       }
-
-       @Override
-       protected void run() throws GadgetsContainerException {
-               startContainer();
+               Logger.getLogger("").addHandler(consoleHandler);
                if (getConfiguration().getMode() == GadgetTesterMode.container) 
{
-                       logger.info("Using 'container' mode");
                        container.addAutoDeployer(getConfiguration().getPath(), 
getConfiguration().getDeployementPath());
+                       logger.info("Gadget tester switched to 'container' 
mode...");
                } else if (getConfiguration().getMode() == 
GadgetTesterMode.gadget) {
-                       logger.info("Using 'gadget' mode");
-                       container.loadGadgets(getConfiguration().getPath());
-                       if (getConfiguration().getPath().listFiles().length < 
1) {
-                               JFileChooser chooser = new JFileChooser();
-                               chooser.setDialogTitle("Select unziped gadget 
directory.");
-                               
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
-                               int option = chooser.showOpenDialog(null);
-                               if (option == JFileChooser.APPROVE_OPTION) {
-                                       File newPath = 
chooser.getSelectedFile();
-                                       if (newPath.exists()) {
-                                               
getConfiguration().setPath(newPath);
-                                               container.loadGadgets(newPath);
-                                       }
+                       loadGadgets();
+                       logger.info("Gadget tester switched to 'gadget' 
mode...");
+               }
+       }
+
+       private void loadGadgets() throws GadgetsContainerException {
+               if (getConfiguration().getPath().listFiles().length < 1) {
+                       JFileChooser chooser = new JFileChooser();
+                       chooser.setDialogTitle("Select unziped gadget 
directory.");
+                       
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+                       int option = chooser.showOpenDialog(null);
+                       if (option == JFileChooser.APPROVE_OPTION) {
+                               File newPath = chooser.getSelectedFile();
+                               if (newPath.exists()) {
+                                       getConfiguration().setPath(newPath);
                                }
                        }
                }
-
+               logger.info("Using gadget path : " + 
getConfiguration().getPath());
+               container.loadGadgets(getConfiguration().getPath());
+               if (getConfiguration().getClasspath() != null) {
+                       String[] libs = 
getConfiguration().getClasspath().split(File.pathSeparatorChar + "");
+                       for (String lib : libs) {
+                               File workspace = Files.cannonical(new 
File(getConfiguration().getPath(), lib));
+                               logger.info("Inserting class path item : " + 
workspace);
+                               for (Gadget gadget : container.getGadgets()) {
+                                       ((GadgetJavaInterpreter) 
gadget.getInterpreter()).getLibraries().insertElementAt(Files.cannonical(workspace),
 0);
+                               }
+                       }
+               }
        }
 }
\ No newline at end of file

Modified: 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTesterConfiguration.java
===================================================================
--- 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTesterConfiguration.java
      2008-08-31 11:18:12 UTC (rev 1669)
+++ 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/com/kysoh/tuxdroid/gadget/framework/tester/GadgetTesterConfiguration.java
      2008-08-31 11:21:57 UTC (rev 1670)
@@ -47,7 +47,24 @@
 
        public File path = new File("./work");
 
+       public String classpath = null;
+
        /**
+        * @return the classpath
+        */
+       public String getClasspath() {
+               return classpath;
+       }
+
+       /**
+        * @param classpath
+        *            the classpath to set
+        */
+       public void setClasspath(String classpath) {
+               this.classpath = classpath;
+       }
+
+       /**
         * @return the workingPath
         */
        @BeanDescription("In 'container' mode, this is the working path. In 
'gadget' mode this is the path where the deployed gadget can be found'")

Added: 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/logging.properties
===================================================================
--- 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/logging.properties
                             (rev 0)
+++ 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/logging.properties
     2008-08-31 11:21:57 UTC (rev 1670)
@@ -0,0 +1,19 @@
+handlers = net.karmaLab.traces.TracesHandler
+ 
+net.karmaLab.traces.TracesHandler.formatter = 
net.karmaLab.traces.TracesFormater
+net.karmaLab.traces.TracesHandler.level = ALL
+
+#java.util.logging.FileHandler.formatter=net.karmaLab.traces.TracesFormater
+#java.util.logging.FileHandler.level=ALL
+#java.util.logging.FileHandler.pattern=../t/t.log
+#java.util.logging.FileHandler.count=1
+
+.level = INFO
+net.karmaLab.beans.level=INFO
+net.karmaLab.xml.level=INFO
+net.karmaLab.messaging.level=INFO
+net.karmaLab.thread.level=INFO
+net.karmaLab.shell.level=INFO
+net.karmaLab.tuxDroid.gadgets.framework.level=INFO
+net.karmaLab.xml.feed.parsers.level=INFO
+net.karmaLab.po.level=ALL


Property changes on: 
software_suite_v2/software/tools/tuxdroid-gadget-tester/trunk/tuxdroid-gadget-tester/sources/logging.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to