axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Senaka Fernando (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AXIS2C-243) utils have dependancies on axis2 core when it comes to class loading
Date Sat, 22 Dec 2007 12:15:43 GMT

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

Senaka Fernando updated AXIS2C-243:
-----------------------------------

    Attachment: axis2_core_dll_desc.h
                diff.txt

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


Mime
View raw message