<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: Mwaschkowski's Code Snippets</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 29 Aug 2008 16:18:39 GMT</pubDate>
    <description>DZone Snippets: Mwaschkowski's Code Snippets</description>
    <item>
      <title>gwt event handling example (for event handling not taken care of specifically)</title>
      <link>http://snippets.dzone.com/posts/show/5666</link>
      <description>// description of your code here&lt;br /&gt;Code below should be used to listen to any event not already covered in API&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;     sinkEvents(Event.MOUSEEVENTS);&lt;br /&gt;    public void onBrowserEvent(Widget sender, Event event)&lt;br /&gt;    {&lt;br /&gt;        if ((DOM.eventGetButton(event) == Event.BUTTON_RIGHT) &amp;&amp;&lt;br /&gt;            (DOM.eventGetType(event) == Event.ONMOUSEDOWN))&lt;br /&gt;        { &lt;br /&gt;         ...&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 18 Jun 2008 18:27:15 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5666</guid>
      <author>mwaschkowski (Mark Waschkowski)</author>
    </item>
    <item>
      <title>flex 3 combo box code</title>
      <link>http://snippets.dzone.com/posts/show/5632</link>
      <description>// description of your code here&lt;br /&gt;Easiest way to populate a combo box.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var valueArray:Array = new Array();&lt;br /&gt;          var emptyItem:Object = new Object();&lt;br /&gt;          emptyItem.data = "";&lt;br /&gt;          emptyItem.label = "";&lt;br /&gt;          var buildingItem:Object = new Object();&lt;br /&gt;          buildingItem.data = "building";&lt;br /&gt;          buildingItem.label = "Building";&lt;br /&gt;          var regionItem:Object = new Object();&lt;br /&gt;          regionItem.data = "region";&lt;br /&gt;          regionItem.label = "Region"        &lt;br /&gt;          valueArray.push(emptyItem);&lt;br /&gt;          valueArray.push(buildingItem);&lt;br /&gt;          valueArray.push(regionItem);          &lt;br /&gt;          &lt;br /&gt;          filterComboBox = new ComboBox();&lt;br /&gt;          filterComboBox.dataProvider = valueArray;&lt;br /&gt;          filterComboBox.addEventListener(ListEvent.CHANGE, filterUpdate);&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 11 Jun 2008 15:47:51 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5632</guid>
      <author>mwaschkowski (Mark Waschkowski)</author>
    </item>
    <item>
      <title>xml parsing using content handler</title>
      <link>http://snippets.dzone.com/posts/show/4719</link>
      <description>// description of your code here&lt;br /&gt;given an xml:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;request&gt;&lt;br /&gt;	&lt;action&gt;managePermissions&lt;/action&gt;&lt;br /&gt;	&lt;xml&gt;&lt;br /&gt;		&lt;permission type='chm:allow-roles'&gt;&lt;br /&gt;			&lt;role&gt;role1&lt;/role&gt;&lt;br /&gt;			&lt;role&gt;role2&lt;/role&gt;&lt;br /&gt;			&lt;role&gt;role3&lt;/role&gt;&lt;br /&gt;		&lt;/permission&gt;&lt;br /&gt;		&lt;permission type='chm:deny-roles'&gt;&lt;br /&gt;			&lt;role&gt;roleA&lt;/role&gt;&lt;br /&gt;			&lt;role&gt;roleB&lt;/role&gt;&lt;br /&gt;		&lt;/permission&gt;&lt;br /&gt;	&lt;/xml&gt;&lt;br /&gt;	&lt;parameters&gt;&lt;br /&gt;		&lt;uuid&gt;xyz&lt;/uuid&gt;&lt;br /&gt;	&lt;/parameters&gt;&lt;br /&gt;&lt;/request&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;will parse into permission map&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;static Map&lt;String, List&lt;String&gt;&gt; getPermissionMap(String xml){&lt;br /&gt;    final Map&lt;String, List&lt;String&gt;&gt; permissionMap = new HashMap&lt;String, List&lt;String&gt;&gt;();&lt;br /&gt;    &lt;br /&gt;    //handler will produce a permission map based on xml&lt;br /&gt;    ContentHandler allowDenyXmlHandler = new DefaultHandler() {&lt;br /&gt;      private String permissionType;&lt;br /&gt;      private List&lt;String&gt; roleList = new ArrayList&lt;String&gt;();&lt;br /&gt;      private Stack&lt;String&gt; nodes = new Stack&lt;String&gt;();&lt;br /&gt;      private StringBuilder roleBuffer = new StringBuilder();&lt;br /&gt;      &lt;br /&gt;      /**&lt;br /&gt;       * Get type of permission that is defined in type attribute&lt;br /&gt;       */&lt;br /&gt;      public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {&lt;br /&gt;        nodes.push(qName.trim());&lt;br /&gt;        //get type of permission&lt;br /&gt;        if(nodes.peek().equals(PERMISSION)){&lt;br /&gt;          permissionType = attributes.getValue(PERMISSION_TYPE);&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      /**&lt;br /&gt;       * Get role data for specified role&lt;br /&gt;       */&lt;br /&gt;      public void characters(char ch[], int start, int length) throws SAXException {&lt;br /&gt;        if(nodes.peek().equals(ROLE)){&lt;br /&gt;          roleBuffer.append(ch, start, length);  &lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      /**&lt;br /&gt;       * Populate role list if role end tag, or populate permission map if permission end tag&lt;br /&gt;       */&lt;br /&gt;      public void endElement(String uri, String localName, String qName) throws SAXException {&lt;br /&gt;        String nodeName = nodes.pop();&lt;br /&gt;        if(nodeName.equals(ROLE)){&lt;br /&gt;          roleList.add(roleBuffer.toString());&lt;br /&gt;          roleBuffer.setLength(0);  &lt;br /&gt;        }else if(nodeName.equals(PERMISSION)){&lt;br /&gt;          List&lt;String&gt; tempList = new ArrayList&lt;String&gt;();&lt;br /&gt;          tempList.addAll(roleList);&lt;br /&gt;          permissionMap.put(permissionType, tempList);&lt;br /&gt;          roleList.clear();&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      public void endDocument() throws SAXException {&lt;br /&gt;        // sanity check&lt;br /&gt;        if (nodes.size() &gt; 0) logger.error("Node stack is not empty !!!");&lt;br /&gt;      }&lt;br /&gt;    };&lt;br /&gt;    &lt;br /&gt;    try {&lt;br /&gt;      SAXParser parser = null;&lt;br /&gt;      // get SAXParser&lt;br /&gt;      synchronized (XMLParserHelper.saxParserFactory) {&lt;br /&gt;        parser = XMLParserHelper.saxParserFactory.newSAXParser();&lt;br /&gt;      }&lt;br /&gt;      // Set custom content handler&lt;br /&gt;      parser.getXMLReader().setContentHandler(allowDenyXmlHandler);&lt;br /&gt;      // parse xml&lt;br /&gt;      parser.getXMLReader().parse(new InputSource(new StringReader(xml)));&lt;br /&gt;&lt;br /&gt;    } catch (Exception e) {&lt;br /&gt;      logger.error("[DLA00002] Unable to process permissions from XML {" + xml + "}", e);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    return permissionMap;&lt;br /&gt;  }&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 30 Oct 2007 18:04:26 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4719</guid>
      <author>mwaschkowski (Mark Waschkowski)</author>
    </item>
  </channel>
</rss>
