[CVS nano] unending!
Paul Hammant <paul-yCVjj/[email protected]> Mon, 17 Nov 2003 16:10:32 -0600
| Newsgroups | gmane.comp.java.nanocontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit in nano on MAIN picoidea/src/java/org/picoextras/idea/picocontainer.gif [binary] added 1.1 integrationkit/src/java/org/nanocontainer/integrationkit/ContainerAssembler.java -20 1.1 removed /ContainerBuilder.java -35 1.1 removed /DefaultLifecycleContainerBuilder.java -63 1.2 removed /ObjectReference.java -23 1.1 removed picoidea/src/java/org/picocontainer/idea/ActionID.java -10 1.2 removed /ExecutePicoAction.java -16 1.1 removed /PicoPlugin.java -82 1.1 removed /PicoToggleAction.java -112 1.2 removed /picocontainer.gif [binary] 1.1 removed rhino/src/java/org/nanocontainer/rhino/DefaultNanoRhinoScriptable.java -97 1.6 removed /NanoRhinoManager.java -54 1.3 removed /NanoRhinoScriptable.java -18 1.1 removed /NanoRhinoScriptableHolder.java -17 1.1 removed -547 1 added + 13 removed, total 14 files unending! ---------- nano /integrationkit /src /java /org /nanocontainer /integrationkit ContainerAssembler.java removed after 1.1 diff -N ContainerAssembler.java --- ContainerAssembler.java 29 Oct 2003 14:06:57 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,20 +0,0 @@ -/***************************************************************************** - * Copyright (C) NanoContainer Organization. All rights reserved. * - * ------------------------------------------------------------------------- * - * The software in this package is published under the terms of the BSD * - * style license a copy of which has been included with this distribution in * - * the LICENSE.txt file. * - * * - *****************************************************************************/ -package org.nanocontainer.integrationkit; - -import org.picocontainer.MutablePicoContainer; - -/** - * @author Joe Walnes <a href="mailto:[email protected]">Joe Walnes</a> - */ -public interface ContainerAssembler { - - void assembleContainer(MutablePicoContainer container, String name); - -} ---------- nano /integrationkit /src /java /org /nanocontainer /integrationkit ContainerBuilder.java removed after 1.1 diff -N ContainerBuilder.java --- ContainerBuilder.java 29 Oct 2003 14:06:57 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,35 +0,0 @@ -/***************************************************************************** - * Copyright (C) NanoContainer Organization. All rights reserved. * - * ------------------------------------------------------------------------- * - * The software in this package is published under the terms of the BSD * - * style license a copy of which has been included with this distribution in * - * the LICENSE.txt file. * - * * - *****************************************************************************/ -package org.nanocontainer.integrationkit; - -/** - * @author <a href="mailto:[email protected]">Joe Walnes</a> - */ -public interface ContainerBuilder { - - /** - * Create, assemble, init and start a new PicoContainer and store it - * at a given reference. - * - * @param containerRef Where to store the new container. - * @param parentContainerRef Parent container (may be null) - * @param assembler Strategy for assembling components in container. - * @param assemblyName Argument to be passed to ContainerAssembler. - */ - void buildContainer(ObjectReference containerRef, ObjectReference parentContainerRef, ContainerAssembler assembler, String assemblyName); - - /** - * Locate a container at the given reference so it can stopped, - * destroyed and removed. - * - * @param containerRef Where the container is stored. - */ - void killContainer(ObjectReference containerRef); - -} ---------- nano /integrationkit /src /java /org /nanocontainer /integrationkit DefaultLifecycleContainerBuilder.java removed after 1.2 diff -N DefaultLifecycleContainerBuilder.java --- DefaultLifecycleContainerBuilder.java 4 Nov 2003 18:14:36 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,63 +0,0 @@ -/***************************************************************************** - * Copyright (C) NanoContainer Organization. All rights reserved. * - * ------------------------------------------------------------------------- * - * The software in this package is published under the terms of the BSD * - * style license a copy of which has been included with this distribution in * - * the LICENSE.txt file. * - * * - *****************************************************************************/ -package org.nanocontainer.integrationkit; - -import org.picocontainer.MutablePicoContainer; -import org.picocontainer.extras.DefaultLifecyclePicoContainer; - -import java.util.Iterator; -import java.util.List; -import java.util.LinkedList; - -/** - * @author <a href="mailto:[email protected]">Joe Walnes</a> - */ -public class DefaultLifecycleContainerBuilder implements ContainerBuilder { - - public void buildContainer(ObjectReference containerRef, ObjectReference parentContainerRef, ContainerAssembler assembler, String assemblyName) { - - DefaultLifecyclePicoContainer container = new DefaultLifecyclePicoContainer(); - - if (parentContainerRef != null) { - MutablePicoContainer parent = (MutablePicoContainer) parentContainerRef.get(); - container.addParent(parent); - } - - try { - assembler.assembleContainer(container, assemblyName); - container.start(); - } catch (Exception e) { - throw new RuntimeException(e); // TODO: What should I throw? - } - - // hold on to it - containerRef.set(container); - - } - - public void killContainer(ObjectReference containerRef) { - try { - DefaultLifecyclePicoContainer container = (DefaultLifecyclePicoContainer) containerRef.get(); - container.stop(); - container.dispose(); - List parentsToRemove = new LinkedList(); // eww - for (Iterator iterator = container.getParentContainers().iterator(); iterator.hasNext();) { - parentsToRemove.add(iterator.next()); - } - for (Iterator iterator = parentsToRemove.iterator(); iterator.hasNext();) { - container.removeParent((MutablePicoContainer) iterator.next()); - } - } catch (Exception e) { - throw new RuntimeException("Cannot shutdown container", e); // todo: what should i throw? - } finally { - containerRef.set(null); - } - } - -} ---------- nano /integrationkit /src /java /org /nanocontainer /integrationkit ObjectReference.java removed after 1.1 diff -N ObjectReference.java --- ObjectReference.java 29 Oct 2003 14:06:57 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ -/***************************************************************************** - * Copyright (C) NanoContainer Organization. All rights reserved. * - * ------------------------------------------------------------------------- * - * The software in this package is published under the terms of the BSD * - * style license a copy of which has been included with this distribution in * - * the LICENSE.txt file. * - * * - *****************************************************************************/ -package org.nanocontainer.integrationkit; - -/** - * A way to refer to objects that are stored in awkward places - * (for example HttpSession or ThreadLocal). - * - * This is typically implemented by someone integrating Pico into - * an existing container. - * - * @author <a href="mailto:[email protected]">Joe Walnes</a> - */ -public interface ObjectReference { - Object get(); - void set(Object item); -} ---------- nano /picoidea /src /java /org /picocontainer /idea ActionID.java removed after 1.2 diff -N ActionID.java --- ActionID.java 16 Sep 2003 08:45:50 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,10 +0,0 @@ -package org.picocontainer.idea; -/** - * Common Action Ids. - */ -public interface ActionID { - public static final String MAIN_TOOLBAR = "MainToolBar"; - public static final String MAIN_MENU = "MainMenu"; - public static final String WINDOW_MENU = "WindowMenu"; - public static final String WINDOW_MENU_INSPECTION = "PicoContainer"; -} ---------- nano /picoidea /src /java /org /picocontainer /idea ExecutePicoAction.java removed after 1.1 diff -N ExecutePicoAction.java --- ExecutePicoAction.java 16 Sep 2003 08:45:50 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,16 +0,0 @@ -package org.picocontainer.idea; - -import com.intellij.openapi.actionSystem.AnAction; -import com.intellij.openapi.actionSystem.AnActionEvent; - -/** - * Action that executes XDoclet. - * - * @author <a href="mailto:aslak.hellesoy at bekk.no">Aslak Hellesøy</a> - * @version $Revision: 1.1 $ - */ -public class ExecutePicoAction extends AnAction { - public void actionPerformed(AnActionEvent event) { - System.out.println("Run Pico, Ruuuun!"); - } -} ---------- nano /picoidea /src /java /org /picocontainer /idea PicoPlugin.java removed after 1.1 diff -N PicoPlugin.java --- PicoPlugin.java 16 Sep 2003 08:45:50 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,82 +0,0 @@ -package org.picocontainer.idea; - -import com.intellij.openapi.actionSystem.ActionManager; -import com.intellij.openapi.actionSystem.Anchor; -import com.intellij.openapi.actionSystem.Constraints; -import com.intellij.openapi.actionSystem.DefaultActionGroup; -import com.intellij.openapi.components.ApplicationComponent; -import com.intellij.openapi.diagnostic.Logger; - -/** - * Main class for the PicoContainer Plugin for IDEA. - * - * @author Aslak Hellesøy - * @version $Revision: 1.1 $ - */ -public class PicoPlugin implements ApplicationComponent { - /** Logger */ - private static final Logger log = Logger.getInstance(PicoPlugin.class.getName()); - - private DefaultActionGroup spg; - private PicoToggleAction toggleAction; - - public PicoPlugin() { - toggleAction = new PicoToggleAction(); - spg = new DefaultActionGroup(); - spg.addSeparator(); - spg.add(toggleAction); - } - - /** - * Method is called after plugin is already created and configured. Plugin can start to communicate with - * other plugin only in this method. - */ - public void initComponent() { - final ActionManager actionManager = ActionManager.getInstance(); - // try register action - if (actionManager.getAction(PicoToggleAction.ID) == null) { - actionManager.registerAction(PicoToggleAction.ID, toggleAction); - } - - // add toggle icon into IntelliJ UI, add to MainToolbar - DefaultActionGroup mainToolBar = (DefaultActionGroup) actionManager.getAction(ActionID.MAIN_TOOLBAR); - if (mainToolBar != null) { - mainToolBar.add(spg); - } - else { - log.info("Can't find " + ActionID.MAIN_TOOLBAR + " group"); - } - - // add to menu "Window" - DefaultActionGroup menuWindow = (DefaultActionGroup) actionManager.getAction(ActionID.WINDOW_MENU); - if (menuWindow != null) { - menuWindow.add(toggleAction, new Constraints(Anchor.AFTER, ActionID.WINDOW_MENU_INSPECTION)); - } - else { - log.info("Can't find " + ActionID.WINDOW_MENU + " group"); - } - } - - public void disposeComponent() { - ActionManager actionManager = ActionManager.getInstance(); - // remove toggle icon from InteliJ UI - DefaultActionGroup mainToolBar = (DefaultActionGroup) actionManager.getAction(ActionID.MAIN_TOOLBAR); - if (mainToolBar != null) { - mainToolBar.remove(spg); - } - - DefaultActionGroup menuWindow = (DefaultActionGroup) actionManager.getAction(ActionID.WINDOW_MENU); - if (menuWindow != null) { - menuWindow.remove(toggleAction); - } - - toggleAction.clear(); - if (actionManager.getAction(PicoToggleAction.ID) != null) { - actionManager.unregisterAction(PicoToggleAction.ID); - } - } - - public String getComponentName() { - return PicoPlugin.class.getName(); - } -} ---------- nano /picoidea /src /java /org /picocontainer /idea PicoToggleAction.java removed after 1.2 diff -N PicoToggleAction.java --- PicoToggleAction.java 19 Sep 2003 22:59:47 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,112 +0,0 @@ -package org.picocontainer.idea; - -import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.DataConstants; -import com.intellij.openapi.actionSystem.ToggleAction; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.wm.ToolWindow; -import com.intellij.openapi.wm.ToolWindowAnchor; -import com.intellij.openapi.wm.ToolWindowManager; - -import javax.swing.*; -import java.util.*; - -import org.picocontainer.gui.swing.PicoGui; -import org.picocontainer.defaults.DefaultPicoContainer; - -/** - * Toggle action for XDoclet Build. - * - * @author <a href="mailto:mbo at jcs.be">Mathias Bogaert</a> - * @version $Revision: 1.2 $ - */ -public class PicoToggleAction extends ToggleAction { - public static final String ID = "PicoToggleAction"; - public static final String PICO_CONTAINER = "PicoContainer"; - // todo get from pico gui - private static final Icon ICON = new ImageIcon(PicoToggleAction.class.getResource("picocontainer.gif")); - - private Map consoles = new HashMap(); - private List managers = new ArrayList(); - - public boolean isSelected(AnActionEvent event) { - Project project = (Project) event.getDataContext().getData(DataConstants.PROJECT); - return project != null && consoles.get(project) != null; - } - - public void setSelected(AnActionEvent event, boolean isSelected) { - Project project = (Project) event.getDataContext().getData(DataConstants.PROJECT); - if (project != null) { - final ToolWindowManager manager = ToolWindowManager.getInstance(project); - ToolWindow console = (ToolWindow) consoles.get(project); - if (isSelected && console == null) { - PicoGui picoGui = new PicoGui(new DefaultPicoContainer()); - - // show window - manager.registerToolWindow(PICO_CONTAINER, - picoGui, - ToolWindowAnchor.RIGHT); - - console = manager.getToolWindow(PICO_CONTAINER); - - if (console != null) { - // Add manager to array to do unregister on finalize - managers.add(manager); - consoles.put(project, console); - console.setIcon(ICON); - console.show(null); - console.activate(null); - -// BeanContextSupportEx xdocletContainer = new BeanContextSupportEx(); -// XDoclet xdoclet = new XDoclet(); -// xdocletContainer.add(xdoclet); -// -// try { -// xdoclet.createPlugin("velocity"); -// xdoclet.createPlugin("jelly"); -// } -// catch (XDocletException e) { -// e.printStackTrace(); -// } -// -// // show window -// manager.registerToolWindow(PICO_CONTAINER, -// new BeanContextConfigurationPanel(xdocletContainer), -// ToolWindowAnchor.RIGHT); -// -// console = manager.getToolWindow(PICO_CONTAINER); -// -// if (console != null) { -// // Add manager to array to do unregister on finalize -// managers.add(manager); -// consoles.put(project, console); -// console.setIcon(ICON); -// console.show(null); -// console.activate(null); - } - } - else if (!isSelected && console != null) { - // Hide window - console.hide(null); - manager.unregisterToolWindow(PICO_CONTAINER); - managers.remove(manager); - consoles.remove(project); - } - } - } - - public PicoToggleAction() { - super(PICO_CONTAINER, "Show/Hide " + PICO_CONTAINER, ICON); - } - - public void clear() { - // unregister all created ToolWindows - Iterator iterator = managers.iterator(); - while (iterator.hasNext()) { - ToolWindowManager manager = (ToolWindowManager) iterator.next(); - manager.unregisterToolWindow(PICO_CONTAINER); - } - managers.clear(); - consoles.clear(); - } -} ---------- nano /rhino /src /java /org /nanocontainer /rhino DefaultNanoRhinoScriptable.java removed after 1.6 diff -N DefaultNanoRhinoScriptable.java --- DefaultNanoRhinoScriptable.java 17 Nov 2003 20:33:31 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,97 +0,0 @@ -/***************************************************************************** - * Copyright (C) NanoContainer Organization. All rights reserved. * - * ------------------------------------------------------------------------- * - * The software in this package is published under the terms of the BSD * - * style license a copy of which has been included with this distribution in * - * the LICENSE.txt file. * - * * - *****************************************************************************/ -package org.nanocontainer.rhino; - -import org.mozilla.javascript.Context; -import org.mozilla.javascript.Function; -import org.mozilla.javascript.NativeJavaObject; -import org.mozilla.javascript.Scriptable; -import org.mozilla.javascript.ScriptableObject; -import org.picocontainer.MutablePicoContainer; -import org.picocontainer.defaults.ComponentAdapterFactory; -import org.picocontainer.defaults.DefaultPicoContainer; -import org.picoextras.reflection.DefaultReflectionFrontEnd; -import org.picoextras.reflection.ReflectionFrontEnd; - -import java.io.File; -import java.io.IOException; - -public class DefaultNanoRhinoScriptable extends ScriptableObject implements NanoRhinoScriptable { - - private ReflectionFrontEnd reflectionFrontEnd; - - public MutablePicoContainer getPicoContainer() { - return reflectionFrontEnd.getPicoContainer(); - } - - public String getClassName() { - return "NanoRhinoScriptable"; - } - - public static Object jsConstructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) { - ReflectionFrontEnd reflectionFrontEnd = null; - if (args.length == 1) { - Object arg = ((NativeJavaObject) args[0]).unwrap(); - if (arg instanceof ComponentAdapterFactory) { - reflectionFrontEnd = new DefaultReflectionFrontEnd(new DefaultPicoContainer((ComponentAdapterFactory) arg)); - } else if (arg instanceof MutablePicoContainer) { - reflectionFrontEnd = new DefaultReflectionFrontEnd((MutablePicoContainer) arg); - } else if (arg instanceof ReflectionFrontEnd) { - reflectionFrontEnd = (ReflectionFrontEnd) arg; - } else { - throw new IllegalArgumentException("Argument passed in should be a ComponentAdaptorFactory or a MutablePicoContainer"); - } - } else { - reflectionFrontEnd = new DefaultReflectionFrontEnd(); - } - DefaultNanoRhinoScriptable rhino = new DefaultNanoRhinoScriptable(); - rhino.reflectionFrontEnd = reflectionFrontEnd; - return rhino; - } - - public static void jsFunction_addComponent(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws ClassNotFoundException { - DefaultNanoRhinoScriptable rhino = (DefaultNanoRhinoScriptable) thisObj; - if (args.length == 1) { - rhino.reflectionFrontEnd.registerComponentImplementation((String) args[0]); - } else if (args.length == 2) { - rhino.reflectionFrontEnd.registerComponent((String) args[0], (String) args[1]); - } - } - - public static void jsFunction_addComponentWithClassKey(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws ClassNotFoundException { - DefaultNanoRhinoScriptable rhino = (DefaultNanoRhinoScriptable) thisObj; - rhino.reflectionFrontEnd.registerComponentWithClassKey((String) args[0], (String) args[1]); - } - - public static void jsFunction_addComponentInstance(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws ClassNotFoundException { - DefaultNanoRhinoScriptable rhino = (DefaultNanoRhinoScriptable) thisObj; - MutablePicoContainer picoContainer = rhino.reflectionFrontEnd.getPicoContainer(); - picoContainer.registerComponentInstance(((NativeJavaObject) args[0]).unwrap()); - } - - public static void jsFunction_addContainer(Context cx, Scriptable thisObj, Object[] args, Function funObj) { - DefaultNanoRhinoScriptable parent = (DefaultNanoRhinoScriptable) thisObj; - DefaultNanoRhinoScriptable child = (DefaultNanoRhinoScriptable) args[0]; - MutablePicoContainer childContainer = child.reflectionFrontEnd.getPicoContainer(); - MutablePicoContainer parentContainer = parent.reflectionFrontEnd.getPicoContainer(); - parentContainer.addChild(childContainer); - } - - public static void jsFunction_addFileClassPathJar(Context cx, Scriptable thisObj, Object[] args, Function funObj) throws IOException { - DefaultNanoRhinoScriptable rhino = (DefaultNanoRhinoScriptable) thisObj; - ReflectionFrontEnd rfe = rhino.reflectionFrontEnd; - String path = (String) args[0]; - File file = new File(path); - if (!file.exists()) { - throw new IOException(file.getAbsolutePath() + " doesn't exist"); - } - rfe.addClassLoaderURL(file.toURL()); - } - -} ---------- nano /rhino /src /java /org /nanocontainer /rhino NanoRhinoManager.java removed after 1.3 diff -N NanoRhinoManager.java --- NanoRhinoManager.java 8 Nov 2003 12:13:37 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,54 +0,0 @@ -package org.nanocontainer.rhino; - -import org.mozilla.javascript.Context; -import org.mozilla.javascript.Scriptable; -import org.mozilla.javascript.JavaScriptException; -import org.mozilla.javascript.ScriptableObject; -import org.picocontainer.PicoCompositionException; -import org.picocontainer.PicoContainer; - -import java.io.Reader; -import java.io.IOException; - -public class NanoRhinoManager { - public PicoContainer execute(Class scriptableClass, Reader script) throws PicoCompositionException, IOException { - Context cx = Context.enter(); - Scriptable scriptable; - try { - scriptable = cx.initStandardObjects(null); - - defineClass(scriptable, scriptableClass); - - NanoRhinoScriptableHolder nanoHolder = new NanoRhinoScriptableHolder(); - Scriptable jsArgs = Context.toObject(nanoHolder, scriptable); - scriptable.put("nano", scriptable, jsArgs); - - cx.evaluateReader(scriptable, script, "<cmd>", 1, null); - - return nanoHolder.getNanoRhinoScriptable().getPicoContainer(); - - } catch (final JavaScriptException e) { - e.printStackTrace(); - throw new PicoCompositionException() { - public String getMessage() { - return "JavaScriptException : " + e.getMessage(); - } - }; - } finally { - Context.exit(); - } - - } - - private void defineClass(Scriptable scriptable, Class rhinoClass) throws PicoCompositionException { - try { - ScriptableObject.defineClass(scriptable, rhinoClass); - } catch (final Exception e) { - throw new PicoCompositionException() { - public String getMessage() { - return "JavaScriptException : " + e.getMessage(); - } - }; - } - } -} ---------- nano /rhino /src /java /org /nanocontainer /rhino NanoRhinoScriptable.java removed after 1.1 diff -N NanoRhinoScriptable.java --- NanoRhinoScriptable.java 25 Oct 2003 16:13:27 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,18 +0,0 @@ -/***************************************************************************** - * Copyright (C) NanoContainer Organization. All rights reserved. * - * ------------------------------------------------------------------------- * - * The software in this package is published under the terms of the BSD * - * style license a copy of which has been included with this distribution in * - * the LICENSE.txt file. * - * * - *****************************************************************************/ -package org.nanocontainer.rhino; - -import org.picocontainer.MutablePicoContainer; -import org.mozilla.javascript.Scriptable; - -public interface NanoRhinoScriptable extends Scriptable { - - MutablePicoContainer getPicoContainer(); - -} ---------- nano /rhino /src /java /org /nanocontainer /rhino NanoRhinoScriptableHolder.java removed after 1.1 diff -N NanoRhinoScriptableHolder.java --- NanoRhinoScriptableHolder.java 28 Oct 2003 19:27:32 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -package org.nanocontainer.rhino; - -public class NanoRhinoScriptableHolder { - - private NanoRhinoScriptable nanoRhinoScriptable; - - public NanoRhinoScriptable getNanoRhinoScriptable() { - return nanoRhinoScriptable; - } - - public void setNanoRhinoScriptable(NanoRhinoScriptable nanoRhinoScriptable) { - if (this.nanoRhinoScriptable == null) { - this.nanoRhinoScriptable = nanoRhinoScriptable; - } - } - -}