| package org.apache.log4j.helpers; |
| import org.apache.log4j.helpers.LogLog; |
| import org.apache.log4j.helpers.OptionConverter; |
| import org.apache.log4j.helpers.AbsoluteTimeDateFormat; |
| import org.apache.log4j.Layout; |
| import org.apache.log4j.spi.LoggingEvent; |
| import org.apache.log4j.spi.LocationInfo; |
| import java.text.DateFormat; |
| import java.text.SimpleDateFormat; |
| import java.util.Date; |
| public |
| class PatternParser |
| { |
| private static final |
| char ESCAPE_CHAR |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.ESCAPE_CHAR : Interval 0 : % : % |
| =' % ' |
| ; |
| private static final |
| int LITERAL_STATE |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LITERAL_STATE : Interval 0 : 0 : 0 |
| =0 |
| ; |
| private static final |
| int CONVERTER_STATE |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.CONVERTER_STATE : Interval 0 : 1 : 1 |
| =1 |
| ; |
| private static final |
| int DOT_STATE |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.DOT_STATE : Interval 0 : 3 : 3 |
| =3 |
| ; |
| private static final |
| int MIN_STATE |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.MIN_STATE : Interval 0 : 4 : 4 |
| =4 |
| ; |
| private static final |
| int MAX_STATE |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.MAX_STATE : Interval 0 : 5 : 5 |
| =5 |
| ; |
| static final |
| int FULL_LOCATION_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.FULL_LOCATION_CONVERTER: Interval 0 : 1000 : 1000 |
| =1000 |
| ; |
| static final |
| int METHOD_LOCATION_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.METHOD_LOCATION_CONVERTER: Interval 0 : 1001 : 1001 |
| =1001 |
| ; |
| static final |
| int CLASS_LOCATION_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.CLASS_LOCATION_CONVERTER: Interval 0 : 1002 : 1002 |
| =1002 |
| ; |
| static final |
| int LINE_LOCATION_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LINE_LOCATION_CONVERTER: Interval 0 : 1003 : 1003 |
| =1003 |
| ; |
| static final |
| int FILE_LOCATION_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.FILE_LOCATION_CONVERTER: Interval 0 : 1004 : 1004 |
| =1004 |
| ; |
| static final |
| int RELATIVE_TIME_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.RELATIVE_TIME_CONVERTER: Interval 0 : 2000 : 2000 |
| =2000 |
| ; |
| static final |
| int THREAD_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.THREAD_CONVERTER: Interval 0 : 2001 : 2001 |
| =2001 |
| ; |
| static final |
| int LEVEL_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LEVEL_CONVERTER : Interval 0 : 2002 : 2002 |
| =2002 |
| ; |
| static final |
| int NDC_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NDC_CONVERTER : Interval 0 : 2003 : 2003 |
| =2003 |
| ; |
| static final |
| int MESSAGE_CONVERTER |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.MESSAGE_CONVERTER: Interval 0 : 2004 : 2004 |
| =2004 |
| ; |
| int state |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state : Interval 0 : -2147483647 : 2147483647 |
| ; |
| protected |
| StringBuffer currentLiteral |
| //QC Intervals :(StringBuffer) org.apache.log4j.helpers.PatternParser.currentLiteral : Interval 0 : new : new |
| =new StringBuffer(32) |
| ; |
| protected |
| int patternLength |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.patternLength : Interval 0 : -2147483647 : 2147483647 |
| ; |
| protected |
| int i |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i : Interval 0 : -2147483647 : 2147483647 |
| ; |
| PatternConverter head |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.head : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| PatternConverter tail |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.tail : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| protected |
| FormattingInfo formattingInfo |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.formattingInfo : Interval 0 : new : new |
| =new FormattingInfo() |
| ; |
| protected |
| String pattern |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.pattern : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| public |
| PatternParser |
| ( |
| String pattern |
| ) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.PatternParser.pattern: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| this.pattern=pattern; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.pattern |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| patternLength=pattern.length(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on pattern (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.patternLength |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| state=LITERAL_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 0 : 0 |
| //assignation |
| } |
| private |
| void addToList |
| ( |
| PatternConverter pc |
| ) |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList.pc : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| if (head==null ) |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList |
| : Interval 0 : null : null |
| { |
| head=(tail=pc); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| else |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList |
| : Interval 0 : new : new |
| { |
| tail.next=pc; |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternConverter |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| tail=pc; |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| } |
| protected |
| String extractOption |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.extractOption : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| ) |
| { |
| if ((i<patternLength)&&(pattern.charAt(i)==' { ')) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (int)org.apache.log4j.helpers.PatternParser.i |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (int)org.apache.log4j.helpers.PatternParser.patternLength |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (TypeInconnu)pattern.charAt |
| { |
| int end=pattern.indexOf(' } ',i); |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractOption.end: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| if (end> i) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (int)org.apache.log4j.helpers.PatternParser.extractOption.end |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (int)org.apache.log4j.helpers.PatternParser.i |
| { |
| String r=pattern.substring(i+1,end); |
| //QC-CWE190 and QCerrorOVF attention overflow + on i (2147483647,2147483647) and varlocaleb37 (1,1) = 2147483648 |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.extractOption.r : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| i=(end+1); |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i |
| : Interval 0 : 1 : 1 |
| //assignation |
| return r; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.extractOption.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractOption.end: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i |
| : Interval 0 : 2147483647 : 2147483647 |
| //QC : Interval 1 : 1 : 1 |
| } |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i |
| : Interval 0 : new : new |
| //QC : Interval 1 : 1 : 2147483647 |
| return null ; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.extractOption.return: Interval 0 : null : null |
| } |
| protected |
| int extractPrecisionOption |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractPrecisionOption: Interval 0 : -2147483647 : 2147483647 |
| ( |
| ) |
| { |
| String opt=extractOption(); |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.opt: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| int r=0; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.r: Interval 0 : 0 : 0 |
| if (opt!=null ) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.opt: Interval 0 : new : new |
| { |
| try |
| { |
| r=Integer.parseInt(opt); |
| //QC Intervals : (String) java.lang.Integer.parseInt |
| 1 : Interval 0 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.r: Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| if (r<=0) |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.r: Interval 0 : -2147483647 : -1 |
| //QC : Interval 1 : 0 : 0 |
| { |
| LogLog.error("Precision option ( "+opt+" ) isn't a positive integer . "); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : Precision option ( new ) isn't a positive integer . : Precision option ( new ) isn't a positive integer . |
| //type of the function/method : void |
| r=0; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.r: Interval 0 : 0 : 0 |
| //assignation |
| } |
| } |
| catch ( |
| NumberFormatException e |
| ) |
| //QC Intervals :(NumberFormatException) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.e: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.error("Category option \""+opt+"\" not a decimal integer . ",e); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : Category option "new" not a decimal integer . : Category option "new" not a decimal integer . |
| //QC Intervals :(Throwable) org.apache.log4j.helpers.LogLog.error |
| 2 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| } |
| } |
| return r; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.extractPrecisionOption.return: Interval 0 : 0 : 0 |
| //QC : Interval 1 : -2147483647 : 2147483647 |
| } |
| public |
| PatternConverter parse |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.parse : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| ) |
| { |
| char c; |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : A : z |
| i=0; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i |
| : Interval 0 : 0 : 0 |
| //assignation |
| while (i<patternLength) |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i |
| : Interval 0 : 0 : 0 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.patternLength |
| : Interval 0 : 1 : 2147483647 |
| { |
| c=pattern.charAt(i++); |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| switch (state){ |
| case LITERAL_STATE: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 0 : 0 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LITERAL_STATE |
| : Interval 0 : 0 : 0 |
| if (i==patternLength) |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i |
| : Interval 0 : 1 : 1 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.patternLength |
| : Interval 0 : 1 : 1 |
| { |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| continue ; |
| } |
| if (c==ESCAPE_CHAR) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.ESCAPE_CHAR |
| { |
| switch (pattern.charAt(i)){ |
| case ESCAPE_CHAR: |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)pattern.charAt |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.ESCAPE_CHAR |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| i++; |
| //type of the function/method : unknown |
| break ; |
| case 'n': |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)pattern.charAt |
| currentLiteral.append(Layout.LINE_SEP); |
| //type of the function/method : TypeInconnu |
| i++; |
| //type of the function/method : unknown |
| break ; |
| default : |
| if (currentLiteral.length()!=0) |
| //QC Intervals : (int) java.lang.StringBuffer.length |
| : Interval 0 : -2147483647 : -1 |
| //QC : Interval 1 : 1 : 2147483647 |
| { |
| addToList(new LiteralPatternConverter(currentLiteral.toString())); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList |
| 1 : Interval 0 : new : new |
| //type of the function/method : void |
| } |
| currentLiteral.setLength(0); |
| //QC Intervals : (int) java.lang.StringBuffer.setLength |
| 1 : Interval 0 : 0 : 0 |
| //type of the function/method : void |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| state=CONVERTER_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 1 : 1 |
| //assignation |
| formattingInfo.reset(); |
| //type of the function/method : void |
| } |
| } |
| else |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.ESCAPE_CHAR |
| : Interval 0 : % : % |
| { |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| } |
| break ; |
| case CONVERTER_STATE: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 1 : 1 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.CONVERTER_STATE |
| : Interval 0 : 1 : 1 |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| switch (c){ |
| case ' - ': |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| formattingInfo.leftAlign=true; |
| //QC Intervals : (boolean) org.apache.log4j.helpers.FormattingInfo.leftAlign |
| : Interval 0 : true : true |
| //assignation |
| break ; |
| case ' . ': |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| state=DOT_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 3 : 3 |
| //assignation |
| break ; |
| default : |
| if ((c>='0')&&(c<='9')) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| { |
| formattingInfo.min=(c-'0'); |
| //QC Intervals : (int) org.apache.log4j.helpers.FormattingInfo.min |
| : Interval 0 : 0 : 0 |
| //assignation |
| state=MIN_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 4 : 4 |
| //assignation |
| } |
| else |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| finalizeConverter(c); |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter |
| 1: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| } |
| break ; |
| case MIN_STATE: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 4 : 4 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.MIN_STATE |
| : Interval 0 : 4 : 4 |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| if ((c>='0')&&(c<='9')) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| formattingInfo.min=((formattingInfo.min*10)+(c-'0')); |
| //QC Intervals : (int) org.apache.log4j.helpers.FormattingInfo.min |
| : Interval 0 : -10 : -10 |
| //assignation |
| else |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| if (c==' . ') |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| state=DOT_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 3 : 3 |
| //assignation |
| else |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| finalizeConverter(c); |
| //type of the function/method : void |
| } |
| break ; |
| case DOT_STATE: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 3 : 3 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.DOT_STATE |
| : Interval 0 : 3 : 3 |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| if ((c>='0')&&(c<='9')) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| { |
| formattingInfo.max=(c-'0'); |
| //QC Intervals : (int) org.apache.log4j.helpers.FormattingInfo.max |
| : Interval 0 : 0 : 0 |
| //assignation |
| state=MAX_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 5 : 5 |
| //assignation |
| } |
| else |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.error("Error occured in position "+i+" . n Was expecting digit , instead got char \""+c+"\" . "); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : 1 : 1 |
| //type of the function/method : void |
| state=LITERAL_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 0 : 0 |
| //assignation |
| } |
| break ; |
| case MAX_STATE: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 5 : 5 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.MAX_STATE |
| : Interval 0 : 5 : 5 |
| currentLiteral.append(c); |
| //type of the function/method : TypeInconnu |
| if ((c>='0')&&(c<='9')) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (char)org.apache.log4j.helpers.PatternParser.parse.c |
| formattingInfo.max=((formattingInfo.max*10)+(c-'0')); |
| //QC-CWE190 and QCerrorOVF attention overflow * on formattingInfo_max (2147483647,2147483647) and varlocaleb160 (10,10) = 21474836470 |
| //QC Intervals : (int) org.apache.log4j.helpers.FormattingInfo.max |
| : Interval 0 : 2147483647 : 2147483647 |
| //assignation |
| else |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.parse.c : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| finalizeConverter(c); |
| //type of the function/method : void |
| state=LITERAL_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 0 : 0 |
| //assignation |
| } |
| break ; |
| } |
| } |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.i |
| : Interval 0 : 0 : 0 |
| //QC : Interval 1 : 1 : 1 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.patternLength |
| : Interval 0 : -2147483647 : -1 |
| //QC : Interval 1 : 0 : 0 |
| //QC : Interval 2 : 1 : 1 |
| if (currentLiteral.length()!=0) |
| //QC Intervals : (int) java.lang.StringBuffer.length |
| : Interval 0 : -2147483647 : -1 |
| //QC : Interval 1 : 1 : 2147483647 |
| { |
| addToList(new LiteralPatternConverter(currentLiteral.toString())); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList |
| 1 : Interval 0 : new : new |
| //type of the function/method : void |
| } |
| return head; |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.parse.return : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| protected |
| void finalizeConverter |
| ( |
| char c |
| ) |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| { |
| PatternConverter pc=null ; |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : null : null |
| switch (c){ |
| case 'c': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new CategoryPatternConverter(formattingInfo,extractPrecisionOption())); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //QC Intervals : (int) java.lang.StringBuffer.setLength |
| 1 : Interval 0 : 0 : 0 |
| //type of the function/method : void |
| break ; |
| case 'C': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new ClassNamePatternConverter(formattingInfo,extractPrecisionOption())); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'd': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| String dateFormatStr=AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.finalizeConverter.dateFormatStr: Interval 0 : ISO8601 : ISO8601 |
| //QC : Interval 1 : new : new |
| DateFormat df; |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.finalizeConverter.df: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| String dOpt=extractOption(); |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.finalizeConverter.dOpt: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| if (dOpt!=null ) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.finalizeConverter.dOpt: Interval 0 : new : new |
| dateFormatStr=dOpt; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.finalizeConverter.dateFormatStr: Interval 0 : new : new |
| //assignation |
| if (dateFormatStr.equalsIgnoreCase(AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT)) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (TypeInconnu)dateFormatStr.equalsIgnoreCase |
| df=(new ISO8601DateFormat()); |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.finalizeConverter.df: Interval 0 : new : new |
| //assignation |
| else |
| //QC Intervals :(TypeInconnu) dateFormatStr.equalsIgnoreCase : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| if (dateFormatStr.equalsIgnoreCase(AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT)) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (TypeInconnu)dateFormatStr.equalsIgnoreCase |
| df=(new AbsoluteTimeDateFormat()); |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.finalizeConverter.df: Interval 0 : new : new |
| //assignation |
| else |
| //QC Intervals :(TypeInconnu) dateFormatStr.equalsIgnoreCase : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| if (dateFormatStr.equalsIgnoreCase(AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT)) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (TypeInconnu)dateFormatStr.equalsIgnoreCase |
| df=(new DateTimeDateFormat()); |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.finalizeConverter.df: Interval 0 : new : new |
| //assignation |
| else |
| //QC Intervals :(TypeInconnu) dateFormatStr.equalsIgnoreCase : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| try |
| { |
| df=(new SimpleDateFormat(dateFormatStr)); |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.finalizeConverter.df: Interval 0 : new : new |
| //assignation |
| } |
| catch ( |
| IllegalArgumentException e |
| ) |
| //QC Intervals :(IllegalArgumentException) org.apache.log4j.helpers.PatternParser.finalizeConverter.e: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.error("Could not instantiate SimpleDateFormat with "+dateFormatStr,e); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : Could not instantiate SimpleDateFormat with ISO8601 : Could not instantiate SimpleDateFormat with ISO8601 |
| //QC : Interval 1 : Could not instantiate SimpleDateFormat with new : Could not instantiate SimpleDateFormat with new |
| //QC Intervals :(Throwable) org.apache.log4j.helpers.LogLog.error |
| 2 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| df=(DateFormat )OptionConverter.instantiateByClassName("org . apache . log4j . helpers . ISO8601DateFormat",DateFormat.class ,null ); |
| //QC Intervals : (String) org.apache.log4j.helpers.OptionConverter |
| 1 : Interval 0 : org . apache . log4j . helpers . ISO8601DateFormat : org . apache . log4j . helpers . ISO8601DateFormat |
| //QC Intervals : (Class) org.apache.log4j.helpers.OptionConverter |
| 2 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (Object) org.apache.log4j.helpers.OptionConverter |
| 3 : Interval 0 : null : null |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.finalizeConverter.df: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| } |
| pc=(new DatePatternConverter(formattingInfo,df)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'F': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new LocationPatternConverter(formattingInfo,FILE_LOCATION_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'l': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new LocationPatternConverter(formattingInfo,FULL_LOCATION_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'L': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new LocationPatternConverter(formattingInfo,LINE_LOCATION_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'm': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new BasicPatternConverter(formattingInfo,MESSAGE_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'M': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new LocationPatternConverter(formattingInfo,METHOD_LOCATION_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'p': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new BasicPatternConverter(formattingInfo,LEVEL_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'r': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new BasicPatternConverter(formattingInfo,RELATIVE_TIME_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 't': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new BasicPatternConverter(formattingInfo,THREAD_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'x': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| pc=(new BasicPatternConverter(formattingInfo,NDC_CONVERTER)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| case 'X': |
| //QC Intervals : (char) org.apache.log4j.helpers.PatternParser.finalizeConverter.c: Interval 0 : A : z |
| String xOpt=extractOption(); |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.finalizeConverter.xOpt: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| pc=(new MDCPatternConverter(formattingInfo,xOpt)); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| break ; |
| default : |
| LogLog.error("Unexpected char [ "+c+" ] at position "+i+" in conversion patterrn . "); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : -2147483647 : 2147483647 |
| //type of the function/method : void |
| pc=(new LiteralPatternConverter(currentLiteral.toString())); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.finalizeConverter.pc: Interval 0 : new : new |
| //assignation |
| currentLiteral.setLength(0); |
| //type of the function/method : void |
| } |
| addConverter(pc); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addConverter |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| } |
| protected |
| void addConverter |
| ( |
| PatternConverter pc |
| ) |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addConverter.pc : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| currentLiteral.setLength(0); |
| //QC Intervals : (int) java.lang.StringBuffer.setLength |
| 1 : Interval 0 : 0 : 0 |
| //type of the function/method : void |
| addToList(pc); |
| //QC Intervals :(PatternConverter) org.apache.log4j.helpers.PatternParser.addToList |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| state=LITERAL_STATE; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.state |
| : Interval 0 : 0 : 0 |
| //assignation |
| formattingInfo.reset(); |
| //type of the function/method : void |
| } |
| private static |
| class BasicPatternConverter |
| extends PatternConverter |
| { |
| int type |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.type: Interval 0 : -2147483647 : 2147483647 |
| ; |
| BasicPatternConverter |
| ( |
| FormattingInfo formattingInfo |
| , |
| int type |
| ) |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.BasicPatternConverter.formattingInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.BasicPatternConverter.type: Interval 0 : -2147483647 : 2147483647 |
| { |
| super(formattingInfo); |
| //type of the function/method : PatternConverter |
| this.type=type; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.type |
| : Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| } |
| public |
| String convert |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| switch (type){ |
| case RELATIVE_TIME_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.type |
| : Interval 0 : 2000 : 2000 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.RELATIVE_TIME_CONVERTER |
| : Interval 0 : 2000 : 2000 |
| return (Long.toString(event.timeStamp-LoggingEvent.getStartTime())); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC-CWE190 and QCerrorOVF attention overflow - on event_timeStamp (-9.2233720368548E+18,9.2233720368548E+18) and LoggingEvent_getStartTime (-9.2233720368548E+18,9.2233720368548E+18) = -1.844674407371E+19 |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC-CWE190 and QCerrorOVF attention overflow - on event_timeStamp (-9.2233720368548E+18,9.2233720368548E+18) and LoggingEvent_getStartTime (-9.2233720368548E+18,9.2233720368548E+18) = -1.844674407371E+19 |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC-CWE190 and QCerrorOVF attention overflow - on event_timeStamp (-9.2233720368548E+18,9.2233720368548E+18) and LoggingEvent_getStartTime (-9.2233720368548E+18,9.2233720368548E+18) = -1.844674407371E+19 |
| //QC Intervals : (long) java.lang.Long.toString |
| 1 : Interval 0 : -9.2233720368548E+18 : 9.2233720368548E+18 |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| case THREAD_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.type |
| : Interval 0 : 2001 : 2001 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.THREAD_CONVERTER |
| : Interval 0 : 2001 : 2001 |
| return event.getThreadName(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| case LEVEL_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.type |
| : Interval 0 : 2002 : 2002 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LEVEL_CONVERTER |
| : Interval 0 : 2002 : 2002 |
| return event.getLevel().toString(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| case NDC_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.type |
| : Interval 0 : 2003 : 2003 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NDC_CONVERTER |
| : Interval 0 : 2003 : 2003 |
| return event.getNDC(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| case MESSAGE_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.type |
| : Interval 0 : 2004 : 2004 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.MESSAGE_CONVERTER |
| : Interval 0 : 2004 : 2004 |
| { |
| return event.getRenderedMessage(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| default : |
| return null ; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.BasicPatternConverter.convert.return: Interval 0 : null : null |
| } |
| } |
| } |
| private static |
| class LiteralPatternConverter |
| extends PatternConverter |
| { |
| private |
| String literal |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.literal: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| LiteralPatternConverter |
| ( |
| String value |
| ) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.LiteralPatternConverter.value: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| literal=value; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.literal |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| public final |
| void format |
| ( |
| StringBuffer sbuf |
| , |
| LoggingEvent event |
| ) |
| //QC Intervals :(StringBuffer) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.format.sbuf: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.format.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| sbuf.append(literal); |
| //QC-CWE476 or QCerrorNPE null pointer reference on sbuf (see http://cwe.mitre.org/data/definitions/476.html) |
| //type of the function/method : TypeInconnu |
| } |
| public |
| String convert |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.convert: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.convert.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| return literal; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LiteralPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| } |
| private static |
| class DatePatternConverter |
| extends PatternConverter |
| { |
| private |
| DateFormat df |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.DatePatternConverter.df: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| private |
| Date date |
| //QC Intervals : (Date) org.apache.log4j.helpers.PatternParser.DatePatternConverter.date: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| DatePatternConverter |
| ( |
| FormattingInfo formattingInfo |
| , |
| DateFormat df |
| ) |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.DatePatternConverter.DatePatternConverter.formattingInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.DatePatternConverter.DatePatternConverter.df: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| super(formattingInfo); |
| //type of the function/method : PatternConverter |
| date=(new Date()); |
| //QC Intervals : (Date) org.apache.log4j.helpers.PatternParser.DatePatternConverter.DatePatternConverter |
| : Interval 0 : new : new |
| //assignation |
| this.df=df; |
| //QC Intervals :(DateFormat) org.apache.log4j.helpers.PatternParser.DatePatternConverter |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| public |
| String convert |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.DatePatternConverter.convert: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.DatePatternConverter.convert.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| date.setTime(event.timeStamp); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (long) java.util.Date.setTime |
| 1 : Interval 0 : -9.2233720368548E+18 : 9.2233720368548E+18 |
| //type of the function/method : void |
| String converted=null ; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.DatePatternConverter.convert.converted: Interval 0 : null : null |
| try |
| { |
| converted=df.format(date); |
| //QC Intervals : (Date) java.text.DateFormat.format |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.DatePatternConverter.convert.converted: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| catch ( |
| Exception ex |
| ) |
| //QC Intervals :(Exception) org.apache.log4j.helpers.PatternParser.DatePatternConverter.convert.ex: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.error("Error occured while converting date . ",ex); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : Error occured while converting date . : Error occured while converting date . |
| //QC Intervals :(Throwable) org.apache.log4j.helpers.LogLog.error |
| 2 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| } |
| return converted; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.DatePatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| } |
| private static |
| class MDCPatternConverter |
| extends PatternConverter |
| { |
| private |
| String key |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.key: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| MDCPatternConverter |
| ( |
| FormattingInfo formattingInfo |
| , |
| String key |
| ) |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.MDCPatternConverter.formattingInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.MDCPatternConverter.key: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| super(formattingInfo); |
| //type of the function/method : PatternConverter |
| this.key=key; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.key |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| public |
| String convert |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| Object val=event.getMDC(key); |
| //QC Intervals : (String) org.apache.log4j.spi.LoggingEvent |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (Object) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert.val: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| if (val==null ) |
| //QC Intervals : (Object) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert.val: Interval 0 : null : null |
| { |
| return null ; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert.return: Interval 0 : null : null |
| } |
| else |
| //QC Intervals : (Object) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert.val: Interval 0 : new : new |
| { |
| return val.toString(); |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| //QC Intervals : (Object) org.apache.log4j.helpers.PatternParser.MDCPatternConverter.convert.val: Interval 0 : new : new |
| } |
| } |
| private |
| class LocationPatternConverter |
| extends PatternConverter |
| { |
| int type |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.type: Interval 0 : -2147483647 : 2147483647 |
| ; |
| LocationPatternConverter |
| ( |
| FormattingInfo formattingInfo |
| , |
| int type |
| ) |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.LocationPatternConverter.formattingInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.LocationPatternConverter.type: Interval 0 : -2147483647 : 2147483647 |
| { |
| super(formattingInfo); |
| //type of the function/method : PatternConverter |
| this.type=type; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.type |
| : Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| } |
| public |
| String convert |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LocationInfo locationInfo=event.getLocationInformation(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals :(LocationInfo) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert.locationInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| switch (type){ |
| case FULL_LOCATION_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.type |
| : Interval 0 : 1000 : 1000 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.FULL_LOCATION_CONVERTER |
| : Interval 0 : 1000 : 1000 |
| return locationInfo.fullInfo; |
| //QC-CWE476 or QCerrorNPE null pointer reference on locationInfo (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| case METHOD_LOCATION_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.type |
| : Interval 0 : 1001 : 1001 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.METHOD_LOCATION_CONVERTER |
| : Interval 0 : 1001 : 1001 |
| return locationInfo.getMethodName(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on locationInfo (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| case LINE_LOCATION_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.type |
| : Interval 0 : 1003 : 1003 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LINE_LOCATION_CONVERTER |
| : Interval 0 : 1003 : 1003 |
| return locationInfo.getLineNumber(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on locationInfo (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| case FILE_LOCATION_CONVERTER: |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.type |
| : Interval 0 : 1004 : 1004 |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.FILE_LOCATION_CONVERTER |
| : Interval 0 : 1004 : 1004 |
| return locationInfo.getFileName(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on locationInfo (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| default : |
| return null ; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.LocationPatternConverter.convert.return: Interval 0 : null : null |
| } |
| } |
| } |
| private static abstract |
| class NamedPatternConverter |
| extends PatternConverter |
| { |
| int precision |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.precision: Interval 0 : -2147483647 : 2147483647 |
| ; |
| NamedPatternConverter |
| ( |
| FormattingInfo formattingInfo |
| , |
| int precision |
| ) |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.NamedPatternConverter.formattingInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.NamedPatternConverter.precision: Interval 0 : -2147483647 : 2147483647 |
| { |
| super(formattingInfo); |
| //type of the function/method : PatternConverter |
| this.precision=precision; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.precision |
| : Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| } |
| abstract |
| String getFullyQualifiedName |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.getFullyQualifiedName: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.getFullyQualifiedName.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| public |
| String convert |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| String n=getFullyQualifiedName(event); |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.getFullyQualifiedName |
| 1: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.n: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| if (precision<=0) |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.precision |
| : Interval 0 : -2147483647 : -1 |
| //QC : Interval 1 : 0 : 0 |
| return n; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| else |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.precision |
| : Interval 0 : 1 : 2147483647 |
| { |
| int len=n.length(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on n (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.len: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| int end=len-1; |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.end: Interval 0 : -1 : -1 |
| for ( |
| int i |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.i: Interval 0 : 1 : 2147483647 |
| =precision; |
| i> 0; |
| i-- |
| ) |
| { |
| end=n.lastIndexOf(' . ',(end-1)); |
| //QC-CWE476 or QCerrorNPE null pointer reference on n (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.end: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| if (end==(-1)) |
| //QC-CWE570 and QCerrorCNT Condition NEVER true : no interval for variable (int)org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.end |
| return n; |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.end: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| return n.substring(end+1,len); |
| //QC-CWE476 or QCerrorNPE null pointer reference on n (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.NamedPatternConverter.convert.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| } |
| } |
| private |
| class ClassNamePatternConverter |
| extends NamedPatternConverter |
| { |
| ClassNamePatternConverter |
| ( |
| FormattingInfo formattingInfo |
| , |
| int precision |
| ) |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.ClassNamePatternConverter.ClassNamePatternConverter.formattingInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.ClassNamePatternConverter.ClassNamePatternConverter.precision: Interval 0 : -2147483647 : 2147483647 |
| { |
| super(formattingInfo,precision); |
| //type of the function/method : NamedPatternConverter |
| } |
| String getFullyQualifiedName |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.ClassNamePatternConverter.getFullyQualifiedName: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.ClassNamePatternConverter.getFullyQualifiedName.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| return event.getLocationInformation().getClassName(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.ClassNamePatternConverter.getFullyQualifiedName.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| } |
| private |
| class CategoryPatternConverter |
| extends NamedPatternConverter |
| { |
| CategoryPatternConverter |
| ( |
| FormattingInfo formattingInfo |
| , |
| int precision |
| ) |
| //QC Intervals :(FormattingInfo) org.apache.log4j.helpers.PatternParser.CategoryPatternConverter.CategoryPatternConverter.formattingInfo: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.helpers.PatternParser.CategoryPatternConverter.CategoryPatternConverter.precision: Interval 0 : -2147483647 : 2147483647 |
| { |
| super(formattingInfo,precision); |
| //type of the function/method : NamedPatternConverter |
| } |
| String getFullyQualifiedName |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.CategoryPatternConverter.getFullyQualifiedName: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.helpers.PatternParser.CategoryPatternConverter.getFullyQualifiedName.event: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| return event.getLoggerName(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on event (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.helpers.PatternParser.CategoryPatternConverter.getFullyQualifiedName.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| } |
| } |