Fix inconsistent whitespace/indents

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1678188 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-05-07 13:08:15 +00:00
parent 9fd1832753
commit 1c693babb8
2 changed files with 261 additions and 262 deletions

View File

@ -20,35 +20,35 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLatentStyles;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLsdException; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLsdException;
public class XWPFLatentStyles { public class XWPFLatentStyles {
private CTLatentStyles latentStyles; private CTLatentStyles latentStyles;
protected XWPFStyles styles; //LatentStyle shall know styles protected XWPFStyles styles; //LatentStyle shall know styles
protected XWPFLatentStyles(){ protected XWPFLatentStyles(){
} }
protected XWPFLatentStyles(CTLatentStyles latentStyles){ protected XWPFLatentStyles(CTLatentStyles latentStyles){
this(latentStyles,null); this(latentStyles,null);
} }
protected XWPFLatentStyles(CTLatentStyles latentStyles, XWPFStyles styles) { protected XWPFLatentStyles(CTLatentStyles latentStyles, XWPFStyles styles) {
this.latentStyles=latentStyles; this.latentStyles=latentStyles;
this.styles=styles; this.styles=styles;
} }
public int getNumberOfStyles() { public int getNumberOfStyles() {
return latentStyles.sizeOfLsdExceptionArray(); return latentStyles.sizeOfLsdExceptionArray();
} }
/** /**
* checks whether specific LatentStyleID is a latentStyle * checks whether specific LatentStyleID is a latentStyle
*/ */
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
protected boolean isLatentStyle(String latentStyleID){ protected boolean isLatentStyle(String latentStyleID){
for ( CTLsdException lsd: latentStyles.getLsdExceptionArray()) { for ( CTLsdException lsd: latentStyles.getLsdExceptionArray()) {
if(lsd.getName().equals(latentStyleID)) { if(lsd.getName().equals(latentStyleID)) {
return true; return true;
} }
} }
return false; return false;
} }
} }

View File

