You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Senaka Fernando (JIRA)" <ji...@apache.org> on 2007/12/22 13:45:43 UTC

[jira] Issue Comment Edited: (AXIS2C-243) utils have dependancies on axis2 core when it comes to class loading

    [ https://issues.apache.org/jira/browse/AXIS2C-243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554107 ] 

senakafdo edited comment on AXIS2C-243 at 12/22/07 4:45 AM:
------------------------------------------------------------------

Hi Damitha, Dinesh and Samisa,

I have added a new include, axis2_core_dll_desc.h to overcome this issue. I have also included axis2_core_dll_desc.h as a core utility in axis2_core_utils.h.

Also, instead of using strings I have used integers, and therefore avoiding issues with memory allocations etc. I have used the range 10000-10999 for defining dll names, and the block 10000-10099 is reserved for the core. I have chosen the 10000+ range to ensure the unique identification, instead of using 0-999.

Please refer diff.txt and axis2_core_dll_desc.h for proposed patch.

Regards,
Senaka

      was (Author: senakafdo):
    Hi Damitha, Dinesh and Samisa,

I have added a new include, axis2_core_dll_desc.h to overcome this issue. I have also included axis2_core_dll_desc.h as a core utility in axis2_core_utils.h.

Also, instead of using strings I have used integers, and therefore avoiding issues with memory allocations etc. I have used the range 10000-10999 for defining dll names, and the block 10000-10100 is reserved for the core. I have chosen the 10000+ range to ensure the unique identification, instead of using 0-999.

Please refer diff.txt and axis2_core_dll_desc.h for proposed patch.

Regards,
Senaka
  
> utils have dependancies on axis2 core when it comes to class loading
> --------------------------------------------------------------------
>
>                 Key: AXIS2C-243
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-243
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: util
>    Affects Versions: Current (Nightly)
>            Reporter: Damitha Kumarage
>            Assignee: Sanjaya Ratnaweera
>         Attachments: axis2_core_dll_desc.h, diff.txt
>
>
>  At the moment
> we have this in util/include/axis2_dll_desc.h.
>  
>  typedef enum axis2_dll_type
>  {
>      /** service dll */
>      AXIS2_SVC_DLL = 0,
>      /** handler dll */
>      AXIS2_HANDLER_DLL,
>      /** message receiver dll */
>      AXIS2_MSG_RECV_DLL,
>      /** module dll */
>      AXIS2_MODULE_DLL,
>      /** transport receiver dll */
>      AXIS2_TRANSPORT_RECV_DLL,
>      /** transport sender dll */
>      AXIS2_TRANSPORT_SENDER_DLL
>         }axis2_dll_type_t;
>      
> This is a layering violation.  The util layer
> should contain low-level stuff that doesn't depend on the core. This
> list of DLL types, although it is in util, conceptually is describing an
> aspect of core (the kinds of DLL that core can load).  If you changed
> the structure of core or even some other module (for example  dynamically loading 
> security modules), then you would have to modify util.
> The right solution is just to make the dll type be a string.
> The util layer knows only hat it's a string, but doesn't know what the
> legal string values are.  The core layer would then define constants for
> the kinds of DLLs it needs (eg "svc" for the AXIS2_SVC_DLL), and the
> security layer can do likewise.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org