jochen      2005/07/27 12:43:32

  Modified:    src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg Tag:
                        v0_4 GroupHandlerSG.java SequenceHandlerSG.java
  Log:
  A sequence was always treated as a required group,
  even if all particles were optional.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.4.2.4   +15 -5     
ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
  
  Index: GroupHandlerSG.java
  ===================================================================
  RCS file: 
/home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java,v
  retrieving revision 1.4.2.3
  retrieving revision 1.4.2.4
  diff -u -r1.4.2.3 -r1.4.2.4
  --- GroupHandlerSG.java       19 Jul 2005 21:02:47 -0000      1.4.2.3
  +++ GroupHandlerSG.java       27 Jul 2005 19:43:31 -0000      1.4.2.4
  @@ -155,13 +155,23 @@
                        return false;
                } else {
                        if (particleSG.isGroup()) {
  -                             ParticleSG[] particles = 
particleSG.getGroupSG().getParticles();
  -                             for (int i = 0;  i < particles.length;  i++) {
  -                                     if (isRequiredParticle(particles[i])) {
  -                                             return true;
  +                             GroupSG group = particleSG.getGroupSG();
  +                             ParticleSG[] particles = group.getParticles();
  +                             if (group.isChoice()) {
  +                                     for (int i = 0;  i < particles.length;  
i++) {
  +                                             if 
(!isRequiredParticle(particles[i])) {
  +                                                     return false;
  +                                             }
                                        }
  +                                     return true;
  +                             } else {
  +                                     for (int i = 0;  i < particles.length;  
i++) {
  +                                             if 
(isRequiredParticle(particles[i])) {
  +                                                     return true;
  +                                             }
  +                                     }
  +                                     return false;
                                }
  -                             return false;
                        } else {
                                return true;
                        }
  
  
  
  1.3.2.1   +2 -1      
ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/SequenceHandlerSG.java
  
  Index: SequenceHandlerSG.java
  ===================================================================
  RCS file: 
/home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/SequenceHandlerSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- SequenceHandlerSG.java    10 Mar 2005 10:14:01 -0000      1.3
  +++ SequenceHandlerSG.java    27 Jul 2005 19:43:31 -0000      1.3.2.1
  @@ -141,8 +141,9 @@
        /** Assuming, we are currently in state <code>pState</code>,
         * returns the index of the last valid particle. Returns
         * -1, if there is no valid particle.
  +      * @throws SAXException 
         */
  -     private int getLastValidParticle(int pState) {
  +     private int getLastValidParticle(int pState) throws SAXException {
                int lastParticle;
                if (pState == 0) {
                        lastParticle = 0;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to