I see the same behavior from the CLI, but not from REST. Perhaps
asadmin is lousing up the MB chars...
On 1/27/11 7:03 PM, Anissa Lam wrote:
>
>
> On 1/27/11 4:38 PM, Jason Lee wrote:
>> I'm not seeing a problem in REST. I created a test that creates an
>> instance named i1듈2. I then get a list of all the servers, request
>> that particular server, then delete. All operations succeed, and the
>> value is stored correctly in domain.xml.
>>
>> We discussed MB chars some time ago, and Tom and I were working on
>> making all of the XML parsing UTF-8-friendly, but it was decided that
>> people who need MB char support were likely to have their systems
>> configured correctly so that making all of the changes in the admin
>> layer to explicitly support it weren't necessary. It would seem,
>> then, that Anissa is, for some reason, running into that, though I
>> can't explain why. We're both on Macs, and I know I didn't do
>> anything special WRT encodings, locales, etc.
> I didn't do anything special in my system either. And i have no
> problem with v2.
> Maybe someone else can try this. Try using CLI to create 2 instances
> and see what happen.
>
> Anissa.
>>
>> At any rate, I think REST is fine unless my shot in the dark above is
>> off the mark. I can commit the test as soon as the trunk is open.
>>
>> On 1/27/11 6:33 PM, Anissa Lam wrote:
>>>
>>> I believe there is problem in 'admin' besides the REST layer. Here
>>> is what i see.
>>> In GUI, I can create and list out standalone instances with multi
>>> byte char. See attached image.
>>> However, if you look at domain.xml, the name is incorrect. It has
>>> "??" instead. In v2, I can see that the multi-byte char is
>>> written out correctly.
>>> v2: <server config-ref="玻璃鱼-config" lb-weight="100" name="玻璃鱼"
>>> node-agent-ref="AAA">
>>>
>>> v3: <server name="??" node-ref="localhost-domain1"
>>> config-ref="??-config"></server>
>>>
>>> The name is fine as long as you don't stop the server after creating
>>> this instance. I guess it is still in memory ok.
>>>
>>> But once you stop the server, I cannot even bring up console.
>>> Caused by: java.util.regex.PatternSyntaxException: Dangling meta
>>> character '?' near index 0
>>> ??-config
>>> ^
>>> at java.util.regex.Pattern.error(Pattern.java:1713)
>>> at java.util.regex.Pattern.sequence(Pattern.java:1878)
>>> at java.util.regex.Pattern.expr(Pattern.java:1752)
>>> at java.util.regex.Pattern.compile(Pattern.java:1460)
>>> at java.util.regex.Pattern.<init>(Pattern.java:1133)
>>> at java.util.regex.Pattern.compile(Pattern.java:823)
>>> at java.util.regex.Pattern.matches(Pattern.java:928)
>>> at java.lang.String.matches(String.java:2090)
>>> at
>>> com.sun.jsftemplating.el.PermissionChecker.hasPermission(PermissionChecker.java:553)
>>>
>>> at
>>> com.sun.jsftemplating.layout.descriptors.handler.Handler.hasPermission(Handler.java:506)
>>>
>>> at
>>> com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:430)
>>>
>>> at
>>> com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)
>>>
>>>
>>> So, I think the first step is able to persist this mb char in
>>> domain.xml.
>>> I am afraid I will have to touch a lot of pages in GUI, since name
>>> usually is in the endpoint, and needs to be encoded.
>>>
>>> Should i file a separate bug against admin for domain.xml
>>> persistence ? This sounds like a blocker issue to me.
>>>
>>> ps. I have trouble sending email to admin_at_glassfish.java.net
>>> alias. Every email i sent to the alias is bounced back. Thats why
>>> i specifically 'cc' each of you. Sorry for the duplicate.
>>>
>>> thanks
>>> Anissa.
>>>
>>>
>>> On 1/27/11 2:18 PM, Tom Mueller wrote:
>>>> Created issue 15719.
>>>> http://java.net/jira/browse/GLASSFISH-15719
>>>>
>>>> On 1/27/2011 3:03 PM, Ludovic Champenois wrote:
>>>>> On 1/27/11 12:52 PM, Tom Mueller wrote:
>>>>>> Thanks Anissa for checking on this. So these are bugs then.
>>>>>> Does the REST team want yet another bug filed for the
>>>>>> IllegalArgumentException or should I just tack this on to issue
>>>>>> 15705?
>>>>>>
>>>>> yep, and the log file if any
>>>>> Ludo
>>>>>> Thanks.
>>>>>> Tom
>>>>>>
>>>>>> On 1/27/2011 2:14 PM, Anissa Lam wrote:
>>>>>>>
>>>>>>> I just checked, we do support multibyte char in v2. See attached.
>>>>>>>
>>>>>>> Anissa.
>>>>>>>
>>>>>>> On 1/27/11 12:01 PM, Tom Mueller wrote:
>>>>>>>> Today, issue 15706 was filed because of an English error message
>>>>>>>> being generated when multibyte character is used in an instance
>>>>>>>> name.
>>>>>>>> http://java.net/jira/browse/GLASSFISH-15706
>>>>>>>>
>>>>>>>> While looking into this, I was wondering why such an instance name
>>>>>>>> was even allowed since instance names are only supposed to contain
>>>>>>>> letters, numbers and some special characters. As it turns out,
>>>>>>>> the
>>>>>>>> regular expression that is used for validating the name uses
>>>>>>>> "\p{L}"
>>>>>>>> for letters, which means any Unicode character that is a
>>>>>>>> letter, not
>>>>>>>> just ASCII letters. In my test, I was able to create an
>>>>>>>> instance with
>>>>>>>> a multibyte character, but then I couldn't start it or delete
>>>>>>>> it from
>>>>>>>> the console because I get an IllegalArgumentException from the
>>>>>>>> REST
>>>>>>>> interface (see the bug report for details).
>>>>>>>>
>>>>>>>> So my question is this - do we really support creation of
>>>>>>>> instances
>>>>>>>> with multibyte characters in their names?
>>>>>>>>
>>>>>>>> If no, then we need to change the regex that is used to
>>>>>>>> validate the
>>>>>>>> name.
>>>>>>>> If yes, then we might have lots of bug fixing to do to get this to
>>>>>>>> work end-to-end.
>>>>>>>>
>>>>>>>> Does anybody know what 2.1 supports here?
>>>>>>>>
>>>>>>>> Tom
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>
>>
>>
--
Jason Lee
Senior Member of Technical Staff
GlassFish REST API / Administration Console
Oracle Corporation
Phone +1 405-216-3193
Blog http://blogs.steeplesoft.com