Revision: 5506 http://jnode.svn.sourceforge.net/jnode/?rev=5506&view=rev Author: crawley Date: 2009-05-23 08:13:03 +0000 (Sat, 23 May 2009)
Log Message: ----------- Fixing compiler warnings Modified Paths: -------------- trunk/builder/src/builder/org/jnode/build/documentation/PluginDocumentationTask.java trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java trunk/builder/src/builder/org/jnode/jnasm/assembler/Assembler.java trunk/builder/src/builder/org/jnode/jnasm/assembler/PseudoInstructions.java trunk/builder/src/builder/org/jnode/jnasm/preprocessor/Preprocessor.java trunk/builder/src/builder/org/jnode/linker/Section.java trunk/builder/src/builder/org/jnode/linker/StrTab.java trunk/builder/src/builder/org/jnode/pluginlist/Main.java trunk/builder/src/builder/org/jnode/pluginlist/Plugin.java trunk/builder/src/builder/org/jnode/pluginlist/PluginList.java trunk/builder/src/builder/org/jnode/pluginlist/PluginListEditor.java trunk/builder/src/builder/org/jnode/pluginlist/PluginNode.java trunk/builder/src/builder/org/jnode/pluginlist/PluginTreePane.java trunk/builder/src/builder/org/jnode/pluginlist/Project.java trunk/builder/src/builder/org/jnode/pluginlist/ProjectNode.java trunk/builder/src/builder/org/jnode/pluginlist/RootNode.java trunk/builder/src/configure/org/jnode/configure/ScriptParser.java Modified: trunk/builder/src/builder/org/jnode/build/documentation/PluginDocumentationTask.java =================================================================== --- trunk/builder/src/builder/org/jnode/build/documentation/PluginDocumentationTask.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/build/documentation/PluginDocumentationTask.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -514,9 +514,6 @@ } if (descr.getRuntime() != null) { - final String lib = "Library"; - final String exports = "Exports packages"; - addSummaryTableHdr(out, "Libraries"); for (Library library : descr.getRuntime().getLibraries()) { final String libName = library.getName(); Modified: trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java =================================================================== --- trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -249,7 +249,7 @@ try { int startLength = os.getLength(); - VmType vmCodeClass = loadClass(VmMethodCode.class); + VmType<?> vmCodeClass = loadClass(VmMethodCode.class); final X86BinaryAssembler.ObjectInfo initObject = os .startObject(vmCodeClass); final int offset = os.getLength() - startLength; @@ -311,11 +311,11 @@ NativeStream.ObjectRef refJava; /* Link VmMethod_compile */ - VmType vmMethodClass = loadClass(VmMethod.class); + VmType<?> vmMethodClass = loadClass(VmMethod.class); refJava = os.getObjectRef(vmMethodClass.getMethod("recompile", "()V")); os.getObjectRef(new Label("VmMethod_recompile")).link(refJava); - final VmType vmThreadClass = loadClass(VmThread.class); + final VmType<?> vmThreadClass = loadClass(VmThread.class); /* Link VmThread_systemException */ refJava = os.getObjectRef(vmThreadClass.getMethod("systemException", @@ -328,7 +328,7 @@ os.getObjectRef(vmThreadRunThread).link(refJava); /* Link VmProcessor_reschedule */ - VmType vmProcClass = loadClass(VmProcessor.class); + VmType<?> vmProcClass = loadClass(VmProcessor.class); refJava = os.getObjectRef(vmProcClass.getMethod("reschedule", "()V")); os.getObjectRef(vmReschedule).link(refJava); @@ -337,7 +337,7 @@ os.getObjectRef(vmCurProcessor).link(refJava); /* Set statics index of VmSystem_currentTimeMillis */ - final VmType vmSystemClass = loadClass(VmSystem.class); + final VmType<?> vmSystemClass = loadClass(VmSystem.class); final int staticsIdx = ((VmStaticField) vmSystemClass .getField("currentTimeMillis")).getSharedStaticsIndex(); final X86BinaryAssembler os86 = (X86BinaryAssembler) os; @@ -370,7 +370,7 @@ os.getObjectRef(new Label("bootHeapEnd")).link(refJava); // Link VmX86Processor_applicationProcessorMain - final VmType x86ProcessorClass = loadClass(VmX86Processor.class); + final VmType<?> x86ProcessorClass = loadClass(VmX86Processor.class); refJava = os.getObjectRef(x86ProcessorClass.getMethod( "applicationProcessorMain", "()V")); os.getObjectRef(new Label("VmX86Processor_applicationProcessorMain")) @@ -392,8 +392,8 @@ */ protected void initCallMain(X86BinaryAssembler os) throws BuildException, ClassNotFoundException { - final VmType vmMethodClass = loadClass(VmMethod.class); - final VmType vmMainClass = loadClass(Main.class); + final VmType<?> vmMethodClass = loadClass(VmMethod.class); + final VmType<?> vmMainClass = loadClass(Main.class); final VmMethod mainMethod = vmMainClass.getMethod( Main.MAIN_METHOD_NAME, Main.MAIN_METHOD_SIGNATURE); final VmInstanceField nativeCodeField = (VmInstanceField) vmMethodClass @@ -415,12 +415,12 @@ */ protected void initVmThread(X86BinaryAssembler os) throws BuildException, ClassNotFoundException { - final VmType vmThreadClass = loadClass(VmThread.class); + final VmType<?> vmThreadClass = loadClass(VmThread.class); final VmInstanceField threadStackField = (VmInstanceField) vmThreadClass .getField("stack"); final VmInstanceField threadStackEndField = (VmInstanceField) vmThreadClass .getField("stackEnd"); - final VmType vmProcessorClass = loadClass(VmProcessor.class); + final VmType<?> vmProcessorClass = loadClass(VmProcessor.class); final VmInstanceField procStackEndField = (VmInstanceField) vmProcessorClass .getField("stackEnd"); final VmThread initialThread = processor.getCurrentThread(); @@ -485,7 +485,7 @@ protected void initVm(X86BinaryAssembler os, Vm vm) throws BuildException, ClassNotFoundException { os.setObjectRef(new Label("$$Initialize Vm")); - VmType vmClass = loadClass(Vm.class); + VmType<?> vmClass = loadClass(Vm.class); VmStaticField vmField = (VmStaticField) vmClass.getField("instance"); final GPR abx = os.isCode32() ? (GPR) X86Register.EBX : X86Register.RBX; @@ -514,7 +514,7 @@ protected void initMain(X86BinaryAssembler os, PluginRegistry registry) throws BuildException, ClassNotFoundException { os.setObjectRef(new Label("$$Initialize Main")); - final VmType mainClass = loadClass(Main.class); + final VmType<?> mainClass = loadClass(Main.class); final VmStaticField registryField = (VmStaticField) mainClass .getField(Main.REGISTRY_FIELD_NAME); @@ -534,7 +534,7 @@ } protected void emitStaticInitializerCalls(NativeStream nativeOs, - VmType[] bootClasses, Object clInitCaller) + VmType<?>[] bootClasses, Object clInitCaller) throws ClassNotFoundException { final X86BinaryAssembler os = (X86BinaryAssembler) nativeOs; @@ -544,10 +544,10 @@ os.setObjectRef(clInitCaller); // Call VmClass.loadFromBootClassArray - final VmType vmClassClass = loadClass(VmType.class); + final VmType<?> vmClassClass = loadClass(VmType.class); final VmMethod lfbcaMethod = vmClassClass.getMethod( "loadFromBootClassArray", "([Lorg/jnode/vm/classmgr/VmType;)V"); - final VmType vmMethodClass = loadClass(VmMethod.class); + final VmType<?> vmMethodClass = loadClass(VmMethod.class); final VmInstanceField nativeCodeField = (VmInstanceField) vmMethodClass .getField("nativeCode"); @@ -562,9 +562,9 @@ // Now call all static initializers for (int i = 0; (i < bootClasses.length); i++) { - VmType vmClass = bootClasses[i]; + VmType<?> vmClass = bootClasses[i]; if ((vmClass instanceof VmClassType) - && (((VmClassType) vmClass).getInstanceCount() > 0)) { + && (((VmClassType<?>) vmClass).getInstanceCount() > 0)) { VmMethod clInit = vmClass.getMethod("<clinit>", "()V"); if (clInit != null) { // os.setObjectRef(clInitCaller + "$$" + vmClass.getName()); @@ -616,9 +616,13 @@ private static final int MB_BSS_END_ADDR = 6 * 4; + @SuppressWarnings("unused") private static final int MODE_TYPE = 8 * 4; + @SuppressWarnings("unused") private static final int WIDTH = 9 * 4; + @SuppressWarnings("unused") private static final int HEIGHT = 10 * 4; + @SuppressWarnings("unused") private static final int DEPTH = 11 * 4; /** Modified: trunk/builder/src/builder/org/jnode/jnasm/assembler/Assembler.java =================================================================== --- trunk/builder/src/builder/org/jnode/jnasm/assembler/Assembler.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/jnasm/assembler/Assembler.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -56,8 +56,8 @@ public static Assembler newInstance(InputStream in) { try { - Class clazz = Class.forName(PARSER_CLASS); - Constructor cons = clazz.getConstructor(new Class[]{InputStream.class}); + Class<?> clazz = Class.forName(PARSER_CLASS); + Constructor<?> cons = clazz.getConstructor(new Class[]{InputStream.class}); return (Assembler) cons.newInstance(new Object[]{in}); } catch (Exception e) { throw new RuntimeException(e); @@ -66,8 +66,8 @@ public static Assembler newInstance(Reader reader) { try { - Class clazz = Class.forName("org.jnode.jnasm.assembler.gen.JNAsm"); - Constructor cons = clazz.getConstructor(new Class[]{Reader.class}); + Class<?> clazz = Class.forName("org.jnode.jnasm.assembler.gen.JNAsm"); + Constructor<?> cons = clazz.getConstructor(new Class[]{Reader.class}); return (Assembler) cons.newInstance(new Object[]{reader}); } catch (Exception e) { throw new RuntimeException(e); @@ -197,6 +197,8 @@ } public static class UndefinedConstantException extends RuntimeException { + + private static final long serialVersionUID = 1L; private String constant; public UndefinedConstantException(String constant) { Modified: trunk/builder/src/builder/org/jnode/jnasm/assembler/PseudoInstructions.java =================================================================== --- trunk/builder/src/builder/org/jnode/jnasm/assembler/PseudoInstructions.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/jnasm/assembler/PseudoInstructions.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -30,6 +30,7 @@ */ public class PseudoInstructions extends AssemblerModule { protected static final Map<String, Integer> INSTRUCTION_MAP; + @SuppressWarnings("unused") private static final String[] MNEMONICS; public static final int BITS_ISN = 0; public static final int DB_ISN = BITS_ISN + 1; Modified: trunk/builder/src/builder/org/jnode/jnasm/preprocessor/Preprocessor.java =================================================================== --- trunk/builder/src/builder/org/jnode/jnasm/preprocessor/Preprocessor.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/jnasm/preprocessor/Preprocessor.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -43,9 +43,9 @@ public abstract class Preprocessor { private static final String PARSER_CLASS = "org.jnode.jnasm.preprocessor.gen.JNAsmPP"; private static FileResolver fileResolver; - protected static HashMap multiMacros = new HashMap(); - protected static HashMap singleMacros = new HashMap(); - protected static HashSet localLabels = new HashSet(); + protected static HashMap<String, Macro> multiMacros = new HashMap<String, Macro>(); + protected static HashMap<String, String> singleMacros = new HashMap<String, String>(); + protected static HashSet<String> localLabels = new HashSet<String>(); protected boolean substitute = true; public static void main(String[] argv) throws Exception { @@ -72,8 +72,8 @@ public static Preprocessor newInstance(InputStream in) { try { - Class clazz = Class.forName(PARSER_CLASS); - Constructor cons = clazz.getConstructor(new Class[]{InputStream.class}); + Class<?> clazz = Class.forName(PARSER_CLASS); + Constructor<?> cons = clazz.getConstructor(new Class[]{InputStream.class}); Preprocessor preprocessor = (Preprocessor) cons.newInstance(new Object[]{in}); return preprocessor; } catch (Exception e) { @@ -83,8 +83,8 @@ public static Preprocessor newInstance(Reader reader) { try { - Class clazz = Class.forName(PARSER_CLASS); - Constructor cons = clazz.getConstructor(new Class[]{Reader.class}); + Class<?> clazz = Class.forName(PARSER_CLASS); + Constructor<?> cons = clazz.getConstructor(new Class[]{Reader.class}); Preprocessor preprocessor = (Preprocessor) cons.newInstance(new Object[]{reader}); return preprocessor; } catch (Exception e) { @@ -126,7 +126,7 @@ } public void setFileResolver(FileResolver fileResolver) { - this.fileResolver = fileResolver; + Preprocessor.fileResolver = fileResolver; } public void defineSymbol(String name, String definition) { Modified: trunk/builder/src/builder/org/jnode/linker/Section.java =================================================================== --- trunk/builder/src/builder/org/jnode/linker/Section.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/linker/Section.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -105,10 +105,10 @@ byte[] m_body; - Vector m_symtab; + Vector<Symbol> m_symtab; // char[] m_strtab; - Vector m_reltab; + Vector<Reloc> m_reltab; private StrTab strTab; @@ -116,8 +116,8 @@ this.elf = elf; this.sh_type = type; this.sh_flags = flags; - m_symtab = new Vector(); - m_reltab = new Vector(); + m_symtab = new Vector<Symbol>(); + m_reltab = new Vector<Reloc>(); strTab = new StrTab(); if (name != null) { Section shstr = elf.getSHStrSection(); @@ -419,7 +419,7 @@ ByteArrayInputStream in = new ByteArrayInputStream(m_body); long cnt = (sh_size == 0) ? 0 : (sh_size / sh_entsize); - m_symtab = new Vector(); + m_symtab = new Vector<Symbol>(); for (long i = 0; i < cnt; i++) { m_symtab.addElement(new Symbol(elf, in)); } @@ -447,7 +447,7 @@ ByteArrayInputStream in = new ByteArrayInputStream(m_body); long cnt = (sh_size == 0) ? 0 : (sh_size / sh_entsize); - m_reltab = new Vector(); + m_reltab = new Vector<Reloc>(); for (long i = 0; i < cnt; i++) { m_reltab.addElement(new Reloc(elf, in)); } @@ -461,7 +461,7 @@ final ByteArrayInputStream in = new ByteArrayInputStream(m_body); final long cnt = (sh_size == 0) ? 0 : (sh_size / sh_entsize); - m_reltab = new Vector(); + m_reltab = new Vector<Reloc>(); for (long i = 0; i < cnt; i++) { m_reltab.addElement(new Reloca(elf, in)); } Modified: trunk/builder/src/builder/org/jnode/linker/StrTab.java =================================================================== --- trunk/builder/src/builder/org/jnode/linker/StrTab.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/linker/StrTab.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -21,7 +21,7 @@ package org.jnode.linker; import java.util.HashMap; -import java.util.Iterator; +import java.util.Map; /** * @author epr @@ -31,11 +31,11 @@ /** * (String, Index)*. */ - private final HashMap str2addr = new HashMap(); + private final HashMap<String, Integer> str2addr = new HashMap<String, Integer>(); /** * (Index, String)*. */ - private final HashMap addr2str = new HashMap(); + private final HashMap<Integer, String> addr2str = new HashMap<Integer, String>(); private int maxIndex; /** @@ -110,10 +110,9 @@ */ public byte[] toByteArray() { final byte[] data = new byte[maxIndex]; - for (Iterator i = addr2str.keySet().iterator(); i.hasNext();) { - final Integer index = (Integer) i.next(); - final String str = (String) addr2str.get(index); - final int addr = index.intValue(); + for (Map.Entry<Integer, String> entry : addr2str.entrySet()) { + final String str = entry.getValue(); + final int addr = entry.getKey().intValue(); for (int k = 0; k < str.length(); k++) { data[addr + k] = (byte) str.charAt(k); } Modified: trunk/builder/src/builder/org/jnode/pluginlist/Main.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/Main.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/Main.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -149,7 +149,7 @@ public static Plugin readPlugin(Reader in) throws Exception { - final XMLElement root = new XMLElement(new Hashtable(), true, false); + final XMLElement root = new XMLElement(new Hashtable<Object, Object>(), true, false); root.parseFromReader(in); String rname = root.getName(); if (rname.equals("plugin") || rname.equals("fragment")) { Modified: trunk/builder/src/builder/org/jnode/pluginlist/Plugin.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/Plugin.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/Plugin.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -8,7 +8,7 @@ /** * */ -class Plugin implements Comparable { +class Plugin implements Comparable<Object> { private String id; private boolean system; private Set<Plugin> required = new HashSet<Plugin>(); Modified: trunk/builder/src/builder/org/jnode/pluginlist/PluginList.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/PluginList.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/PluginList.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -35,7 +35,7 @@ void read(Reader in) throws Exception { - final XMLElement root = new XMLElement(new Hashtable(), true, false); + final XMLElement root = new XMLElement(new Hashtable<Object, Object>(), true, false); root.parseFromReader(in); String rname = root.getName(); if (rname.equals("plugin-list")) { Modified: trunk/builder/src/builder/org/jnode/pluginlist/PluginListEditor.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/PluginListEditor.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/PluginListEditor.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -194,7 +194,7 @@ Set<Plugin> moved = repository.deselect(plugins); DefaultMutableTreeNode root = (DefaultMutableTreeNode) rightPane.tree.getModel().getRoot(); - Enumeration en = root.breadthFirstEnumeration(); + Enumeration<?> en = root.breadthFirstEnumeration(); while (en.hasMoreElements()) { DefaultMutableTreeNode nod = (DefaultMutableTreeNode) en.nextElement(); if (moved.contains(nod.getUserObject())) { @@ -237,7 +237,7 @@ Set<Plugin> moved = repository.select(plugins); DefaultMutableTreeNode root = (DefaultMutableTreeNode) leftPane.tree.getModel().getRoot(); - Enumeration en = root.breadthFirstEnumeration(); + Enumeration<?> en = root.breadthFirstEnumeration(); while (en.hasMoreElements()) { DefaultMutableTreeNode nod = (DefaultMutableTreeNode) en.nextElement(); if (moved.contains(nod.getUserObject())) { Modified: trunk/builder/src/builder/org/jnode/pluginlist/PluginNode.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/PluginNode.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/PluginNode.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -6,6 +6,9 @@ * */ class PluginNode extends DefaultMutableTreeNode implements Syncable { + + private static final long serialVersionUID = 1L; + public PluginNode(Plugin p) { super(p); } Modified: trunk/builder/src/builder/org/jnode/pluginlist/PluginTreePane.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/PluginTreePane.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/PluginTreePane.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -12,10 +12,13 @@ * */ class PluginTreePane extends JPanel { + + private static final long serialVersionUID = 1L; JTree tree; PluginTreePane(final PluginListModel model) { tree = new JTree(new RootNode(model)) { + private static final long serialVersionUID = 1L; @Override public String getToolTipText(MouseEvent event) { TreePath path = tree.getClosestPathForLocation(event.getX(), event.getY()); Modified: trunk/builder/src/builder/org/jnode/pluginlist/Project.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/Project.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/Project.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -7,7 +7,7 @@ /** * */ -class Project implements Comparable { +class Project implements Comparable<Object> { private String name; private List<Plugin> pluginList = new ArrayList<Plugin>(); Modified: trunk/builder/src/builder/org/jnode/pluginlist/ProjectNode.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/ProjectNode.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/ProjectNode.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -6,6 +6,7 @@ * */ class ProjectNode extends DefaultMutableTreeNode implements Syncable { + private static final long serialVersionUID = 1L; public ProjectNode(Project project) { super(project); for (Plugin p : project.plugins()) Modified: trunk/builder/src/builder/org/jnode/pluginlist/RootNode.java =================================================================== --- trunk/builder/src/builder/org/jnode/pluginlist/RootNode.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/builder/org/jnode/pluginlist/RootNode.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -6,6 +6,7 @@ * */ class RootNode extends DefaultMutableTreeNode implements Syncable { + private static final long serialVersionUID = 1L; public RootNode(PluginListModel model) { super(model); for (int i = 0; i < model.size(); i++) Modified: trunk/builder/src/configure/org/jnode/configure/ScriptParser.java =================================================================== --- trunk/builder/src/configure/org/jnode/configure/ScriptParser.java 2009-05-23 07:10:47 UTC (rev 5505) +++ trunk/builder/src/configure/org/jnode/configure/ScriptParser.java 2009-05-23 08:13:03 UTC (rev 5506) @@ -83,15 +83,6 @@ public static final Pattern NAME_PATTERN = Pattern.compile("[a-zA-Z0-9.\\-_]+"); private static final Pattern LINE_SPLITTER_PATTERN = Pattern.compile("\r\n|\r(?!\n)|\n"); - private static final String TAB_SPACES; - - static { - StringBuffer sb = new StringBuffer(Configure.TAB_WIDTH); - for (int i = 0; i < Configure.TAB_WIDTH; i++) { - sb.append(' '); - } - TAB_SPACES = sb.toString(); - } public static class ParseContext { private final File file; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ Jnode-svn-commits mailing list Jnode-svn-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jnode-svn-commits