<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: Carlism's Code Snippets</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 08 Aug 2008 16:45:58 GMT</pubDate>
    <description>DZone Snippets: Carlism's Code Snippets</description>
    <item>
      <title>Dynamic Select Example</title>
      <link>http://snippets.dzone.com/posts/show/4297</link>
      <description>// Example of JavaScript to with with Select Options&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;html&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;	&lt;title&gt;test&lt;/title&gt;	&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;body id="test" onload=""&gt;&lt;br /&gt;	&lt;form&gt;&lt;br /&gt;		&lt;select id="lstStuff" multiple="multiple" onChange="lstStuff_OnChange()" size="6" style="width:200px;"&gt;&lt;br /&gt;			&lt;option&gt;item 1&lt;/option&gt;&lt;br /&gt;			&lt;option&gt;item 2&lt;/option&gt;&lt;br /&gt;			&lt;option&gt;item 3&lt;/option&gt;&lt;br /&gt;			&lt;option&gt;item 4&lt;/option&gt;&lt;br /&gt;			&lt;option&gt;item 5&lt;/option&gt;&lt;br /&gt;			&lt;option&gt;item 6&lt;/option&gt;			&lt;br /&gt;		&lt;/select&gt;	&lt;br /&gt;		&lt;br/&gt;&lt;br /&gt;		&lt;a href="javascript:selectAll('lstStuff', true);"&gt;all&lt;/a&gt;&lt;br /&gt;		&lt;a href="javascript:selectAll('lstStuff', false);"&gt;none&lt;/a&gt;&lt;br /&gt;		&lt;p/&gt;&lt;br /&gt;		&lt;select id="lstOtherStuff" multiple="multiple" size="6" style="width:200px;"&gt;&lt;br /&gt;		&lt;/select&gt;&lt;br /&gt;		&lt;br/&gt;&lt;br /&gt;		&lt;a href="javascript:selectAll('lstOtherStuff', true);"&gt;all&lt;/a&gt;&lt;br /&gt;		&lt;a href="javascript:selectAll('lstOtherStuff', false);"&gt;none&lt;/a&gt;&lt;br /&gt;	&lt;/form&gt;&lt;br /&gt;	&lt;script type="text/javascript" charset="utf-8"&gt;&lt;br /&gt;		var otherStuff = {&lt;br /&gt;			"item 1" : [ "subitem 1.1", "subitem 1.2", "subitem 1.3", "subitem 1.4" ],&lt;br /&gt;			"item 2" : [ "subitem 2.1", "subitem 2.2" ],&lt;br /&gt;			"item 4" : [ "subitem 4" ],&lt;br /&gt;			"item 6" : [ "subitem 6.1", "subitem 6.2" ]&lt;br /&gt;		};&lt;br /&gt;	&lt;/script&gt;&lt;br /&gt;	&lt;script type="text/javascript" charset="utf-8"&gt;&lt;br /&gt;		function selectAll(listName, selected) {&lt;br /&gt;			var listBox = document.getElementById(listName);&lt;br /&gt;			for(i=0; i&lt;listBox.length; i++) {&lt;br /&gt;				listBox.options[i].selected=selected;&lt;br /&gt;			}&lt;br /&gt;			if( listBox.onchange ) {&lt;br /&gt;				listBox.onchange();&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;		function lstStuff_OnChange() {&lt;br /&gt;			var listBox = document.getElementById("lstStuff");&lt;br /&gt;			var subListBox = document.getElementById("lstOtherStuff");&lt;br /&gt;			subListBox.options.length=0;&lt;br /&gt;			for(i=0; i&lt;listBox.length; i++) {&lt;br /&gt;				if( listBox.options[i].selected ) {&lt;br /&gt;					var key = listBox.options[i].text;&lt;br /&gt;					if(otherStuff[key]) {&lt;br /&gt;						for(j=0; j&lt;otherStuff[key].length; j++) {&lt;br /&gt;							subListBox.options.add(new Option(otherStuff[key][j],otherStuff[key][j]));&lt;br /&gt;						}&lt;br /&gt;					}&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;	&lt;/script&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 12 Jul 2007 15:54:24 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4297</guid>
      <author>carlism (Carl Leiby)</author>
    </item>
    <item>
      <title>Making a local hash based Context</title>
      <link>http://snippets.dzone.com/posts/show/3946</link>
      <description>// This may be total overkill, but I wanted to use a DataSource in a stand alone app.&lt;br /&gt;&lt;br /&gt;jndi.properties&lt;br /&gt;&lt;code&gt;&lt;br /&gt;java.naming.factory.initial=com.admin.model.naming.ContextFactory&lt;br /&gt;java.naming.provider.url=iiop://localhost:1050&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ContextFactory.java&lt;br /&gt;&lt;code&gt;&lt;br /&gt;package com.admin.model.naming;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;import javax.naming.Context;&lt;br /&gt;import javax.naming.NamingException;&lt;br /&gt;import javax.naming.spi.InitialContextFactory;&lt;br /&gt;public class ContextFactory implements InitialContextFactory {&lt;br /&gt;    public ContextFactory() {&lt;br /&gt;    }&lt;br /&gt;    public Context getInitialContext(Hashtable&lt;?, ?&gt; environment) throws NamingException {&lt;br /&gt;        ContextImpl ctx = (ContextImpl)ContextImpl.getInstance();&lt;br /&gt;        ctx.setEnvironment(environment);&lt;br /&gt;        return ctx;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ContextImpl.java&lt;br /&gt;&lt;code&gt;&lt;br /&gt;package com.admin.model.naming;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;import java.util.logging.Logger;&lt;br /&gt;import javax.naming.Binding;&lt;br /&gt;import javax.naming.CompositeName;&lt;br /&gt;import javax.naming.Context;&lt;br /&gt;import javax.naming.Name;&lt;br /&gt;import javax.naming.NameClassPair;&lt;br /&gt;import javax.naming.NameParser;&lt;br /&gt;import javax.naming.NamingEnumeration;&lt;br /&gt;import javax.naming.NamingException;&lt;br /&gt;public class ContextImpl implements Context {&lt;br /&gt;    private static Logger logger = Logger.getLogger(ContextImpl.class.getName());&lt;br /&gt;    private static ContextImpl instance = new ContextImpl();&lt;br /&gt;    private Hashtable environment;&lt;br /&gt;    private Hashtable&lt;Name, Object&gt; directory = new Hashtable();&lt;br /&gt;&lt;br /&gt;    private ContextImpl() {&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    static Context getInstance() {&lt;br /&gt;        return instance;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public Object lookup(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "lookup", name);&lt;br /&gt;        Object result = null;        &lt;br /&gt;        if(!directory.containsKey(name)) {&lt;br /&gt;            throw new NamingException("Naming directory does not contain entry for: " + name);&lt;br /&gt;        }&lt;br /&gt;        result = directory.get(name);&lt;br /&gt;        logger.exiting(getClass().getName(), "lookup", result);&lt;br /&gt;        return result;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Object lookup(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "lookup", name);&lt;br /&gt;        Object result = null;     &lt;br /&gt;        Name properName = new CompositeName(name);&lt;br /&gt;        if(!directory.containsKey(properName)) {&lt;br /&gt;            throw new NamingException("Naming directory does not contain entry for: " + properName);&lt;br /&gt;        }&lt;br /&gt;        result = directory.get(properName);&lt;br /&gt;        logger.exiting(getClass().getName(), "lookup", result);&lt;br /&gt;        return result;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void bind(Name name, Object obj) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "bind", new Object[]{name, obj});&lt;br /&gt;        if(directory.containsKey(name)) {&lt;br /&gt;            throw new NamingException("Naming directory already contains entry for: " + name);&lt;br /&gt;        }&lt;br /&gt;        directory.put(name, obj);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void bind(String name, Object obj) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "bind", new Object[]{name, obj});&lt;br /&gt;        Name properName = new CompositeName(name);&lt;br /&gt;        if(directory.containsKey(properName)) {&lt;br /&gt;            throw new NamingException("Naming directory already contains entry for: " + properName);&lt;br /&gt;        }&lt;br /&gt;        directory.put(properName, obj);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void rebind(Name name, Object obj) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "rebind", new Object[]{name, obj});&lt;br /&gt;        if(!directory.containsKey(name)) {&lt;br /&gt;            throw new NamingException("Naming directory does not contain entry for: " + name);&lt;br /&gt;        }&lt;br /&gt;        directory.put(name, obj);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void rebind(String name, Object obj) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "rebind", new Object[]{name, obj});&lt;br /&gt;        Name properName = new CompositeName(name);&lt;br /&gt;        if(!directory.containsKey(properName)) {&lt;br /&gt;            throw new NamingException("Naming directory does not contain entry for: " + properName);&lt;br /&gt;        }&lt;br /&gt;        directory.put(properName, obj);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void unbind(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "unbind", name);&lt;br /&gt;        if(!directory.containsKey(name)) {&lt;br /&gt;            throw new NamingException("Naming directory does not contain entry for: " + name);&lt;br /&gt;        }&lt;br /&gt;        directory.remove(name);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void unbind(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "unbind", name);&lt;br /&gt;        Name properName = new CompositeName(name);&lt;br /&gt;        if(!directory.containsKey(properName)) {&lt;br /&gt;            throw new NamingException("Naming directory does not contain entry for: " + properName);&lt;br /&gt;        }&lt;br /&gt;        directory.remove(properName);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void rename(Name oldName, Name newName) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "rename", new Object[]{oldName, newName});&lt;br /&gt;        Object obj = lookup(oldName);&lt;br /&gt;        unbind(oldName);&lt;br /&gt;        bind(newName, obj);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void rename(String oldName, String newName) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "rename", new Object[]{oldName, newName});&lt;br /&gt;        Object obj = lookup(oldName);&lt;br /&gt;        unbind(oldName);&lt;br /&gt;        bind(newName, obj);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public NamingEnumeration&lt;NameClassPair&gt; list(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "list", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public NamingEnumeration&lt;NameClassPair&gt; list(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "list", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public NamingEnumeration&lt;Binding&gt; listBindings(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "listBindings", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public NamingEnumeration&lt;Binding&gt; listBindings(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "listBindings", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void destroySubcontext(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "destroySubcontext", name);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void destroySubcontext(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "destroySubcontext", name);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Context createSubcontext(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "createSubcontext", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Context createSubcontext(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "createSubcontext", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Object lookupLink(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "lookupLink", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Object lookupLink(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "lookupLink", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public NameParser getNameParser(Name name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "getNameParser", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public NameParser getNameParser(String name) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "getNameParser", name);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Name composeName(Name name, Name prefix) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "composeName", new Object[]{name, prefix});&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String composeName(String name, String prefix) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "composeName", new Object[]{name, prefix});&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Object addToEnvironment(String propName, Object propVal) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "addToEnvironment", new Object[]{propName, propVal});&lt;br /&gt;        environment.put(propName, propVal);&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Object removeFromEnvironment(String propName) throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "removeFromEnvironment", propName);&lt;br /&gt;        Object result = environment.get(propName);&lt;br /&gt;        environment.remove(propName);&lt;br /&gt;        return result;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Hashtable getEnvironment() throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "getEnvironment");&lt;br /&gt;        return environment;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    void setEnvironment(Hashtable env) {&lt;br /&gt;        environment = env;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void close() throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "close");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getNameInNamespace() throws NamingException {&lt;br /&gt;        logger.entering(getClass().getName(), "getNameInNamespace");&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;usage&lt;br /&gt;&lt;code&gt;&lt;br /&gt;InitialContext ctx = new InitialContext();&lt;br /&gt;ctx.bind("DataSource", ds);&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 02 May 2007 12:27:50 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3946</guid>
      <author>carlism (Carl Leiby)</author>
    </item>
    <item>
      <title>Loading an xml properties file</title>
      <link>http://snippets.dzone.com/posts/show/3945</link>
      <description>// simple example of loading an xml file into Properties.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Properties properties = new Properties();&lt;br /&gt;try {&lt;br /&gt;    InputStream xmlStream = getClass().getResourceAsStream("properties.xml");&lt;br /&gt;    if( xmlStream == null ) {&lt;br /&gt;         //throw some error&lt;br /&gt;    }            &lt;br /&gt;    properties.loadFromXML(xmlStream);&lt;br /&gt;} catch (IOException exception) {&lt;br /&gt;    // throw exception&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"&gt;&lt;br /&gt;&lt;properties&gt;&lt;br /&gt;    &lt;entry key="plugin.TestPlugin"&gt;com.plugin.test.TestPluginModule&lt;/entry&gt;&lt;br /&gt;    &lt;entry key="messages.TestPlugin"&gt;TestPluginMessages.properties&lt;/entry&gt;&lt;br /&gt;&lt;/properties&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 02 May 2007 12:10:10 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3945</guid>
      <author>carlism (Carl Leiby)</author>
    </item>
  </channel>
</rss>
