mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
[github-361] reuse regex pattern instances. Thanks to XenoAmess. This closes #361
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1902756 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
87ee700d04
commit
01f14a7548
@ -77,6 +77,8 @@ public class XMLSlideShow extends POIXMLDocument
|
||||
//arbitrarily selected; may need to increase
|
||||
private static final int DEFAULT_MAX_RECORD_LENGTH = 1_000_000;
|
||||
private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
|
||||
private static final Pattern GET_ALL_EMBEDDED_PARTS_PATTERN = Pattern.compile("/ppt/embeddings/.*?");
|
||||
private static final Pattern GET_PICTURE_DATA_PATTERN = Pattern.compile("/ppt/media/.*?");
|
||||
|
||||
private CTPresentation _presentation;
|
||||
private final List<XSLFSlide> _slides = new ArrayList<>();
|
||||
@ -222,14 +224,14 @@ public class XMLSlideShow extends POIXMLDocument
|
||||
@Override
|
||||
public List<PackagePart> getAllEmbeddedParts() {
|
||||
return Collections.unmodifiableList(
|
||||
getPackage().getPartsByName(Pattern.compile("/ppt/embeddings/.*?"))
|
||||
getPackage().getPartsByName(GET_ALL_EMBEDDED_PARTS_PATTERN)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<XSLFPictureData> getPictureData() {
|
||||
if (_pictures.isEmpty()) {
|
||||
getPackage().getPartsByName(Pattern.compile("/ppt/media/.*?")).forEach(part -> {
|
||||
getPackage().getPartsByName(GET_PICTURE_DATA_PATTERN).forEach(part -> {
|
||||
XSLFPictureData pd = new XSLFPictureData(part);
|
||||
pd.setIndex(_pictures.size());
|
||||
_pictures.add(pd);
|
||||
|
||||
@ -107,6 +107,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
|
||||
*/
|
||||
public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Support {
|
||||
private static final Pattern COMMA_PATTERN = Pattern.compile(",");
|
||||
private static final Pattern GET_ALL_PICTURES_PATTERN = Pattern.compile("/xl/media/.*?");
|
||||
|
||||
/**
|
||||
* Images formats supported by XSSF but not by HSSF
|
||||
@ -993,7 +994,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
|
||||
@Override
|
||||
public List<XSSFPictureData> getAllPictures() {
|
||||
if(pictures == null){
|
||||
List<PackagePart> mediaParts = getPackage().getPartsByName(Pattern.compile("/xl/media/.*?"));
|
||||
List<PackagePart> mediaParts = getPackage().getPartsByName(GET_ALL_PICTURES_PATTERN);
|
||||
pictures = new ArrayList<>(mediaParts.size());
|
||||
for(PackagePart part : mediaParts){
|
||||
pictures.add(new XSSFPictureData(part));
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user