Class DataElementUtils
java.lang.Object
org.apache.tika.parser.microsoft.onenote.fsshttpb.util.DataElementUtils
- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic booleananalyzeStorageIndexDataElement(List<DataElement> dataElements, ExGuid storageIndexExGuid, AtomicReference<ExGuid> manifestMappingGuid, AtomicReference<HashMap<CellID, ExGuid>> cellIDMappings, AtomicReference<HashMap<ExGuid, ExGuid>> revisionIDMappings) This method is used to analyze the storage index data element to get all the mappings.static List<DataElement>buildDataElements(byte[] fileContent, AtomicReference<ExGuid> storageIndexExGuid) This method is used to build a list of data elements to represent a file.static DataElementcreateCellMainifestDataElement(ExGuid revisionId, Map<CellID, ExGuid> cellIDMapping) This method is used to create the cell manifest data element.static List<DataElement>createObjectGroupDataElement(byte[] fileContent, AtomicReference<ExGuid> rootNodeExGuid, List<ExGuid> objectDataExGuidList) This method is used to create object group data/blob element list.static DataElementcreateRevisionManifestDataElement(ExGuid rootObjectExGuid, ExGuid baseRevisionID, List<ExGuid> refferenceObjectDataExGuidList, Map<ExGuid, ExGuid> revisionMapping, AtomicReference<ExGuid> currentRevisionID) This method is used to create the revision manifest data element.static DataElementcreateStorageIndexDataElement(ExGuid manifestExGuid, Map<CellID, ExGuid> cellIDMappings, Map<ExGuid, ExGuid> revisionIDMappings) This method is used to create the storage index data element.static DataElementcreateStorageManifestDataElement(Map<CellID, ExGuid> cellIDMapping) This method is used to create the storage manifest data element.static CellManifestDataElementDatagetCellManifestDataElementData(List<DataElement> dataElements, StorageManifestDataElementData manifestDataElementData, HashMap<CellID, ExGuid> cellIDMappings) This method is used to get cell manifest data element from a list of data element.static List<ObjectGroupDataElementData>getDataObjectDataElementData(List<DataElement> dataElements, ExGuid storageIndexExGuid, AtomicReference<ExGuid> rootExGuid) This method is used to get the list of object group data element from a list of data element.static List<ObjectGroupDataElementData>getDataObjectDataElementData(List<DataElement> dataElements, RevisionManifestDataElementData revisionData, AtomicReference<ExGuid> rootExGuid) This method is used to get a list of object group data element from a list of data element.getRevisionManifestDataElementData(List<DataElement> dataElements, CellManifestDataElementData cellData, HashMap<ExGuid, ExGuid> revisionIDMappings) This method is used to get revision manifest data element from a list of data element.getStorageManifestDataElementData(List<DataElement> dataElements, ExGuid manifestMapping) This method is used to get storage manifest data element from a list of data element.static booleantryAnalyzeWhetherConfirmSchema(List<DataElement> dataElements, ExGuid storageIndexExGuid) This method is used to analyze whether the data elements are confirmed to the schema defined in MS-FSSHTTPD.static booleantryAnalyzeWhetherFullDataElementList(List<DataElement> dataElements, ExGuid storageIndexExGuid) This method is used to try to analyze the returned whether data elements are complete. 
- 
Field Details
- 
RootExGuid
 - 
CellSecondExGuid
 - 
SchemaGuid
 
 - 
 - 
Constructor Details
- 
DataElementUtils
public DataElementUtils() 
 - 
 - 
Method Details
- 
buildDataElements
public static List<DataElement> buildDataElements(byte[] fileContent, AtomicReference<ExGuid> storageIndexExGuid) throws TikaException, IOException This method is used to build a list of data elements to represent a file.- Parameters:
 fileContent- The file content in byte array form.storageIndexExGuid- Reference set to the storage index ex guid.- Returns:
 - List of DataElement objects that are stored in the file content.
 - Throws:
 TikaExceptionIOException
 - 
createObjectGroupDataElement
public static List<DataElement> createObjectGroupDataElement(byte[] fileContent, AtomicReference<ExGuid> rootNodeExGuid, List<ExGuid> objectDataExGuidList) throws TikaException, IOException This method is used to create object group data/blob element list.- Parameters:
 fileContent- The file content in byte array format.rootNodeExGuid- Output parameter to represent the root node extended GUID.objectDataExGuidList- Input/Output parameter to represent the list of extended GUID for the data object data.- Returns:
 - Return the list of data element which will represent the file content.
 - Throws:
 TikaExceptionIOException
 - 
createRevisionManifestDataElement
public static DataElement createRevisionManifestDataElement(ExGuid rootObjectExGuid, ExGuid baseRevisionID, List<ExGuid> refferenceObjectDataExGuidList, Map<ExGuid, ExGuid> revisionMapping, AtomicReference<ExGuid> currentRevisionID) This method is used to create the revision manifest data element.- Parameters:
 rootObjectExGuid- Specify the root node object extended GUID.baseRevisionID- Specify the base revision Id.refferenceObjectDataExGuidList- Specify the reference object data extended list.currentRevisionID- Input/output parameter to represent the mapping of revision manifest.currentRevisionID- Output parameter to represent the revision GUID.- Returns:
 - Return the revision manifest data element.
 
 - 
