You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Shi Yusen (JIRA)" <ji...@apache.org> on 2009/09/16 16:26:57 UTC

[jira] Created: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

A minor change in org.ofbiz.service.engine.StandardJavaEngine
-------------------------------------------------------------

                 Key: OFBIZ-2948
                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
             Project: OFBiz
          Issue Type: Wish
    Affects Versions: Release Branch 9.04
         Environment: FC10 + OpenJDK 1.6
            Reporter: Shi Yusen
            Priority: Trivial
             Fix For: Release Branch 9.04


Change
            result = m.invoke(null, dctx, context);
to
            result = m.invoke(c.newInstance(), dctx, context);

This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).

I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Scott Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759306#action_12759306 ] 

Scott Gray commented on OFBIZ-2948:
-----------------------------------

If the object only lives for one service call, how is that any different that using a static method?  Also you should do a check to see if the method is static before creating an instance of the class.

Even if this does get committed (I'm not entire convinced it should be), it shouldn't go into 9.04


> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Jacques Le Roux (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759155#action_12759155 ] 

Jacques Le Roux commented on OFBIZ-2948:
----------------------------------------

Hi Shi,

It seems OK, but what it's useful for (ie what are you using it for) ?

Thanks

> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Shi Yusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759360#action_12759360 ] 

Shi Yusen commented on OFBIZ-2948:
----------------------------------

According to the java doc of invoke method:
If the underlying method is static, then the specified obj argument is ignored. It may be null.

> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Jacques Le Roux (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jacques Le Roux closed OFBIZ-2948.
----------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: Release Branch 9.04)
                   SVN trunk
         Assignee: Jacques Le Roux

Thanks Yusen, Scott,

Yusen your patch in in trunk at r819281

> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Assignee: Jacques Le Roux
>            Priority: Trivial
>             Fix For: SVN trunk
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Shi Yusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759186#action_12759186 ] 

Shi Yusen commented on OFBIZ-2948:
----------------------------------

Hi Jacques,

The reason is simple, I defined several interface classes in rmi module, so the services are not written in static. To run the services, I changed the invoke sentence. For myself convenience, I wish this could be changed.

My dirty mind behind? Yes, if this could be changed, I'm sure we can see more and more interface classes and less and less static methods in OFBiz.:)

> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Scott Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759362#action_12759362 ] 

Scott Gray commented on OFBIZ-2948:
-----------------------------------

You're still unnecessarily creating an instance of the class though right? i.e. for every other normal java service in OFBiz

> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Shi Yusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759387#action_12759387 ] 

Shi Yusen commented on OFBIZ-2948:
----------------------------------

Yes. +1.

{code}
if (Modifier.isStatic(m.getModifiers())) {
    result = m.invoke(null, dctx, context);
} else {
    result = m.invoke(c.newInstance(), dctx, context);
}
{code}

> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Scott Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759375#action_12759375 ] 

Scott Gray commented on OFBIZ-2948:
-----------------------------------

Probably something like this would be best:
{code}
if (Modifier.isStatic(m.getModifiers())
{code}

> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OFBIZ-2948) A minor change in org.ofbiz.service.engine.StandardJavaEngine

Posted by "Shi Yusen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OFBIZ-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759373#action_12759373 ] 

Shi Yusen commented on OFBIZ-2948:
----------------------------------

Yes, you're right. I wrote the following at the beginning. Honestly, I don't know which way is more efficient.

            if (Arrays.asList(m.getAnnotations()).contains("static")) {
                result = m.invoke(null, dctx, context);
            } else {
                result = m.invoke(c.newInstance(), dctx, context);
            }


> A minor change in org.ofbiz.service.engine.StandardJavaEngine
> -------------------------------------------------------------
>
>                 Key: OFBIZ-2948
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-2948
>             Project: OFBiz
>          Issue Type: Wish
>    Affects Versions: Release Branch 9.04
>         Environment: FC10 + OpenJDK 1.6
>            Reporter: Shi Yusen
>            Priority: Trivial
>             Fix For: Release Branch 9.04
>
>
> Change
>             result = m.invoke(null, dctx, context);
> to
>             result = m.invoke(c.newInstance(), dctx, context);
> This change will make it possible to invoke both static method and instance method. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object,%20java.lang.Object...).
> I've tested this in OFBiz 9.04 and works fine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.