ASF Bugzilla – Attachment 34776 Details for
Bug 55081
[PATCH] Function WEEKNUM is incomplete
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch adding the 1-argument version of WeekNum
bug55081.patch (text/plain), 2.11 KB, created by
Javen O'Neal
on 2017-02-23 17:02:41 UTC
(
hide
)
Description:
Patch adding the 1-argument version of WeekNum
Filename:
MIME Type:
Creator:
Javen O'Neal
Created:
2017-02-23 17:02:41 UTC
Size:
2.11 KB
patch
obsolete
>Index: src/java/org/apache/poi/ss/formula/functions/WeekNum.java >=================================================================== >--- src/java/org/apache/poi/ss/formula/functions/WeekNum.java (revision 1784169) >+++ src/java/org/apache/poi/ss/formula/functions/WeekNum.java (working copy) >@@ -27,6 +27,8 @@ > import org.apache.poi.ss.formula.eval.ValueEval; > import org.apache.poi.ss.usermodel.DateUtil; > import org.apache.poi.util.LocaleUtil; >+import org.apache.poi.util.POILogger; >+import org.apache.poi.util.POILogFactory; > > /** > * Implementation for Excel WeekNum() function.<p/> >@@ -43,9 +45,17 @@ > * 1 Week begins on Sunday. Weekdays are numbered 1 through 7. > * 2 Week begins on Monday. Weekdays are numbered 1 through 7. > */ >-public class WeekNum extends Fixed2ArgFunction implements FreeRefFunction { >+public class WeekNum extends Var1or2ArgFunction implements FreeRefFunction { >+ private static final POILogger LOGGER = POILogFactory.getLogger(WeekNum.class); > public static final FreeRefFunction instance = new WeekNum(); >+ private static final ValueEval DEFAULT_RETURN_TYPE = new NumberEval(1); > >+ @Override >+ public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval serialNumVE) { >+ return evaluate(srcRowIndex, srcColumnIndex, serialNumVE, DEFAULT_RETURN_TYPE); >+ } >+ >+ @Override > public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval serialNumVE, ValueEval returnTypeVE) { > double serialNum = 0.0; > try { >@@ -80,10 +90,17 @@ > return cal.get(Calendar.WEEK_OF_YEAR); > } > >+ @Override > public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) { >+ if (args.length == 1) { >+ return evaluate(ec.getRowIndex(), ec.getColumnIndex(), args[0], DEFAULT_RETURN_TYPE); >+ } > if (args.length == 2) { > return evaluate(ec.getRowIndex(), ec.getColumnIndex(), args[0], args[1]); > } >+ if (LOGGER.check(POILogger.WARN)) { >+ LOGGER.log(POILogger.WARN, "WeekNum() expected 1-2 args, got " + args.length); >+ } > return ErrorEval.VALUE_INVALID; > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 55081
:
30413
|
30414
|
30453
| 34776