[
https://issues.apache.org/jira/browse/AXIS2C-1339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Lazarski resolved AXIS2C-1339.
-------------------------------------
Resolution: Fixed
When a handler uses 'before' or 'after' positioning rules, the phase
insertion code was using axutil_array_list_add_at() directly, which
bypassed the duplicate checking in axis2_phase_add_unique(). This caused
the same handler to be inserted multiple times into a phase.
Fix: Added axis2_phase_add_unique_at() helper function that performs
duplicate checking before positional insertion. Updated all insertion
paths in axis2_phase_insert_before(), axis2_phase_insert_after(), and
axis2_phase_insert_before_and_after() to use this new function.
Added comprehensive unit tests covering:
- Basic duplicate prevention
- Duplicate prevention with 'after' rule (original bug scenario)
- Duplicate prevention with 'before' rule
- Duplicate prevention with both 'before' and 'after' rules
- Duplicate prevention by handler name
> Wrong unique class names generation
> -----------------------------------
>
> Key: AXIS2C-1339
> URL: https://issues.apache.org/jira/browse/AXIS2C-1339
> Project: Axis2-C
> Issue Type: Bug
> Components: code generation
> Environment: Does not matter.
> Reporter: Josbert Lonnee
> Priority: Minor
> Original Estimate: 5m
> Remaining Estimate: 5m
>
> Please change, in method
> "org.apache.axis2.schema.writer.CStructWriter#makeUniqueCStructName" (Java
> project "axis2-adb-codegen"), the line containing "cName = cName + ". Surely
> something needs to be added to make the name unique, but do not use a static
> variable; that way the generated names can depend on the order in which
> classes are generated. With this situation, once only one web-method is added
> at the start of a server side interface (for example implemented in CXF) can
> change ALL classnames!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]