Also please note that I used JSON.stringify method in server side js.

Hemika Kodikara
Software Engineer
WSO2 Inc.
lean . enterprise . middleware
http://wso2.com

Mobile : +94777688882

On Fri, Jun 10, 2016 at 2:13 PM, Hemika Kodikara <hem...@wso2.com> wrote:

> Thanks Rasika for the solution.
>
> In the client side JS, have the following code :
>
>     <script type="text/javascript">
>         var protocols = *{{{protocols}}}*;
>         $.each(protocols, function(index, value) {
>
> $('#queue-subscription-protocols').append($('<option>').text(value).attr('value',
> index));
>         });
>     </script>
>
> Have to use 3 curly braces.
>
> Regards,
> Hemika
>
> Hemika Kodikara
> Software Engineer
> WSO2 Inc.
> lean . enterprise . middleware
> http://wso2.com
>
> Mobile : +94777688882
>
> On Fri, Jun 10, 2016 at 2:00 PM, Hemika Kodikara <hem...@wso2.com> wrote:
>
>> Hi Milinda,
>>
>> It is not a string array, its actually java objects that is there.
>>
>> Hi Sajith,
>>
>> I modified the nashorn script as following :
>>
>> var onRequest = function (context) {
>>     var protocols = callOSGiService("org.wso2.andes.kernel.Andes",
>> "getSupportedProtocols", []);
>>     var protocolStrings = [];
>>     for each (var item in protocols) {
>>         protocolStrings.push(item.toString());
>>     }
>>
>>     // var protocolsJson = JSON.stringify(protocolStrings);
>>     return {"protocols" : protocolStrings};
>> };
>>
>> I am assigning the "protocols" json value to a javascript variable in the
>> client-side as following :
>>
>>         var protocols =* {{protocols}}*;
>>         $.each(protocols, function(index, value) {
>>
>> ('#queue-subscription-protocols').append($('<option>').text(value).attr('value',
>> index));
>>         });
>>
>>
>> But I am getting the following errors when rendered the page(client side
>> js) :
>>
>> var protocols = [object Array];    <-- Syntax error
>>
>> When I use JSON.stringify in server side js, I get the following output :
>>
>> var protocols =
>> [&quot;AMQP-0-10&quot;,&quot;MQTT-default&quot;,&quot;AMQP-0-91&quot;,&quot;AMQP-8-0&quot;,&quot;AMQP-0-9&quot;];
>>   <-- Unexpected token &
>>
>> Any Idea ?
>>
>> Regards,
>> Hemika
>>
>>
>> Hemika Kodikara
>> Software Engineer
>> WSO2 Inc.
>> lean . enterprise . middleware
>> http://wso2.com
>>
>> Mobile : +94777688882
>>
>> On Fri, Jun 10, 2016 at 12:51 PM, Milinda Perera <milin...@wso2.com>
>> wrote:
>>
>>> Hi Hemika,
>>>
>>> If AMQP-0-10, MQTT-default, AMQP-0-91, AMQP-8-0, AMQP-0-9 are strings,
>>> following should work
>>>
>>> JSON.parse("[\"AMQP-0-10\", \"MQTT-default\", \"AMQP-0-91\",
>>> \"AMQP-8-0\", \"AMQP-0-9\"]")
>>>
>>> Accroding to [1] within array " A *value* can be a *string* in double
>>> quotes, or a *number*, or true or false or null, or an *object* or an
>>> *array*. These structures can be nested."
>>>
>>> [1] http://www.json.org/
>>>
>>> Thanks,
>>> Mili
>>>
>>> On Fri, Jun 10, 2016 at 12:33 PM, Hemika Kodikara <hem...@wso2.com>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> I am invoking the callOSGiService method in nashorn to get a list of
>>>> protocols thats in andes of MB.
>>>>
>>>> I am getting the following output after invoking the callOSGiService :
>>>> [AMQP-0-10, MQTT-default, AMQP-0-91, AMQP-8-0, AMQP-0-9]
>>>>
>>>> But need to convert it into a javascript array(Probably a String
>>>> array). Need to bind it to a dropdown(select element).
>>>>
>>>> I tried JSON.parse, but getting the following errors :
>>>>
>>>> jjs> JSON.parse("[AMQP-0-10, MQTT-default, AMQP-0-91, AMQP-8-0,
>>>> AMQP-0-9]");
>>>> <shell>:1 SyntaxError: Invalid JSON: <json>:1:1 Expected json literal
>>>> but found ident
>>>> [AMQP-0-10, MQTT-default, AMQP-0-91, AMQP-8-0, AMQP-0-9]
>>>>  ^
>>>>
>>>> jjs> JSON.parse([AMQP-0-10, MQTT-default, AMQP-0-91, AMQP-8-0,
>>>> AMQP-0-9]);
>>>> ECMAScript Exception: SyntaxError: <shell>:1:28 Expected an operand but
>>>> found default
>>>> JSON.parse([AMQP-0-10, MQTT-default, AMQP-0-91, AMQP-8-0, AMQP-0-9]);
>>>>                             ^
>>>>
>>>> My OSGi method returns a Set<ProtocolType>.
>>>>
>>>> How can I achieve this ?
>>>>
>>>> Regards,
>>>> Hemika
>>>>
>>>> Hemika Kodikara
>>>> Software Engineer
>>>> WSO2 Inc.
>>>> lean . enterprise . middleware
>>>> http://wso2.com
>>>>
>>>> Mobile : +94777688882
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Milinda Perera
>>> Software Engineer;
>>> WSO2 Inc. http://wso2.com ,
>>> Mobile: (+94) 714 115 032
>>>
>>>
>>
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to