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