ASF Bugzilla – Attachment 7382 Details for
Bug 21722
[PATCH] Add a ProtectRecord to Sheets and give control over protection in HSSFSheet
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
cvs diff output for the entire patch set
poi20030718.patch (text/plain), 8.14 KB, created by
Rick Berman
on 2003-07-18 22:52:08 UTC
(
hide
)
Description:
cvs diff output for the entire patch set
Filename:
MIME Type:
Creator:
Rick Berman
Created:
2003-07-18 22:52:08 UTC
Size:
8.14 KB
patch
obsolete
>Index: jakarta-poi/src/java/org/apache/poi/hssf/model/Sheet.java >=================================================================== >RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/model/Sheet.java,v >retrieving revision 1.31.2.2 >diff -u -r1.31.2.2 Sheet.java >--- jakarta-poi/src/java/org/apache/poi/hssf/model/Sheet.java 27 Jun 2003 23:21:17 -0000 1.31.2.2 >+++ jakarta-poi/src/java/org/apache/poi/hssf/model/Sheet.java 18 Jul 2003 22:35:42 -0000 >@@ -120,6 +120,7 @@ > private Iterator valueRecIterator = null; > private Iterator rowRecIterator = null; > protected int eofLoc = 0; >+ protected ProtectRecord protect = null; > > public static final byte PANE_LOWER_RIGHT = (byte)0; > public static final byte PANE_UPPER_RIGHT = (byte)1; >@@ -265,6 +266,10 @@ > { > retval.selection = (SelectionRecord) rec; > } >+ else if ( rec.getSid() == ProtectRecord.sid ) >+ { >+ retval.protect = (ProtectRecord) rec; >+ } > > if (rec != null) > { >@@ -396,6 +401,8 @@ > retval.selection = > (SelectionRecord) retval.createSelection(); > records.add(retval.selection); >+ retval.protect = (ProtectRecord) retval.createProtect(); >+ records.add(retval.protect); > records.add(retval.createEOF()); > retval.records = records; > log.log(log.DEBUG, "Sheet createsheet from scratch exit"); >@@ -2529,4 +2536,25 @@ > this.selection = selection; > } > >+ /** >+ * creates a Protect record with protect set to false. >+ * @see org.apache.poi.hssf.record.ProtectRecord >+ * @see org.apache.poi.hssf.record.Record >+ * @return a ProtectRecord >+ */ >+ >+ protected Record createProtect() >+ { >+ log.log(log.DEBUG, "create protect record with protection disabled"); >+ ProtectRecord retval = new ProtectRecord(); >+ >+ retval.setProtect(false); >+ // by default even when we support encryption we won't >+ return retval; // want to default to be protected >+ } >+ >+ public ProtectRecord getProtect() >+ { >+ return protect; >+ } > } >Index: jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectRecord.java >=================================================================== >RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectRecord.java,v >retrieving revision 1.5 >diff -u -r1.5 ProtectRecord.java >--- jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectRecord.java 30 Apr 2003 04:38:47 -0000 1.5 >+++ jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectRecord.java 18 Jul 2003 22:35:42 -0000 >@@ -139,9 +139,9 @@ > * @return whether to protect the sheet or not > */ > >- public short getProtect() >+ public boolean getProtect() > { >- return field_1_protect; >+ return (field_1_protect == 1); > } > > public String toString() >@@ -149,8 +149,8 @@ > StringBuffer buffer = new StringBuffer(); > > buffer.append("[PROTECT]\n"); >- buffer.append(" .protected = ") >- .append(Integer.toHexString(getProtect())).append("\n"); >+ buffer.append(" .protect = ").append(getProtect()) >+ .append("\n"); > buffer.append("[/PROTECT]\n"); > return buffer.toString(); > } >@@ -160,7 +160,7 @@ > LittleEndian.putShort(data, 0 + offset, sid); > LittleEndian.putShort(data, 2 + offset, > (( short ) 0x02)); // 2 bytes (6 total) >- LittleEndian.putShort(data, 4 + offset, getProtect()); >+ LittleEndian.putShort(data, 4 + offset, field_1_protect); > return getRecordSize(); > } > >Index: jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java >=================================================================== >RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java,v >retrieving revision 1.4 >diff -u -r1.4 ProtectionRev4Record.java >--- jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java 30 Apr 2003 04:38:48 -0000 1.4 >+++ jakarta-poi/src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java 18 Jul 2003 22:35:42 -0000 >@@ -139,18 +139,18 @@ > * @return whether to protect the workbook or not > */ > >- public short getProtect() >- { >- return field_1_protect; >- } >+ public boolean getProtect() >+ { >+ return (field_1_protect == 1); >+ } > > public String toString() > { > StringBuffer buffer = new StringBuffer(); > > buffer.append("[PROT4REV]\n"); >- buffer.append(" .rowheight = ") >- .append(Integer.toHexString(getProtect())).append("\n"); >+ buffer.append(" .protect = ").append(getProtect()) >+ .append("\n"); > buffer.append("[/PROT4REV]\n"); > return buffer.toString(); > } >@@ -160,7 +160,7 @@ > LittleEndian.putShort(data, 0 + offset, sid); > LittleEndian.putShort(data, 2 + offset, > (( short ) 0x02)); // 2 bytes (6 total) >- LittleEndian.putShort(data, 4 + offset, getProtect()); >+ LittleEndian.putShort(data, 4 + offset, field_1_protect); > return getRecordSize(); > } > >Index: jakarta-poi/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java >=================================================================== >RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java,v >retrieving revision 1.21.2.1 >diff -u -r1.21.2.1 HSSFSheet.java >--- jakarta-poi/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java 28 Jun 2003 00:00:56 -0000 1.21.2.1 >+++ jakarta-poi/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java 18 Jul 2003 22:35:44 -0000 >@@ -873,6 +873,22 @@ > { > getSheet().setMargin( margin, size ); > } >+ >+ /** >+ * Answer whether protection is enabled or disabled >+ * @return true => protection enabled; false => protection disabled >+ */ >+ public boolean getProtect() { >+ return getSheet().getProtect().getProtect(); >+ } >+ >+ /** >+ * Sets the protection on enabled or disabled >+ * @param protect true => protection enabled; false => protection disabled >+ */ >+ public void setProtect(boolean protect) { >+ getSheet().getProtect().setProtect(protect); >+ } > > /** > * Sets the zoom magnication for the sheet. The zoom is expressed as a >Index: jakarta-poi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java >=================================================================== >RCS file: /home/cvspublic/jakarta-poi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java,v >retrieving revision 1.12.2.3 >diff -u -r1.12.2.3 TestHSSFSheet.java >--- jakarta-poi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java 28 Jun 2003 00:00:56 -0000 1.12.2.3 >+++ jakarta-poi/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java 18 Jul 2003 22:35:55 -0000 >@@ -62,6 +62,7 @@ > > import org.apache.poi.hssf.model.Sheet; > import org.apache.poi.hssf.record.HCenterRecord; >+import org.apache.poi.hssf.record.ProtectRecord; > import org.apache.poi.hssf.record.SCLRecord; > import org.apache.poi.hssf.record.VCenterRecord; > import org.apache.poi.hssf.record.WSBoolRecord; >@@ -238,6 +239,27 @@ > cell.setCellValue("Difference Check"); > assertEquals(cloned.getRow((short)0).getCell((short)0).getStringCellValue(), "clone_test"); > } >+ >+ /** >+ * Test that the ProtectRecord is included when creating or cloning a sheet >+ */ >+ public void testProtect() { >+ HSSFWorkbook workbook = new HSSFWorkbook(); >+ HSSFSheet hssfSheet = workbook.createSheet(); >+ Sheet sheet = hssfSheet.getSheet(); >+ ProtectRecord protect = sheet.getProtect(); >+ >+ assertFalse(protect.getProtect()); >+ >+ // This will tell us that cloneSheet, and by extension, >+ // the list forms of createSheet leave us with an accessible >+ // ProtectRecord. >+ hssfSheet.setProtect(true); >+ Sheet cloned = sheet.cloneSheet(); >+ assertNotNull(cloned.getProtect()); >+ assertTrue(hssfSheet.getProtect()); >+ } >+ > > public void testZoom() > throws Exception
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 21722
: 7382 |
7383