You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2011/08/12 10:16:03 UTC
svn commit: r1157002 - in /poi/trunk: ./
src/ooxml/java/org/apache/poi/xslf/usermodel/
Author: yegor
Date: Fri Aug 12 08:16:02 2011
New Revision: 1157002
URL: http://svn.apache.org/viewvc?rev=1157002&view=rev
Log:
more XSLF updates
Added:
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java
- copied, changed from r1156539, poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideLayout.java
Modified:
poi/trunk/build.xml
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFRelation.java
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java
Modified: poi/trunk/build.xml
URL: http://svn.apache.org/viewvc/poi/trunk/build.xml?rev=1157002&r1=1157001&r2=1157002&view=diff
==============================================================================
--- poi/trunk/build.xml (original)
+++ poi/trunk/build.xml Fri Aug 12 08:16:02 2011
@@ -664,6 +664,12 @@ under the License.
<classpath refid="test.scratchpad.classpath"/>
<syspropertyset refid="junit.properties"/>
<jvmarg value="${poi.test.locale}"/>
+ <!--
+ YK: ensure that JUnit has enough memory to run tests.
+ Without the line below tests fail on Mac OS X with jdk-1.6.26
+ and on Windows with jdk-1.5.22
+ -->
+ <jvmarg value="-Xmx256M"/>
<formatter type="plain"/>
<batchtest todir="${scratchpad.reports.test}">
<fileset dir="${scratchpad.src.test}">
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFRelation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFRelation.java?rev=1157002&r1=1157001&r2=1157002&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFRelation.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFRelation.java Fri Aug 12 08:16:02 2011
@@ -107,7 +107,7 @@ public class XSLFRelation extends POIXML
"application/vnd.openxmlformats-officedocument.theme+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",
"/ppt/theme/theme#.xml",
- null
+ XSLFTheme.class
);
public static final XSLFRelation VML_DRAWING = new XSLFRelation(
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java?rev=1157002&r1=1157001&r2=1157002&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java Fri Aug 12 08:16:02 2011
@@ -23,6 +23,7 @@ import org.apache.poi.openxml4j.opc.Pack
import org.apache.poi.openxml4j.opc.TargetMode;
import org.apache.poi.sl.usermodel.Slide;
import org.apache.poi.util.Beta;
+import org.apache.poi.util.IOUtils;
import org.apache.xmlbeans.XmlException;
import org.openxmlformats.schemas.drawingml.x2006.main.CTGroupShapeProperties;
import org.openxmlformats.schemas.drawingml.x2006.main.CTGroupTransform2D;
@@ -35,8 +36,10 @@ import org.openxmlformats.schemas.presen
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlide;
import org.openxmlformats.schemas.presentationml.x2006.main.SldDocument;
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideMasterIdListEntry;
+import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideLayoutIdListEntry;
import java.io.IOException;
+import java.io.OutputStream;
import java.util.List;
import java.util.regex.Pattern;
@@ -135,5 +138,4 @@ public final class XSLFSlide extends XSL
public boolean getFollowMasterBackground(){
return !_slide.isSetShowMasterSp() || _slide.getShowMasterSp();
}
-
}
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java?rev=1157002&r1=1157001&r2=1157002&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideMaster.java Fri Aug 12 08:16:02 2011
@@ -52,6 +52,7 @@ import java.util.Map;
public class XSLFSlideMaster extends XSLFSheet {
private CTSlideMaster _slide;
private Map<String, XSLFSlideLayout> _layouts;
+ private XSLFTheme _theme;
XSLFSlideMaster() {
super();
@@ -87,4 +88,16 @@ import java.util.Map;
}
return _layouts.get(name);
}
+
+ public XSLFTheme getTheme(){
+ if(_theme == null){
+ for (POIXMLDocumentPart p : getRelations()) {
+ if (p instanceof XSLFTheme){
+ _theme = (XSLFTheme)p;
+ break;
+ }
+ }
+ }
+ return _theme;
+ }
}
\ No newline at end of file
Copied: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java (from r1156539, poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideLayout.java)
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java?p2=poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java&p1=poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideLayout.java&r1=1156539&r2=1157002&rev=1157002&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlideLayout.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java Fri Aug 12 08:16:02 2011
@@ -22,82 +22,66 @@ import org.apache.poi.openxml4j.opc.Pack
import org.apache.poi.util.Beta;
import org.apache.poi.util.Internal;
import org.apache.xmlbeans.XmlException;
+import org.apache.xmlbeans.XmlOptions;
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideLayout;
import org.openxmlformats.schemas.presentationml.x2006.main.SldLayoutDocument;
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideMaster;
+import org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeStyleSheet;
+import org.openxmlformats.schemas.officeDocument.x2006.relationships.STRelationshipId;
+import javax.xml.namespace.QName;
import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Map;
+import java.util.HashMap;
@Beta
-public class XSLFSlideLayout extends XSLFSheet {
- private CTSlideLayout _layout;
- private XSLFSlideMaster _master;
+public class XSLFTheme extends POIXMLDocumentPart {
+ private CTOfficeStyleSheet _theme;
- XSLFSlideLayout() {
+ XSLFTheme() {
super();
- _layout = CTSlideLayout.Factory.newInstance();
+ _theme = CTOfficeStyleSheet.Factory.newInstance();
}
- public XSLFSlideLayout(PackagePart part, PackageRelationship rel) throws IOException, XmlException {
+ public XSLFTheme(PackagePart part, PackageRelationship rel) throws IOException, XmlException {
super(part, rel);
- SldLayoutDocument doc =
- SldLayoutDocument.Factory.parse(getPackagePart().getInputStream());
- _layout = doc.getSldLayout();
+ ThemeDocument doc =
+ ThemeDocument.Factory.parse(getPackagePart().getInputStream());
+ _theme = doc.getTheme();
}
public String getName(){
- return _layout.getCSld().getName();
+ return _theme.getName();
+ }
+
+ public void setName(String name){
+ _theme.setName(name);
}
/**
* While developing only!
*/
@Internal
- public CTSlideLayout getXmlObject() {
- return _layout;
+ public CTOfficeStyleSheet getXmlObject() {
+ return _theme;
}
- @Override
- protected String getRootElementName(){
- return "sldLayout";
- }
+ protected final void commit() throws IOException {
+ XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
- /**
- * Slide master object associated with this layout.
- * <p>
- * Within a slide master slide are contained all elements
- * that describe the objects and their corresponding formatting
- * for within a presentation slide.
- * </p>
- * <p>
- * Within a slide master slide are two main elements.
- * The cSld element specifies the common slide elements such as shapes and
- * their attached text bodies. Then the txStyles element specifies the
- * formatting for the text within each of these shapes. The other properties
- * within a slide master slide specify other properties for within a presentation slide
- * such as color information, headers and footers, as well as timing and
- * transition information for all corresponding presentation slides.
- * </p>
- *
- * @return slide master. Never null.
- * @throws IllegalStateException if slide master was not found
- */
- public XSLFSlideMaster getSlideMaster(){
- if(_master == null){
- for (POIXMLDocumentPart p : getRelations()) {
- if (p instanceof XSLFSlideMaster){
- _master = (XSLFSlideMaster)p;
- }
- }
- }
- if(_master == null) {
- throw new IllegalStateException("SlideMaster was not found for " + this.toString());
- }
- return _master;
+ Map<String, String> map = new HashMap<String, String>();
+ map.put("http://schemas.openxmlformats.org/drawingml/2006/main", "a");
+ xmlOptions.setSaveSuggestedPrefixes(map);
+ xmlOptions.setSaveSyntheticDocumentElement(
+ new QName("http://schemas.openxmlformats.org/drawingml/2006/main", "theme"));
+
+ PackagePart part = getPackagePart();
+ OutputStream out = part.getOutputStream();
+ getXmlObject().save(out, xmlOptions);
+ out.close();
}
- public XMLSlideShow getSlideShow() {
- return (XMLSlideShow)getParent().getParent();
- }
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org