View | Details | Raw Unified | Return to bug 48926
Collapse All | Expand All

(-)src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java (+21 lines)
Lines 68-73 Link Here
68
      fieldSet.add(Integer.valueOf(FIBFieldHandler.PLFLFO));
68
      fieldSet.add(Integer.valueOf(FIBFieldHandler.PLFLFO));
69
      fieldSet.add(Integer.valueOf(FIBFieldHandler.PLCFFLDMOM));
69
      fieldSet.add(Integer.valueOf(FIBFieldHandler.PLCFFLDMOM));
70
      fieldSet.add(Integer.valueOf(FIBFieldHandler.STTBFFFN));
70
      fieldSet.add(Integer.valueOf(FIBFieldHandler.STTBFFFN));
71
      fieldSet.add(Integer.valueOf(FIBFieldHandler.STTBFRMARK));
71
      fieldSet.add(Integer.valueOf(FIBFieldHandler.STTBSAVEDBY));
72
      fieldSet.add(Integer.valueOf(FIBFieldHandler.STTBSAVEDBY));
72
      fieldSet.add(Integer.valueOf(FIBFieldHandler.MODIFIED));
73
      fieldSet.add(Integer.valueOf(FIBFieldHandler.MODIFIED));
73
74
Lines 258-264 Link Here
258
    {
259
    {
259
      _fieldHandler.setFieldSize(FIBFieldHandler.STTBFFFN, lcbSttbFffn);
260
      _fieldHandler.setFieldSize(FIBFieldHandler.STTBFFFN, lcbSttbFffn);
260
    }
261
    }
262
    
263
    public int getFcSttbfRMark()
264
    {
265
      return _fieldHandler.getFieldOffset(FIBFieldHandler.STTBFRMARK);
266
    }
261
267
268
    public int getLcbSttbfRMark()
269
    {
270
      return _fieldHandler.getFieldSize(FIBFieldHandler.STTBFRMARK);
271
    }
272
    
273
    public void setFcSttbfRMark(int fcSttbfRMark)
274
    {
275
      _fieldHandler.setFieldOffset(FIBFieldHandler.STTBFRMARK, fcSttbfRMark);
276
    }
277
278
    public void setLcbSttbfRMark(int lcbSttbfRMark)
279
    {
280
      _fieldHandler.setFieldSize(FIBFieldHandler.STTBFRMARK, lcbSttbfRMark);
281
    }
282
262
    /**
283
    /**
263
     * Return the offset to the PlcfHdd, in the table stream,
284
     * Return the offset to the PlcfHdd, in the table stream,
264
     * i.e. fcPlcfHdd
285
     * i.e. fcPlcfHdd
(-)src/scratchpad/src/org/apache/poi/hwpf/HWPFDocument.java (+30 lines)
Lines 92-97 Link Here
92
92
93
  /** Holds the save history for this document. */
93
  /** Holds the save history for this document. */
94
  protected SavedByTable _sbt;
94
  protected SavedByTable _sbt;
95
  
96
  /** Holds the revision mark authors for this document. */
97
  protected RevisionMarkAuthorTable _rmat;
95
98
96
  /** Holds pictures table */
99
  /** Holds pictures table */
97
  protected PicturesTable _pictures;
100
  protected PicturesTable _pictures;
Lines 274-279 Link Here
274
      _sbt = new SavedByTable(_tableStream, sbtOffset, sbtLength);
277
      _sbt = new SavedByTable(_tableStream, sbtOffset, sbtLength);
275
    }
278
    }
276
279
280
    int rmarkOffset = _fib.getFcSttbfRMark();
281
    int rmarkLength = _fib.getLcbSttbfRMark();
282
    if (rmarkOffset != 0 && rmarkLength != 0)
283
    {
284
      _rmat = new RevisionMarkAuthorTable(_tableStream, rmarkOffset, rmarkLength);
285
    }
286
    
277
    PlexOfCps plc = new PlexOfCps(_tableStream, _fib.getFcPlcffldMom(), _fib.getLcbPlcffldMom(), 2);
287
    PlexOfCps plc = new PlexOfCps(_tableStream, _fib.getFcPlcffldMom(), _fib.getLcbPlcffldMom(), 2);
278
    for (int x = 0; x < plc.length(); x++)
288
    for (int x = 0; x < plc.length(); x++)
279
    {
289
    {
Lines 412-417 Link Here
412
  }
422
  }
413
423
414
  /**
424
  /**
425
   * Gets a reference to the revision mark author table, which holds the revision mark authors for the document.
426
   *
427
   * @return the saved-by table.
428
   */
429
  public RevisionMarkAuthorTable getRevisionMarkAuthorTable()
430
  {
431
    return _rmat;
432
  }
433
  
434
  /**
415
   * @return PicturesTable object, that is able to extract images from this document
435
   * @return PicturesTable object, that is able to extract images from this document
416
   */
436
   */
417
  public PicturesTable getPicturesTable() {
437
  public PicturesTable getPicturesTable() {
Lines 514-520 Link Here
514
534
515
      tableOffset = tableStream.getOffset();
535
      tableOffset = tableStream.getOffset();
516
    }
536
    }
537
    
538
    // write out the revision mark authors table.
539
    if (_rmat != null)
540
    {
541
      _fib.setFcSttbfRMark(tableOffset);
542
      _rmat.writeTo(tableStream);
543
      _fib.setLcbSttbfRMark(tableStream.getOffset() - tableOffset);
517
544
545
      tableOffset = tableStream.getOffset();
546
    }
547
518
    // write out the FontTable.
548
    // write out the FontTable.
519
    _fib.setFcSttbfffn(tableOffset);
549
    _fib.setFcSttbfffn(tableOffset);
520
    _ft.writeTo(docSys);
550
    _ft.writeTo(docSys);

Return to bug 48926