Skip to content

Commit 42a98a4

Browse files
committed
Fixed some stuff in Cvrfparser tag selector.
1 parent e25943d commit 42a98a4

File tree

1 file changed

+45
-40
lines changed

1 file changed

+45
-40
lines changed

src/main/java/es/mdbdev/cvrfparser/xml/CvrfParser.java

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -84,20 +84,20 @@ class XMLHandler extends DefaultHandler {
8484
private boolean bContactDetails = false;
8585
private boolean bIssuingAuthority = false;
8686
private boolean bID = false;
87-
private boolean bAlias = false;
87+
private boolean bDocumentTrackingAlias = false;
8888
private boolean bDocumentTrackingStatus = false;
8989
private boolean bDocumentTrackingVersion = false;
90-
private boolean bRevisionNumber = false;
91-
private boolean bRevisionDate = false;
92-
private boolean bRevisionDescription = false;
90+
private boolean bDocumentTrackingRevisionNumber = false;
91+
private boolean bDocumentTrackingRevisionDate = false;
92+
private boolean bDocumentTrackingRevisionDescription = false;
9393
private boolean bInitialReleaseDate = false;
9494
private boolean bCurrentReleaseDate = false;
9595
private boolean bDocumentNotes = false;
9696
private boolean bNote = false;
9797
private boolean bAggregateSeverity = false;
9898
private boolean bEngine = false;
9999
private boolean bFullProductName = false;
100-
private boolean bRevision = false;
100+
private boolean bDocumentTrackingRevision = false;
101101
private boolean bVulnerability = false;
102102
private boolean bVulnerabilityTitle = false;
103103
private boolean bVulnerabilityNotes = false;
@@ -121,6 +121,7 @@ class XMLHandler extends DefaultHandler {
121121
private boolean bDocumentTrackingIdentification = false;
122122
private boolean bDocumentTrackingID = false;
123123
private boolean bVulnerabilityID = false;
124+
private boolean bDocumentTrackingRevisionHistory = false;
124125

125126

126127
public XMLHandler() {
@@ -166,31 +167,32 @@ public void startElement(String uri,
166167
}else if ((qName.equalsIgnoreCase("ID")&&bDocumentTrackingIdentification)
167168
|| (qName.equalsIgnoreCase("cvrf:ID") && bDocumentTrackingIdentification)) {
168169
bDocumentTrackingID = true;
169-
}else if (qName.equalsIgnoreCase("Alias")
170-
|| qName.equalsIgnoreCase("cvrf:Alias")) {
171-
bAlias = true;
172-
}else if (qName.equalsIgnoreCase("Status")
173-
|| qName.equalsIgnoreCase("cvrf:Status")) {
170+
}else if ((qName.equalsIgnoreCase("Alias")&&bDocumentTracking)
171+
|| (qName.equalsIgnoreCase("cvrf:Alias")&&bDocumentTracking)) {
172+
bDocumentTrackingAlias = true;
173+
}else if ((qName.equalsIgnoreCase("Status")&&bDocumentTracking)
174+
|| (qName.equalsIgnoreCase("cvrf:Status")&&bDocumentTracking)) {
174175
bDocumentTrackingStatus = true;
175-
}else if (qName.equalsIgnoreCase("Version")
176-
|| qName.equalsIgnoreCase("cvrf:Version")) {
176+
}else if ((qName.equalsIgnoreCase("Version")&&bDocumentTracking)
177+
|| (qName.equalsIgnoreCase("cvrf:Version")&&bDocumentTracking)) {
177178
bDocumentTrackingVersion = true;
178-
}else if (qName.equalsIgnoreCase("RevisionHistory")
179-
|| qName.equalsIgnoreCase("cvrf:RevisionHistory")) {
179+
}else if ((qName.equalsIgnoreCase("RevisionHistory")&&bDocumentTracking)
180+
|| (qName.equalsIgnoreCase("cvrf:RevisionHistory")&&bDocumentTracking)) {
180181
cvrfDocument.getDocumentTracking().setRevisionHistory(new RevisionHistory());
181-
}else if (qName.equalsIgnoreCase("Revision")
182-
|| qName.equalsIgnoreCase("cvrf:Revision")) {
182+
bDocumentTrackingRevisionHistory = true;
183+
}else if ((qName.equalsIgnoreCase("Revision")&& bDocumentTrackingRevisionHistory)
184+
|| (qName.equalsIgnoreCase("cvrf:Revision")&& bDocumentTrackingRevisionHistory)) {
183185
crrntRev = new Revision();
184-
bRevision = true;
185-
}else if ((qName.equalsIgnoreCase("Number") && bRevision)
186-
|| (qName.equalsIgnoreCase("cvrf:Number") && bRevision)) {
187-
bRevisionNumber = true;
188-
}else if ((qName.equalsIgnoreCase("Date") && bRevision)
189-
|| (qName.equalsIgnoreCase("cvrf:Date") && bRevision)) {
190-
bRevisionDate = true;
191-
}else if ((qName.equalsIgnoreCase("Description") && bRevision)
192-
|| qName.equalsIgnoreCase("cvrf:Description")) {
193-
bRevisionDescription = true;
186+
bDocumentTrackingRevision = true;
187+
}else if ((qName.equalsIgnoreCase("Number") && bDocumentTrackingRevision)
188+
|| (qName.equalsIgnoreCase("cvrf:Number") && bDocumentTrackingRevision)) {
189+
bDocumentTrackingRevisionNumber = true;
190+
}else if ((qName.equalsIgnoreCase("Date") && bDocumentTrackingRevision)
191+
|| (qName.equalsIgnoreCase("cvrf:Date") && bDocumentTrackingRevision)) {
192+
bDocumentTrackingRevisionDate = true;
193+
}else if ((qName.equalsIgnoreCase("Description") && bDocumentTrackingRevision)
194+
|| (qName.equalsIgnoreCase("cvrf:Description") && bDocumentTrackingRevision)) {
195+
bDocumentTrackingRevisionDescription = true;
194196
}else if (qName.equalsIgnoreCase("InitialReleaseDate")
195197
|| qName.equalsIgnoreCase("cvrf:InitialReleaseDate")) {
196198
bInitialReleaseDate = true;
@@ -332,24 +334,24 @@ public void characters(char ch[],
332334
}else if (bDocumentTrackingID) {
333335
cvrfDocument.getDocumentTracking().getIdentification().setID(value);
334336
bDocumentTrackingID = false;
335-
}else if (bAlias) {
337+
}else if (bDocumentTrackingAlias) {
336338
cvrfDocument.getDocumentTracking().getIdentification().setAlias(value);
337-
bAlias = false;
339+
bDocumentTrackingAlias = false;
338340
}else if (bDocumentTrackingStatus) {
339341
cvrfDocument.getDocumentTracking().setStatus(value);
340342
bDocumentTrackingStatus = false;
341343
}else if (bDocumentTrackingVersion) {
342344
cvrfDocument.getDocumentTracking().setVersion(value);
343345
bDocumentTrackingVersion = false;
344-
}else if (bRevisionNumber) {
346+
}else if (bDocumentTrackingRevisionNumber) {
345347
crrntRev.setNumber(value);
346-
bRevisionNumber = false;
347-
}else if (bRevisionDate) {
348+
bDocumentTrackingRevisionNumber = false;
349+
}else if (bDocumentTrackingRevisionDate) {
348350
crrntRev.setDate(value);
349-
bRevisionDate = false;
350-
}else if (bRevisionDescription) {
351+
bDocumentTrackingRevisionDate = false;
352+
}else if (bDocumentTrackingRevisionDescription) {
351353
crrntRev.setDescription(value);
352-
bRevisionDescription = false;
354+
bDocumentTrackingRevisionDescription = false;
353355
}else if (bInitialReleaseDate) {
354356
cvrfDocument.getDocumentTracking().setInitialReleaseDate(value);
355357
bInitialReleaseDate = false;
@@ -407,26 +409,29 @@ public void endElement(String uri,
407409
if (qName.equalsIgnoreCase("cvrfdoc")
408410
|| qName.equalsIgnoreCase("cvrf:cvrfdoc")) {
409411

410-
}else if (qName.equalsIgnoreCase("Revision")
411-
|| qName.equalsIgnoreCase("cvrf:Revision")) {
412-
cvrfDocument.getDocumentTracking().getRevisionHistory().addRevision(crrntRev);
413-
crrntRev = null;
414-
bRevision = false;
415412
}else if (qName.equalsIgnoreCase("DocumentNotes")
416413
|| qName.equalsIgnoreCase("cvrf:DocumentNotes")) {
417414
bDocumentNotes = false;
415+
}else if ((qName.equalsIgnoreCase("Revision")&& bDocumentTrackingRevisionHistory)
416+
|| (qName.equalsIgnoreCase("cvrf:Revision")&& bDocumentTrackingRevisionHistory)) {
417+
cvrfDocument.getDocumentTracking().getRevisionHistory().addRevision(crrntRev);
418+
crrntRev = null;
419+
bDocumentTrackingRevision = false;
418420
}else if (qName.equalsIgnoreCase("DocumentTracking")
419421
|| qName.equalsIgnoreCase("cvrf:DocumentTracking")) {
420422
bDocumentTracking = false;
421423
}else if ((qName.equalsIgnoreCase("Identification")&&bDocumentTracking)
422424
|| (qName.equalsIgnoreCase("cvrf:Identification")&&bDocumentTracking)) {
423425
bDocumentTrackingIdentification = false;
426+
}else if ((qName.equalsIgnoreCase("RevisionHistory")&&bDocumentTracking)
427+
|| (qName.equalsIgnoreCase("cvrf:RevisionHistory")&&bDocumentTracking)) {
428+
bDocumentTrackingRevisionHistory = false;
424429
}else if ((qName.equalsIgnoreCase("ID")&&bDocumentTrackingIdentification)
425430
|| (qName.equalsIgnoreCase("cvrf:ID") && bDocumentTrackingIdentification)) {
426431
bDocumentTrackingID = false;
427432
}else if (qName.equalsIgnoreCase("Alias")
428433
|| qName.equalsIgnoreCase("cvrf:Alias")) {
429-
bAlias = false;
434+
bDocumentTrackingAlias = false;
430435
}else if (qName.equalsIgnoreCase("Status")
431436
|| qName.equalsIgnoreCase("cvrf:Status")) {
432437
bDocumentTrackingStatus = false;

0 commit comments

Comments
 (0)