<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to create a Java Map in Javascript in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246501#M199631</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in second example you should use new operator&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;var a = new Packages.org.alfresco.repo.jscript.ScriptableHashMap();&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;but why not to use simple JavaScript Array?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;var a = new Array();&lt;BR /&gt;a["key1"] = "value1";&lt;BR /&gt;a["key2"] = "value2";&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;smicyk&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 06 Nov 2010 23:25:44 GMT</pubDate>
    <dc:creator>smicyk</dc:creator>
    <dc:date>2010-11-06T23:25:44Z</dc:date>
    <item>
      <title>How to create a Java Map in Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246500#M199630</link>
      <description>Does anyone know how I can create a Java Map in Javascript, it seems like this should work:var a = new java.util.HashMap();a.put("key1", "value1");a.put("key2", "value2");‍‍‍‍‍But it doesn't work because although the new sentence runs flawlessly "a" is just null.I see that Alfresco's scripts use alw</description>
      <pubDate>Thu, 28 Oct 2010 10:42:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246500#M199630</guid>
      <dc:creator>iblanco</dc:creator>
      <dc:date>2010-10-28T10:42:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a Java Map in Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246501#M199631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in second example you should use new operator&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;var a = new Packages.org.alfresco.repo.jscript.ScriptableHashMap();&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;but why not to use simple JavaScript Array?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;var a = new Array();&lt;BR /&gt;a["key1"] = "value1";&lt;BR /&gt;a["key2"] = "value2";&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;smicyk&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Nov 2010 23:25:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246501#M199631</guid>
      <dc:creator>smicyk</dc:creator>
      <dc:date>2010-11-06T23:25:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a Java Map in Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246502#M199632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The lack of the "new" was a typo in the post, I have tried with the new but no luck.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to use a Map because I've exposed the ruleService as a JavaScript object and it requires a Map in some of its methods, and the javascript array does not work as a replacement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Nov 2010 08:49:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246502#M199632</guid>
      <dc:creator>iblanco</dc:creator>
      <dc:date>2010-11-08T08:49:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a Java Map in Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246503#M199633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hey, sorry I'm like three years late &lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt; But anyway if someone else stumbles upon this, I've written a simple wrapper around native hash table to match the functionality of Java Map. Note that Java Map isnt the same as Java Hash Map, cause Map has a linear seek of keys by value, and a HashMap has a hash table of value to key structure, so seek time is so much faster.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway you can find Javascript Map class on this link: &lt;/SPAN&gt;&lt;A href="http://stamat.wordpress.com/2013/06/23/javascript-map-class/" rel="nofollow noopener noreferrer"&gt;http://stamat.wordpress.com/2013/06/23/javascript-map-class/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dont forget to leave feedback! Thanks for giving it a chance &lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Aug 2013 17:11:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246503#M199633</guid>
      <dc:creator>stamat</dc:creator>
      <dc:date>2013-08-06T17:11:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a Java Map in Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246504#M199634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've to use reflection for using native QNname Property Map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;javascript&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//imports&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ContextLoader = Packages.org.springframework.web.context.ContextLoader;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NamespaceService = Packages.org.alfresco.service.namespace.NamespaceService;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;QName = Packages.org.alfresco.service.namespace.QName;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Class = java.lang.Class;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * Gets the Bean instance object. You neet to declare a global variable e.g. NamespaceService = Packages.org.alfresco.service.namespace.NamespaceService;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;function srv(bname) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ContextLoader.getCurrentWebApplicationContext().getBean(bname, this[bname]);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function main(){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Class reflection to a PropertyMap Alfresco implementation &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PropertyMap&amp;nbsp; extends HashMap&amp;lt;QName, Serializable&amp;gt; so it avoids the HashMap&amp;lt;T&amp;gt; definitions&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var c = Class.forName("org.alfresco.util.PropertyMap");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get a Method Object Reflexion for use the natural HashMap#put implementation&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var putMethod = c.getMethod("put", Class.forName("java.lang.Object"), Class.forName("java.lang.Object"));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ~ var propMap = {};&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var propMap = c.newInstance();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ~ propMap ['custom&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;rop'] = 'some val';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; putMethod.invoke(propMap, QName.createQName('custom&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;rop', srv("NamespaceService")), 'some val');&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;main();&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/javascript&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2015 20:52:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-create-a-java-map-in-javascript/m-p/246504#M199634</guid>
      <dc:creator>mdavid_cu</dc:creator>
      <dc:date>2015-08-13T20:52:00Z</dc:date>
    </item>
  </channel>
</rss>

