fixes sonar/findbugs issues
add Date.toString() to forbidden-apis and fix occurrences git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1712181 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
06b3878176
commit
acb219fbe1
@ -73,7 +73,7 @@ class TypedPropertyValue
|
|||||||
return offset - startOffset;
|
return offset - startOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
int readValue( byte[] data, int offset )
|
int readValue( byte[] data, int offset ) // NOSONAR
|
||||||
{
|
{
|
||||||
switch ( _type )
|
switch ( _type )
|
||||||
{
|
{
|
||||||
@ -82,18 +82,16 @@ class TypedPropertyValue
|
|||||||
_value = null;
|
_value = null;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
case Variant.VT_R4:
|
||||||
case Variant.VT_I2:
|
case Variant.VT_I2:
|
||||||
_value = Short.valueOf( LittleEndian.getShort( data, offset ) );
|
_value = Short.valueOf( LittleEndian.getShort( data, offset ) );
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
|
case Variant.VT_INT:
|
||||||
case Variant.VT_I4:
|
case Variant.VT_I4:
|
||||||
_value = Integer.valueOf( LittleEndian.getInt( data, offset ) );
|
_value = Integer.valueOf( LittleEndian.getInt( data, offset ) );
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
case Variant.VT_R4:
|
|
||||||
_value = Short.valueOf( LittleEndian.getShort( data, offset ) );
|
|
||||||
return 4;
|
|
||||||
|
|
||||||
case Variant.VT_R8:
|
case Variant.VT_R8:
|
||||||
_value = Double.valueOf( LittleEndian.getDouble( data, offset ) );
|
_value = Double.valueOf( LittleEndian.getDouble( data, offset ) );
|
||||||
return 8;
|
return 8;
|
||||||
@ -110,10 +108,6 @@ class TypedPropertyValue
|
|||||||
_value = new CodePageString( data, offset );
|
_value = new CodePageString( data, offset );
|
||||||
return ( (CodePageString) _value ).getSize();
|
return ( (CodePageString) _value ).getSize();
|
||||||
|
|
||||||
case Variant.VT_ERROR:
|
|
||||||
_value = Long.valueOf( LittleEndian.getUInt( data, offset ) );
|
|
||||||
return 4;
|
|
||||||
|
|
||||||
case Variant.VT_BOOL:
|
case Variant.VT_BOOL:
|
||||||
_value = new VariantBool( data, offset );
|
_value = new VariantBool( data, offset );
|
||||||
return VariantBool.SIZE;
|
return VariantBool.SIZE;
|
||||||
@ -134,7 +128,9 @@ class TypedPropertyValue
|
|||||||
_value = Integer.valueOf( LittleEndian.getUShort( data, offset ) );
|
_value = Integer.valueOf( LittleEndian.getUShort( data, offset ) );
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
|
case Variant.VT_UINT:
|
||||||
case Variant.VT_UI4:
|
case Variant.VT_UI4:
|
||||||
|
case Variant.VT_ERROR:
|
||||||
_value = Long.valueOf( LittleEndian.getUInt( data, offset ) );
|
_value = Long.valueOf( LittleEndian.getUInt( data, offset ) );
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
@ -146,14 +142,6 @@ class TypedPropertyValue
|
|||||||
_value = LittleEndian.getByteArray( data, offset, 8 );
|
_value = LittleEndian.getByteArray( data, offset, 8 );
|
||||||
return 8;
|
return 8;
|
||||||
|
|
||||||
case Variant.VT_INT:
|
|
||||||
_value = Integer.valueOf( LittleEndian.getInt( data, offset ) );
|
|
||||||
return 4;
|
|
||||||
|
|
||||||
case Variant.VT_UINT:
|
|
||||||
_value = Long.valueOf( LittleEndian.getUInt( data, offset ) );
|
|
||||||
return 4;
|
|
||||||
|
|
||||||
case Variant.VT_LPSTR:
|
case Variant.VT_LPSTR:
|
||||||
_value = new CodePageString( data, offset );
|
_value = new CodePageString( data, offset );
|
||||||
return ( (CodePageString) _value ).getSize();
|
return ( (CodePageString) _value ).getSize();
|
||||||
|
@ -22,12 +22,14 @@ package org.apache.poi.ss.usermodel;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
|
import java.text.DateFormat;
|
||||||
import java.text.DateFormatSymbols;
|
import java.text.DateFormatSymbols;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.DecimalFormatSymbols;
|
import java.text.DecimalFormatSymbols;
|
||||||
import java.text.FieldPosition;
|
import java.text.FieldPosition;
|
||||||
import java.text.Format;
|
import java.text.Format;
|
||||||
import java.text.ParsePosition;
|
import java.text.ParsePosition;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -107,7 +109,7 @@ import org.apache.poi.util.POILogger;
|
|||||||
* Excel will output "", <code>DataFormatter</code> will output "0".
|
* Excel will output "", <code>DataFormatter</code> will output "0".
|
||||||
* </ul>
|
* </ul>
|
||||||
* <p>
|
* <p>
|
||||||
* Some formats are automatically "localised" by Excel, eg show as mm/dd/yyyy when
|
* Some formats are automatically "localized" by Excel, eg show as mm/dd/yyyy when
|
||||||
* loaded in Excel in some Locales but as dd/mm/yyyy in others. These are always
|
* loaded in Excel in some Locales but as dd/mm/yyyy in others. These are always
|
||||||
* returned in the "default" (US) format, as stored in the file.
|
* returned in the "default" (US) format, as stored in the file.
|
||||||
* Some format strings request an alternate locale, eg
|
* Some format strings request an alternate locale, eg
|
||||||
@ -176,6 +178,11 @@ public class DataFormatter implements Observer {
|
|||||||
*/
|
*/
|
||||||
private DateFormatSymbols dateSymbols;
|
private DateFormatSymbols dateSymbols;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A default date format, if no date format was given
|
||||||
|
*/
|
||||||
|
private DateFormat defaultDateformat;
|
||||||
|
|
||||||
/** <em>General</em> format for numbers. */
|
/** <em>General</em> format for numbers. */
|
||||||
private Format generalNumberFormat;
|
private Format generalNumberFormat;
|
||||||
|
|
||||||
@ -690,10 +697,7 @@ public class DataFormatter implements Observer {
|
|||||||
* supplied Date and format
|
* supplied Date and format
|
||||||
*/
|
*/
|
||||||
private String performDateFormatting(Date d, Format dateFormat) {
|
private String performDateFormatting(Date d, Format dateFormat) {
|
||||||
if(dateFormat != null) {
|
return (dateFormat != null ? dateFormat : defaultDateformat).format(d);
|
||||||
return dateFormat.format(d);
|
|
||||||
}
|
|
||||||
return d.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -945,7 +949,7 @@ public class DataFormatter implements Observer {
|
|||||||
* To notify callers, the returned {@link Observable} should be used.
|
* To notify callers, the returned {@link Observable} should be used.
|
||||||
* The Object in {@link Observer#update(Observable, Object)} is the new Locale.
|
* The Object in {@link Observer#update(Observable, Object)} is the new Locale.
|
||||||
*
|
*
|
||||||
* @return the listener object, where callers can register themself
|
* @return the listener object, where callers can register themselves
|
||||||
*/
|
*/
|
||||||
public Observable getLocaleChangedObservable() {
|
public Observable getLocaleChangedObservable() {
|
||||||
return localeChangedObervable;
|
return localeChangedObervable;
|
||||||
@ -968,6 +972,10 @@ public class DataFormatter implements Observer {
|
|||||||
decimalSymbols = DecimalFormatSymbols.getInstance(locale);
|
decimalSymbols = DecimalFormatSymbols.getInstance(locale);
|
||||||
generalNumberFormat = new ExcelGeneralNumberFormat(locale);
|
generalNumberFormat = new ExcelGeneralNumberFormat(locale);
|
||||||
|
|
||||||
|
// taken from Date.toString()
|
||||||
|
defaultDateformat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", dateSymbols);
|
||||||
|
defaultDateformat.setTimeZone(LocaleUtil.getUserTimeZone());
|
||||||
|
|
||||||
// init built-in formats
|
// init built-in formats
|
||||||
|
|
||||||
formats.clear();
|
formats.clear();
|
||||||
|
@ -18,9 +18,14 @@
|
|||||||
package org.apache.poi;
|
package org.apache.poi;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.DateFormatSymbols;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
|
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
import org.openxmlformats.schemas.officeDocument.x2006.customProperties.CTProperty;
|
import org.openxmlformats.schemas.officeDocument.x2006.customProperties.CTProperty;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,20 +34,27 @@ import org.openxmlformats.schemas.officeDocument.x2006.customProperties.CTProper
|
|||||||
* and title.
|
* and title.
|
||||||
*/
|
*/
|
||||||
public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor {
|
public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor {
|
||||||
|
|
||||||
|
private final DateFormat dateFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new POIXMLPropertiesTextExtractor for the
|
* Creates a new POIXMLPropertiesTextExtractor for the
|
||||||
* given open document.
|
* given open document.
|
||||||
*/
|
*/
|
||||||
public POIXMLPropertiesTextExtractor(POIXMLDocument doc) {
|
public POIXMLPropertiesTextExtractor(POIXMLDocument doc) {
|
||||||
super(doc);
|
super(doc);
|
||||||
|
DateFormatSymbols dfs = DateFormatSymbols.getInstance(Locale.ROOT);
|
||||||
|
dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", dfs);
|
||||||
|
dateFormat.setTimeZone(LocaleUtil.TIMEZONE_UTC);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new POIXMLPropertiesTextExtractor, for the
|
* Creates a new POIXMLPropertiesTextExtractor, for the
|
||||||
* same file that another TextExtractor is already
|
* same file that another TextExtractor is already
|
||||||
* working on.
|
* working on.
|
||||||
*/
|
*/
|
||||||
public POIXMLPropertiesTextExtractor(POIXMLTextExtractor otherExtractor) {
|
public POIXMLPropertiesTextExtractor(POIXMLTextExtractor otherExtractor) {
|
||||||
super(otherExtractor.getDocument());
|
this(otherExtractor.getDocument());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void appendIfPresent(StringBuffer text, String thing, boolean value) {
|
private void appendIfPresent(StringBuffer text, String thing, boolean value) {
|
||||||
@ -53,7 +65,7 @@ public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor {
|
|||||||
}
|
}
|
||||||
private void appendIfPresent(StringBuffer text, String thing, Date value) {
|
private void appendIfPresent(StringBuffer text, String thing, Date value) {
|
||||||
if(value == null) { return; }
|
if(value == null) { return; }
|
||||||
appendIfPresent(text, thing, value.toString());
|
appendIfPresent(text, thing, dateFormat.format(value));
|
||||||
}
|
}
|
||||||
private void appendIfPresent(StringBuffer text, String thing, String value) {
|
private void appendIfPresent(StringBuffer text, String thing, String value) {
|
||||||
if(value == null) { return; }
|
if(value == null) { return; }
|
||||||
@ -66,7 +78,8 @@ public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor {
|
|||||||
/**
|
/**
|
||||||
* Returns the core document properties, eg author
|
* Returns the core document properties, eg author
|
||||||
*/
|
*/
|
||||||
public String getCorePropertiesText() {
|
@SuppressWarnings("resource")
|
||||||
|
public String getCorePropertiesText() {
|
||||||
POIXMLDocument document = getDocument();
|
POIXMLDocument document = getDocument();
|
||||||
if(document == null) { // event based extractor does not have a document
|
if(document == null) { // event based extractor does not have a document
|
||||||
return "";
|
return "";
|
||||||
@ -103,7 +116,8 @@ public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor {
|
|||||||
* Returns the extended document properties, eg
|
* Returns the extended document properties, eg
|
||||||
* application
|
* application
|
||||||
*/
|
*/
|
||||||
public String getExtendedPropertiesText() {
|
@SuppressWarnings("resource")
|
||||||
|
public String getExtendedPropertiesText() {
|
||||||
POIXMLDocument document = getDocument();
|
POIXMLDocument document = getDocument();
|
||||||
if(document == null) { // event based extractor does not have a document
|
if(document == null) { // event based extractor does not have a document
|
||||||
return "";
|
return "";
|
||||||
@ -135,7 +149,7 @@ public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor {
|
|||||||
* Returns the custom document properties, if
|
* Returns the custom document properties, if
|
||||||
* there are any
|
* there are any
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings({ "deprecation", "resource" })
|
||||||
public String getCustomPropertiesText() {
|
public String getCustomPropertiesText() {
|
||||||
POIXMLDocument document = getDocument();
|
POIXMLDocument document = getDocument();
|
||||||
if(document == null) { // event based extractor does not have a document
|
if(document == null) { // event based extractor does not have a document
|
||||||
|
@ -22,4 +22,5 @@
|
|||||||
|
|
||||||
java.util.Locale#getDefault()
|
java.util.Locale#getDefault()
|
||||||
java.util.Locale#setDefault(java.util.Locale)
|
java.util.Locale#setDefault(java.util.Locale)
|
||||||
java.util.TimeZone#getDefault()
|
java.util.TimeZone#getDefault()
|
||||||
|
java.util.Date#toString()
|
@ -17,19 +17,29 @@
|
|||||||
|
|
||||||
package org.apache.poi.hmef.attribute;
|
package org.apache.poi.hmef.attribute;
|
||||||
|
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.DateFormatSymbols;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.apache.poi.hmef.Attachment;
|
import org.apache.poi.hmef.Attachment;
|
||||||
import org.apache.poi.hmef.HMEFMessage;
|
import org.apache.poi.hmef.HMEFMessage;
|
||||||
import org.apache.poi.hpsf.Util;
|
import org.apache.poi.hpsf.Util;
|
||||||
import org.apache.poi.hsmf.datatypes.MAPIProperty;
|
import org.apache.poi.hsmf.datatypes.MAPIProperty;
|
||||||
import org.apache.poi.util.LittleEndian;
|
import org.apache.poi.util.LittleEndian;
|
||||||
|
import org.apache.poi.util.LocaleUtil;
|
||||||
import org.apache.poi.util.POILogFactory;
|
import org.apache.poi.util.POILogFactory;
|
||||||
import org.apache.poi.util.POILogger;
|
import org.apache.poi.util.POILogger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A pure-MAPI attribute holding a Date, which applies
|
* A pure-MAPI attribute holding a Date, which applies
|
||||||
* to a {@link HMEFMessage} or one of its {@link Attachment}s.
|
* to a {@link HMEFMessage} or one of its {@link Attachment}s.
|
||||||
|
*
|
||||||
|
* Timestamps are usually given in UTC.
|
||||||
|
*
|
||||||
|
* @see <a href="https://msdn.microsoft.com/en-us/library/cc433482(v=exchg.80).aspx">[MS-OXOMSG]: Email Object Protocol</a>
|
||||||
|
* @see <a href="https://msdn.microsoft.com/en-us/library/cc433490(v=exchg.80).aspx">[MS-OXPROPS]: Exchange Server Protocols Master Property List</a>
|
||||||
*/
|
*/
|
||||||
public final class MAPIDateAttribute extends MAPIAttribute {
|
public final class MAPIDateAttribute extends MAPIAttribute {
|
||||||
private static POILogger logger = POILogFactory.getLogger(MAPIDateAttribute.class);
|
private static POILogger logger = POILogFactory.getLogger(MAPIDateAttribute.class);
|
||||||
@ -53,7 +63,10 @@ public final class MAPIDateAttribute extends MAPIAttribute {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return getProperty().toString() + " " + data.toString();
|
DateFormatSymbols dfs = DateFormatSymbols.getInstance(Locale.ROOT);
|
||||||
|
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", dfs);
|
||||||
|
df.setTimeZone(LocaleUtil.TIMEZONE_UTC);
|
||||||
|
return getProperty().toString() + " " + df.format(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,8 +19,12 @@ package org.apache.poi.hmef.attribute;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.DateFormatSymbols;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.apache.poi.hmef.Attachment;
|
import org.apache.poi.hmef.Attachment;
|
||||||
import org.apache.poi.hmef.HMEFMessage;
|
import org.apache.poi.hmef.HMEFMessage;
|
||||||
@ -45,26 +49,26 @@ public final class TNEFDateAttribute extends TNEFAttribute {
|
|||||||
protected TNEFDateAttribute(int id, int type, InputStream inp) throws IOException {
|
protected TNEFDateAttribute(int id, int type, InputStream inp) throws IOException {
|
||||||
super(id, type, inp);
|
super(id, type, inp);
|
||||||
|
|
||||||
byte[] data = getData();
|
byte[] binData = getData();
|
||||||
if(data.length == 8) {
|
if(binData.length == 8) {
|
||||||
// The value is a 64 bit Windows Filetime
|
// The value is a 64 bit Windows Filetime
|
||||||
this.data = Util.filetimeToDate(
|
this.data = Util.filetimeToDate(
|
||||||
LittleEndian.getLong(getData(), 0)
|
LittleEndian.getLong(getData(), 0)
|
||||||
);
|
);
|
||||||
} else if(data.length == 14) {
|
} else if(binData.length == 14) {
|
||||||
// It's the 7 date fields. We think it's in UTC...
|
// It's the 7 date fields. We think it's in UTC...
|
||||||
Calendar c = LocaleUtil.getLocaleCalendar(LocaleUtil.TIMEZONE_UTC);
|
Calendar c = LocaleUtil.getLocaleCalendar(LocaleUtil.TIMEZONE_UTC);
|
||||||
c.set(Calendar.YEAR, LittleEndian.getUShort(data, 0));
|
c.set(Calendar.YEAR, LittleEndian.getUShort(binData, 0));
|
||||||
c.set(Calendar.MONTH, LittleEndian.getUShort(data, 2) - 1); // Java months are 0 based!
|
c.set(Calendar.MONTH, LittleEndian.getUShort(binData, 2) - 1); // Java months are 0 based!
|
||||||
c.set(Calendar.DAY_OF_MONTH, LittleEndian.getUShort(data, 4));
|
c.set(Calendar.DAY_OF_MONTH, LittleEndian.getUShort(binData, 4));
|
||||||
c.set(Calendar.HOUR_OF_DAY, LittleEndian.getUShort(data, 6));
|
c.set(Calendar.HOUR_OF_DAY, LittleEndian.getUShort(binData, 6));
|
||||||
c.set(Calendar.MINUTE, LittleEndian.getUShort(data, 8));
|
c.set(Calendar.MINUTE, LittleEndian.getUShort(binData, 8));
|
||||||
c.set(Calendar.SECOND, LittleEndian.getUShort(data, 10));
|
c.set(Calendar.SECOND, LittleEndian.getUShort(binData, 10));
|
||||||
// The 7th field is day of week, which we don't require
|
// The 7th field is day of week, which we don't require
|
||||||
c.clear(Calendar.MILLISECOND); // Not set in the file
|
c.clear(Calendar.MILLISECOND); // Not set in the file
|
||||||
this.data = c.getTime();
|
this.data = c.getTime();
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("Invalid date, found " + data.length + " bytes");
|
throw new IllegalArgumentException("Invalid date, found " + binData.length + " bytes");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,8 +77,11 @@ public final class TNEFDateAttribute extends TNEFAttribute {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
DateFormatSymbols dfs = DateFormatSymbols.getInstance(Locale.ROOT);
|
||||||
|
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", dfs);
|
||||||
|
df.setTimeZone(LocaleUtil.TIMEZONE_UTC);
|
||||||
return "Attribute " + getProperty().toString() + ", type=" + getType() +
|
return "Attribute " + getProperty().toString() + ", type=" + getType() +
|
||||||
", date=" + data.toString();
|
", date=" + df.format(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -394,7 +394,7 @@ public final class CharacterSprmUncompressor extends SprmUncompressor
|
|||||||
newCHP.setHpsPos (hpsPos);
|
newCHP.setHpsPos (hpsPos);
|
||||||
}
|
}
|
||||||
boolean fAdjust = (operand & 0x0100) > 0;
|
boolean fAdjust = (operand & 0x0100) > 0;
|
||||||
if (fAdjust && hpsPos != 128 && hpsPos != 0 && oldCHP.getHpsPos () == 0)
|
if (fAdjust && (hpsPos & 0xFF) != 128 && hpsPos != 0 && oldCHP.getHpsPos () == 0)
|
||||||
{
|
{
|
||||||
newCHP.setHps (Math.max (newCHP.getHps () + ( -2), 2));
|
newCHP.setHps (Math.max (newCHP.getHps () + ( -2), 2));
|
||||||
}
|
}
|
||||||
|
@ -2949,6 +2949,8 @@ public final class TestBugs extends BaseTestBugzillaIssues {
|
|||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Assume.assumeNoException("Downloading a jpg from poi.apache.org should work", e);
|
Assume.assumeNoException("Downloading a jpg from poi.apache.org should work", e);
|
||||||
return;
|
return;
|
||||||
|
} finally {
|
||||||
|
wb.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert BufferedImage to byte[]
|
// Convert BufferedImage to byte[]
|
||||||
|
Loading…
Reference in New Issue
Block a user