@ -59,260 +59,259 @@ public class XWPFStyles extends POIXMLDocumentPart{
* @param part the package part holding the data of the styles, * @param part the package part holding the data of the styles,
* @param rel the package relationship of type "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" * @param rel the package relationship of type "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
*/ */
public XWPFStyles(PackagePart part, PackageRelationship rel) throws IOException, OpenXML4JException{
super(part, rel);
}
public XWPFStyles(PackagePart part, PackageRelationship rel) throws IOException, OpenXML4JException{ /**
super(part, rel); * Construct XWPFStyles from scratch for a new document.
} */
public XWPFStyles() {
}
/** /**
* Construct XWPFStyles from scratch for a new document. * Read document
*/ */
public XWPFStyles() { @Override
} protected void onDocumentRead() throws IOException{
StylesDocument stylesDoc;
try {
InputStream is = getPackagePart().getInputStream();
stylesDoc = StylesDocument.Factory.parse(is);
setStyles(stylesDoc.getStyles());
latentStyles = new XWPFLatentStyles(ctStyles.getLatentStyles(), this);
} catch (XmlException e) {
throw new POIXMLException("Unable to read styles", e);
}
}
@Override
protected void commit() throws IOException {
if (ctStyles == null) {
throw new IllegalStateException("Unable to write out styles that were never read in!");
}
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTStyles.type.getName().getNamespaceURI(), "styles"));
Map<String,String> map = new HashMap<String,String>();
map.put("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "r");
map.put("http://schemas.openxmlformats.org/wordprocessingml/2006/main", "w");
xmlOptions.setSaveSuggestedPrefixes(map);
PackagePart part = getPackagePart();
OutputStream out = part.getOutputStream();
ctStyles.save(out, xmlOptions);
out.close();
}
protected void ensureDocDefaults() {
// TODO Refactor from elsewhere
}
/**
* Read document
*/
@Override
protected void onDocumentRead() throws IOException{
StylesDocument stylesDoc;
try {
InputStream is = getPackagePart().getInputStream();
stylesDoc = StylesDocument.Factory.parse(is);
setStyles(stylesDoc.getStyles());
latentStyles = new XWPFLatentStyles(ctStyles.getLatentStyles(), this);
} catch (XmlException e) {
throw new POIXMLException("Unable to read styles", e);
}
}
@Override
protected void commit() throws IOException {
if (ctStyles == null) {
throw new IllegalStateException("Unable to write out styles that were never read in!");
}
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTStyles.type.getName().getNamespaceURI(), "styles"));
Map<String,String> map = new HashMap<String,String>();
map.put("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "r");
map.put("http://schemas.openxmlformats.org/wordprocessingml/2006/main", "w");
xmlOptions.setSaveSuggestedPrefixes(map);
PackagePart part = getPackagePart();
OutputStream out = part.getOutputStream();
ctStyles.save(out, xmlOptions);
out.close();
}
protected void ensureDocDefaults() {
// TODO Refactor from elsewhere
}
/** /**
* Sets the ctStyles * Sets the ctStyles
* @param styles * @param styles
*/ */
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public void setStyles(CTStyles styles) { public void setStyles(CTStyles styles) {
ctStyles = styles; ctStyles = styles;
// Build up all the style objects // Build up all the style objects
for(CTStyle style : ctStyles.getStyleArray()) { for(CTStyle style : ctStyles.getStyleArray()) {
listStyle.add(new XWPFStyle(style, this)); listStyle.add(new XWPFStyle(style, this));
} }
} }
/**
* checks whether style with styleID exist
* @param styleID styleID of the Style in the style-Document
* @return true if style exist, false if style not exist
*/
public boolean styleExist(String styleID){
for (XWPFStyle style : listStyle) {
if (style.getStyleId().equals(styleID))
return true;
}
return false;
}
/**
* add a style to the document
* @param style
* @throws IOException
*/
public void addStyle(XWPFStyle style){
listStyle.add(style);
ctStyles.addNewStyle();
int pos = ctStyles.sizeOfStyleArray() - 1;
ctStyles.setStyleArray(pos, style.getCTStyle());
}
/**
*get style by a styleID
* @param styleID styleID of the searched style
* @return style
*/
public XWPFStyle getStyle(String styleID){
for (XWPFStyle style : listStyle) {
if(style.getStyleId().equals(styleID))
return style;
}
return null;
}
public int getNumberOfStyles() {
return listStyle.size();
}
/** /**
* get the styles which are related to the parameter style and their relatives * checks whether style with styleID exist
* this method can be used to copy all styles from one document to another document * @param styleID styleID of the Style in the style-Document
* @param style * @return true if style exist, false if style not exist
* @return a list of all styles which were used by this method */
*/ public boolean styleExist(String styleID){
public List<XWPFStyle> getUsedStyleList(XWPFStyle style){ for (XWPFStyle style : listStyle) {
List<XWPFStyle> usedStyleList = new ArrayList<XWPFStyle>(); if (style.getStyleId().equals(styleID))
usedStyleList.add(style); return true;
return getUsedStyleList(style, usedStyleList); }
} return false;
}
/** /**
* get the styles which are related to parameter style * add a style to the document
* @param style * @param style
* @return all Styles of the parameterList * @throws IOException
*/ */
private List<XWPFStyle> getUsedStyleList(XWPFStyle style, List<XWPFStyle> usedStyleList){ public void addStyle(XWPFStyle style){
String basisStyleID = style.getBasisStyleID(); listStyle.add(style);
XWPFStyle basisStyle = getStyle(basisStyleID); ctStyles.addNewStyle();
if((basisStyle!=null)&&(!usedStyleList.contains(basisStyle))){ int pos = ctStyles.sizeOfStyleArray() - 1;
usedStyleList.add(basisStyle); ctStyles.setStyleArray(pos, style.getCTStyle());
getUsedStyleList(basisStyle, usedStyleList); }
} /**
String linkStyleID = style.getLinkStyleID(); * Get style by a styleID
XWPFStyle linkStyle = getStyle(linkStyleID); * @param styleID styleID of the searched style
if((linkStyle!=null)&&(!usedStyleList.contains(linkStyle))){ * @return style
usedStyleList.add(linkStyle); */
getUsedStyleList(linkStyle, usedStyleList); public XWPFStyle getStyle(String styleID){
} for (XWPFStyle style : listStyle) {
if(style.getStyleId().equals(styleID))
String nextStyleID = style.getNextStyleID(); return style;
XWPFStyle nextStyle = getStyle(nextStyleID); }
if((nextStyle!=null)&&(!usedStyleList.contains(nextStyle))){ return null;
usedStyleList.add(linkStyle); }
getUsedStyleList(linkStyle, usedStyleList); public int getNumberOfStyles() {
} return listStyle.size();
return usedStyleList; }
}
/**
* Sets the default spelling language on ctStyles DocDefaults parameter
* @param strSpellingLanguage
*/
public void setSpellingLanguage(String strSpellingLanguage) {
CTDocDefaults docDefaults = null;
CTRPr runProps = null;
CTLanguage lang = null;
// Just making sure we use the members that have already been defined /**
if(ctStyles.isSetDocDefaults()) { * get the styles which are related to the parameter style and their relatives
docDefaults = ctStyles.getDocDefaults(); * this method can be used to copy all styles from one document to another document
if(docDefaults.isSetRPrDefault()) { * @param style
CTRPrDefault RPrDefault = docDefaults.getRPrDefault(); * @return a list of all styles which were used by this method
if(RPrDefault.isSetRPr()) { */
runProps = RPrDefault.getRPr(); public List<XWPFStyle> getUsedStyleList(XWPFStyle style){
if(runProps.isSetLang()) List<XWPFStyle> usedStyleList = new ArrayList<XWPFStyle>();
lang = runProps.getLang(); usedStyleList.add(style);
} return getUsedStyleList(style, usedStyleList);
} }
}
if(docDefaults == null) /**
docDefaults = ctStyles.addNewDocDefaults(); * get the styles which are related to parameter style
if(runProps == null) * @param style
runProps = docDefaults.addNewRPrDefault().addNewRPr(); * @return all Styles of the parameterList
if(lang == null) */
lang = runProps.addNewLang(); private List<XWPFStyle> getUsedStyleList(XWPFStyle style, List<XWPFStyle> usedStyleList){
String basisStyleID = style.getBasisStyleID();
XWPFStyle basisStyle = getStyle(basisStyleID);
if((basisStyle!=null)&&(!usedStyleList.contains(basisStyle))){
usedStyleList.add(basisStyle);
getUsedStyleList(basisStyle, usedStyleList);
}
String linkStyleID = style.getLinkStyleID();
XWPFStyle linkStyle = getStyle(linkStyleID);
if((linkStyle!=null)&&(!usedStyleList.contains(linkStyle))){
usedStyleList.add(linkStyle);
getUsedStyleList(linkStyle, usedStyleList);
}
lang.setVal(strSpellingLanguage); String nextStyleID = style.getNextStyleID();
lang.setBidi(strSpellingLanguage); XWPFStyle nextStyle = getStyle(nextStyleID);
} if((nextStyle!=null)&&(!usedStyleList.contains(nextStyle))){
usedStyleList.add(linkStyle);
getUsedStyleList(linkStyle, usedStyleList);
}
return usedStyleList;
}
/** /**
* Sets the default East Asia spelling language on ctStyles DocDefaults parameter * Sets the default spelling language on ctStyles DocDefaults parameter
* @param strEastAsia * @param strSpellingLanguage
*/ */
public void setEastAsia(String strEastAsia) { public void setSpellingLanguage(String strSpellingLanguage) {
CTDocDefaults docDefaults = null; CTDocDefaults docDefaults = null;
CTRPr runProps = null; CTRPr runProps = null;
CTLanguage lang = null; CTLanguage lang = null;
// Just making sure we use the members that have already been defined // Just making sure we use the members that have already been defined
if(ctStyles.isSetDocDefaults()) { if(ctStyles.isSetDocDefaults()) {
docDefaults = ctStyles.getDocDefaults(); docDefaults = ctStyles.getDocDefaults();
if(docDefaults.isSetRPrDefault()) { if(docDefaults.isSetRPrDefault()) {
CTRPrDefault RPrDefault = docDefaults.getRPrDefault(); CTRPrDefault RPrDefault = docDefaults.getRPrDefault();
if(RPrDefault.isSetRPr()) { if(RPrDefault.isSetRPr()) {
runProps = RPrDefault.getRPr(); runProps = RPrDefault.getRPr();
if(runProps.isSetLang()) if(runProps.isSetLang())
lang = runProps.getLang(); lang = runProps.getLang();
} }
} }
} }
if(docDefaults == null) if(docDefaults == null)
docDefaults = ctStyles.addNewDocDefaults(); docDefaults = ctStyles.addNewDocDefaults();
if(runProps == null) if(runProps == null)
runProps = docDefaults.addNewRPrDefault().addNewRPr(); runProps = docDefaults.addNewRPrDefault().addNewRPr();
if(lang == null) if(lang == null)
lang = runProps.addNewLang(); lang = runProps.addNewLang();
lang.setEastAsia(strEastAsia); lang.setVal(strSpellingLanguage);
} lang.setBidi(strSpellingLanguage);
}
/** /**
* Sets the default font on ctStyles DocDefaults parameter * Sets the default East Asia spelling language on ctStyles DocDefaults parameter
* @param fonts * @param strEastAsia
*/ */
public void setDefaultFonts(CTFonts fonts) { public void setEastAsia(String strEastAsia) {
CTDocDefaults docDefaults = null; CTDocDefaults docDefaults = null;
CTRPr runProps = null; CTRPr runProps = null;
CTLanguage lang = null;
// Just making sure we use the members that have already been defined // Just making sure we use the members that have already been defined
if(ctStyles.isSetDocDefaults()) { if(ctStyles.isSetDocDefaults()) {
docDefaults = ctStyles.getDocDefaults(); docDefaults = ctStyles.getDocDefaults();
if(docDefaults.isSetRPrDefault()) { if(docDefaults.isSetRPrDefault()) {
CTRPrDefault RPrDefault = docDefaults.getRPrDefault(); CTRPrDefault RPrDefault = docDefaults.getRPrDefault();
if(RPrDefault.isSetRPr()) { if(RPrDefault.isSetRPr()) {
runProps = RPrDefault.getRPr(); runProps = RPrDefault.getRPr();
} if(runProps.isSetLang())
} lang = runProps.getLang();
} }
}
}
if(docDefaults == null) if(docDefaults == null)
docDefaults = ctStyles.addNewDocDefaults(); docDefaults = ctStyles.addNewDocDefaults();
if(runProps == null) if(runProps == null)
runProps = docDefaults.addNewRPrDefault().addNewRPr(); runProps = docDefaults.addNewRPrDefault().addNewRPr();
if(lang == null)
lang = runProps.addNewLang();
lang.setEastAsia(strEastAsia);
}
/**
* Sets the default font on ctStyles DocDefaults parameter
* @param fonts
*/
public void setDefaultFonts(CTFonts fonts) {
CTDocDefaults docDefaults = null;
CTRPr runProps = null;
// Just making sure we use the members that have already been defined
if(ctStyles.isSetDocDefaults()) {
docDefaults = ctStyles.getDocDefaults();
if(docDefaults.isSetRPrDefault()) {
CTRPrDefault RPrDefault = docDefaults.getRPrDefault();
if(RPrDefault.isSetRPr()) {
runProps = RPrDefault.getRPr();
}
}
}
if(docDefaults == null)
docDefaults = ctStyles.addNewDocDefaults();
if(runProps == null)
runProps = docDefaults.addNewRPrDefault().addNewRPr();
runProps.setRFonts(fonts);
}
/**
* get the style with the same name
* if this style is not existing, return null
*/
public XWPFStyle getStyleWithSameName(XWPFStyle style){
for (XWPFStyle ownStyle : listStyle) {
if(ownStyle.hasSameName(style)){
return ownStyle;
}
}
return null;
}
/**
* Get the default paragraph style which applies to the document
*/
public XWPFDefaultParagraphStyle getDefaultParagraphStyle() {
return null; // TODO
}
runProps.setRFonts(fonts);
}
/**
* get the style with the same name
* if this style is not existing, return null
*/
public XWPFStyle getStyleWithSameName(XWPFStyle style){
for (XWPFStyle ownStyle : listStyle) {
if(ownStyle.hasSameName(style)){
return ownStyle;
}
}
return null;
}
/**
* Get the default paragraph style which applies to the document
*/
public XWPFDefaultParagraphStyle getDefaultParagraphStyle() {
return null; // TODO
}
/** /**
* Get the definition of all the Latent Styles * Get the definition of all the Latent Styles
*/ */