createCellMainifestDataElement
public static DataElement createCellMainifestDataElement(ExGuid revisionId, Map<CellID, ExGuid> cellIDMapping) This method is used to create the cell manifest data element.- Parameters:
 revisionId- Specify the revision GUID.cellIDMapping- Input/output parameter to represent the mapping of cell manifest.- Returns:
 - Return the cell manifest data element.
 
 - 
createStorageManifestDataElement
This method is used to create the storage manifest data element.- Parameters:
 cellIDMapping- Specify the mapping of cell manifest.- Returns:
 - The storage manifest data element.
 
 - 
createStorageIndexDataElement
public static DataElement createStorageIndexDataElement(ExGuid manifestExGuid, Map<CellID, ExGuid> cellIDMappings, Map<ExGuid, ExGuid> revisionIDMappings) This method is used to create the storage index data element.- Parameters:
 manifestExGuid- Specify the storage manifest data element extended GUID.cellIDMappings- Specify the mapping of cell manifest.revisionIDMappings- Specify the mapping of revision manifest.- Returns:
 - The storage index data element.
 
 - 
getDataObjectDataElementData
public static List<ObjectGroupDataElementData> getDataObjectDataElementData(List<DataElement> dataElements, ExGuid storageIndexExGuid, AtomicReference<ExGuid> rootExGuid) throws TikaException This method is used to get the list of object group data element from a list of data element.- Parameters:
 dataElements- Specify the data element list.storageIndexExGuid- Specify the storage index extended GUID.rootExGuid- Output parameter to represent the root node object.- Returns:
 - Return the list of object group data elements.
 - Throws:
 TikaException
 - 
tryAnalyzeWhetherFullDataElementList
public static boolean tryAnalyzeWhetherFullDataElementList(List<DataElement> dataElements, ExGuid storageIndexExGuid) throws TikaException This method is used to try to analyze the returned whether data elements are complete.- Parameters:
 dataElements- Specify the data elements list.storageIndexExGuid- Specify the storage index extended GUID.- Returns:
 - If the data elements start with the specified storage index extended GUID are complete, return true. Otherwise return false.
 - Throws:
 TikaException
 - 
tryAnalyzeWhetherConfirmSchema
public static boolean tryAnalyzeWhetherConfirmSchema(List<DataElement> dataElements, ExGuid storageIndexExGuid) throws TikaException This method is used to analyze whether the data elements are confirmed to the schema defined in MS-FSSHTTPD.- Parameters:
 dataElements- Specify the data elements list.storageIndexExGuid- Specify the storage index extended GUID.- Returns:
 - If the data elements confirms to the schema defined in the MS-FSSHTTPD returns true, otherwise false.
 - Throws:
 TikaException
 - 
analyzeStorageIndexDataElement
public static boolean analyzeStorageIndexDataElement(List<DataElement> dataElements, ExGuid storageIndexExGuid, AtomicReference<ExGuid> manifestMappingGuid, AtomicReference<HashMap<CellID, ExGuid>> cellIDMappings, AtomicReference<HashMap<ExGuid, throws TikaExceptionExGuid>> revisionIDMappings) This method is used to analyze the storage index data element to get all the mappings.- Parameters:
 dataElements- Specify the data element list.storageIndexExGuid- Specify the storage index extended GUID.manifestMappingGuid- Output parameter to represent the storage manifest mapping GUID.cellIDMappings- Output parameter to represent the mapping of cell id.revisionIDMappings- Output parameter to represent the revision id.- Returns:
 - Return true if analyze the storage index succeeds, otherwise return false.
 - Throws:
 TikaException
 - 
getStorageManifestDataElementData
public static StorageManifestDataElementData getStorageManifestDataElementData(List<DataElement> dataElements, ExGuid manifestMapping) throws TikaException This method is used to get storage manifest data element from a list of data element.- Parameters:
 dataElements- Specify the data element list.manifestMapping- Specify the manifest mapping GUID.- Returns:
 - Return the storage manifest data element.
 - Throws:
 TikaException
 - 
getCellManifestDataElementData
public static CellManifestDataElementData getCellManifestDataElementData(List<DataElement> dataElements, StorageManifestDataElementData manifestDataElementData, HashMap<CellID, ExGuid> cellIDMappings) throws TikaExceptionThis method is used to get cell manifest data element from a list of data element.- Parameters:
 dataElements- Specify the data element list.manifestDataElementData- Specify the manifest data element.cellIDMappings- Specify mapping of cell id.- Returns:
 - Return the cell manifest data element.
 - Throws:
 TikaException
 - 
getRevisionManifestDataElementData
public static RevisionManifestDataElementData getRevisionManifestDataElementData(List<DataElement> dataElements, CellManifestDataElementData cellData, HashMap<ExGuid, ExGuid> revisionIDMappings) throws TikaExceptionThis method is used to get revision manifest data element from a list of data element.- Parameters:
 dataElements- Specify the data element list.cellData- Specify the cell data element.revisionIDMappings- Specify mapping of revision id.- Returns:
 - Return the revision manifest data element.
 - Throws:
 TikaException
 - 
getDataObjectDataElementData
public static List<ObjectGroupDataElementData> getDataObjectDataElementData(List<DataElement> dataElements, RevisionManifestDataElementData revisionData, AtomicReference<ExGuid> rootExGuid) throws TikaException This method is used to get a list of object group data element from a list of data element.- Parameters:
 dataElements- Specify the data element list.revisionData- Specify the revision data.rootExGuid- Specify the root node object extended GUID.- Returns:
 - Return the list of object group data element.
 - Throws:
 TikaException
 
 -