Browse Source

GitHub PR 27: Add method to check for any protection in XWPFDocument, closes #27

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1730471 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_14_FINAL
Dominik Stadler 8 years ago
parent
commit
16b90ce342

+ 16
- 0
src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java View File

@@ -919,6 +919,22 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
tables.set(pos, table);
ctDocument.getBody().setTblArray(pos, table.getCTTbl());
}
/**
* Verifies that the documentProtection tag in settings.xml file <br/>
* specifies that the protection is enforced (w:enforcement="1") <br/>
* <br/>
* sample snippet from settings.xml
* <pre>
* &lt;w:settings ... &gt;
* &lt;w:documentProtection w:edit=&quot;readOnly&quot; w:enforcement=&quot;1&quot;/&gt;
* </pre>
*
* @return true if documentProtection is enforced with option any
*/
public boolean isEnforcedProtection() {
return settings.isEnforcedWith();
}

/**
* Verifies that the documentProtection tag in settings.xml file <br/>

+ 23
- 0
src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFSettings.java View File

@@ -120,6 +120,29 @@ public class XWPFSettings extends POIXMLDocumentPart {
CTZoom zoom = ctSettings.getZoom();
zoom.setPercent(BigInteger.valueOf(zoomPercent));
}
/**
* Verifies the documentProtection tag inside settings.xml file <br/>
* if the protection is enforced (w:enforcement="1") <br/>
* <p/>
* <br/>
* sample snippet from settings.xml
* <pre>
* &lt;w:settings ... &gt;
* &lt;w:documentProtection w:edit=&quot;readOnly&quot; w:enforcement=&quot;1&quot;/&gt;
* </pre>
*
* @return true if documentProtection is enforced with option any
*/
public boolean isEnforcedWith() {
CTDocProtect ctDocProtect = ctSettings.getDocumentProtection();

if (ctDocProtect == null) {
return false;
}

return ctDocProtect.getEnforcement().equals(STOnOff.X_1);
}

/**
* Verifies the documentProtection tag inside settings.xml file <br/>

+ 7
- 0
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java View File

@@ -416,4 +416,11 @@ public final class TestXWPFDocument {

doc.close();
}
@Test
public void testEnforcedWith() throws IOException {
XWPFDocument docx = XWPFTestDataSamples.openSampleDocument("EnforcedWith.docx");
assertTrue(docx.isEnforcedProtection());
docx.close();
}
}

BIN
test-data/document/EnforcedWith.docx View File


Loading…
Cancel
Save