X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=misc%2Frosetta%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fmisc%2Frosetta%2Fmarshal%2FObjMarshal.java;fp=misc%2Frosetta%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fmisc%2Frosetta%2Fmarshal%2FObjMarshal.java;h=31e214b5116fa716728c7386c78e7cbf0464f35a;hb=4b5a7d721d994a49057e9bfb403c7bff1b376660;hp=cb2c478a395eccef063ed52ab66486d6b74464a6;hpb=824dc7b5fc0e1ccdf7f460479aff344727f0f01e;p=aaf%2Fauthz.git diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java index cb2c478a..31e214b5 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java @@ -38,94 +38,94 @@ import org.onap.aaf.misc.rosetta.Parsed; * @param */ public abstract class ObjMarshal extends Marshal { - // Note: Not Using List or ArrayList, because there is no "Peek" concept in their iterator. - private Marshal[] pml; - private int end=0; - - /** - * @param pm - */ - @SuppressWarnings("unchecked") - protected void add(Marshal pm) { - if(pml==null) { - pml = new Marshal[Ladder.DEFAULT_INIT_SIZE]; - } else if(end>pml.length) { - Object temp[] = pml; - pml = new Marshal[pml.length+Ladder.DEFAULT_INIT_SIZE]; - System.arraycopy(temp, 0, pml, 0, pml.length); - } - pml[end]=pm; - ++end; - } - - /* (non-Javadoc) - * @see org.onap.aaf.misc.rosetta.Parse#parse(java.lang.Object, org.onap.aaf.misc.rosetta.Parsed) - */ - @SuppressWarnings("unchecked") - @Override - public Parsed parse(T in, Parsed parsed) throws ParseException { - Ladder> ladder = parsed.state.ladder; - Iterator> iter = (Iterator>)ladder.peek(); - if(iter==null) { - if(pml.length>0) { - ladder.push(new FieldsIterator()); - parsed.event = START_OBJ; - } else { - ladder.push(DONE_ITERATOR); - } - } else if (!DONE_ITERATOR.equals(iter)) { - FieldsIterator fields = (FieldsIterator)iter; - ladder.ascend(); // look at field info - Iterator currFieldIter = ladder.peek(); - Marshal marshal; - if(currFieldIter==null) { - marshal=fields.next(); - } else if(!DONE_ITERATOR.equals(currFieldIter)) { - marshal=fields.peek(); - if(marshal==null && fields.hasNext())marshal=fields.next(); - } else if(fields.hasNext()) { - marshal=fields.next(); - ladder.push(null); - } else { - marshal=null; - } + // Note: Not Using List or ArrayList, because there is no "Peek" concept in their iterator. + private Marshal[] pml; + private int end=0; + + /** + * @param pm + */ + @SuppressWarnings("unchecked") + protected void add(Marshal pm) { + if(pml==null) { + pml = new Marshal[Ladder.DEFAULT_INIT_SIZE]; + } else if(end>pml.length) { + Object temp[] = pml; + pml = new Marshal[pml.length+Ladder.DEFAULT_INIT_SIZE]; + System.arraycopy(temp, 0, pml, 0, pml.length); + } + pml[end]=pm; + ++end; + } + + /* (non-Javadoc) + * @see org.onap.aaf.misc.rosetta.Parse#parse(java.lang.Object, org.onap.aaf.misc.rosetta.Parsed) + */ + @SuppressWarnings("unchecked") + @Override + public Parsed parse(T in, Parsed parsed) throws ParseException { + Ladder> ladder = parsed.state.ladder; + Iterator> iter = (Iterator>)ladder.peek(); + if(iter==null) { + if(pml.length>0) { + ladder.push(new FieldsIterator()); + parsed.event = START_OBJ; + } else { + ladder.push(DONE_ITERATOR); + } + } else if (!DONE_ITERATOR.equals(iter)) { + FieldsIterator fields = (FieldsIterator)iter; + ladder.ascend(); // look at field info + Iterator currFieldIter = ladder.peek(); + Marshal marshal; + if(currFieldIter==null) { + marshal=fields.next(); + } else if(!DONE_ITERATOR.equals(currFieldIter)) { + marshal=fields.peek(); + if(marshal==null && fields.hasNext())marshal=fields.next(); + } else if(fields.hasNext()) { + marshal=fields.next(); + ladder.push(null); + } else { + marshal=null; + } - if(marshal!=null) - parsed = marshal.parse(in, parsed); - ladder.descend(); - if(marshal==null || parsed.event==NONE) { - parsed.event = END_OBJ; - ladder.push(DONE_ITERATOR); - } - } - return parsed; // if unchanged, then it will end process - } + if(marshal!=null) + parsed = marshal.parse(in, parsed); + ladder.descend(); + if(marshal==null || parsed.event==NONE) { + parsed.event = END_OBJ; + ladder.push(DONE_ITERATOR); + } + } + return parsed; // if unchanged, then it will end process + } - private class FieldsIterator implements Iterator> { - private int idx = -1; + private class FieldsIterator implements Iterator> { + private int idx = -1; - @Override - public boolean hasNext() { - return idx next() { - if(!hasNext()) { - throw new NoSuchElementException(); - } - return pml[++idx]; - } + @Override + public Marshal next() { + if(!hasNext()) { + throw new NoSuchElementException(); + } + return pml[++idx]; + } - public Marshal peek() { - return idx<0?null:pml[idx]; - } - - @Override - public void remove() { - pml[idx]=null; - } - - } + public Marshal peek() { + return idx<0?null:pml[idx]; + } + + @Override + public void remove() { + pml[idx]=null; + } + + } }