Use Streams to simplify El-Torito implementation.

This commit is contained in:
Vreixo Formoso 2007-10-14 18:00:02 +02:00
parent 3fa5bb9068
commit a9e8e05833
2 changed files with 279 additions and 126 deletions

View File

@ -11,13 +11,18 @@
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>731.0</double> <double>479.2699858975891</double>
<double>193.0</double> <double>226.94112549695433</double>
</void> </void>
</object> </object>
</void> </void>
<void method="addNode"> <void method="addNode">
<object id="ClassNode1" class="com.horstmann.violet.ClassNode"> <object id="ClassNode1" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>block : uint32_t</string>
</void>
</void>
<void property="name"> <void property="name">
<void property="text"> <void property="text">
<string>ElToritoCatalog</string> <string>ElToritoCatalog</string>
@ -26,8 +31,8 @@
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>474.0</double> <double>472.58578643762684</double>
<double>192.0</double> <double>344.73506473629425</double>
</void> </void>
</object> </object>
</void> </void>
@ -40,7 +45,8 @@ type : enum
partition_type : enum partition_type : enum
load_seg : uint16 load_seg : uint16
load_size : uint16 load_size : uint16
patch_isolinux : bool</string> patch_isolinux : bool
block: uint32_t</string>
</void> </void>
</void> </void>
<void property="name"> <void property="name">
@ -51,8 +57,8 @@ patch_isolinux : bool</string>
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>469.0</double> <double>470.4142135623731</double>
<double>329.0</double> <double>487.3919189857866</double>
</void> </void>
</object> </object>
</void> </void>
@ -67,8 +73,8 @@ images</string>
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>666.0</double> <double>251.63542622468316</double>
<double>301.0</double> <double>429.69343417595167</double>
</void> </void>
</object> </object>
</void> </void>
@ -87,8 +93,8 @@ images</string>
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>186.0</double> <double>193.07106781186545</double>
<double>186.0</double> <double>334.49242404917493</double>
</void> </void>
</object> </object>
</void> </void>
@ -135,64 +141,8 @@ node. This is needed when the image is written.</string>
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>347.0</double> <double>57.81118318204312</double>
<double>82.0</double> <double>584.0458146424488</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode5" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>block : uint32_t</string>
</void>
</void>
<void property="name">
<void property="text">
<string>PreviousSessionImage</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>539.0</double>
<double>509.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="InterfaceNode0" class="com.horstmann.violet.InterfaceNode">
<void property="name">
<void property="text">
<string>«interface»
DataSource</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>746.5857864376269</double>
<double>511.3380951166248</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode6" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>block : uint32_t</string>
</void>
</void>
<void property="name">
<void property="text">
<string>PreviousSessionCatalog</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>287.0</double>
<double>292.0</double>
</void> </void>
</object> </object>
</void> </void>
@ -210,28 +160,8 @@ we can do may be wrong.</string>
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>644.3271028254218</double> <double>748.978906441031</double>
<double>382.5643050695048</double> <double>574.8973495522459</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode7" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>path : char *</string>
</void>
</void>
<void property="name">
<void property="text">
<string>LocalImage</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>424.0</double>
<double>511.0</double>
</void> </void>
</object> </object>
</void> </void>
@ -239,16 +169,137 @@ we can do may be wrong.</string>
<object id="NoteNode3" class="com.horstmann.violet.NoteNode"> <object id="NoteNode3" class="com.horstmann.violet.NoteNode">
<void property="text"> <void property="text">
<void property="text"> <void property="text">
<string>Once we have support for all El-Torito features, namelly <string>The block in both Catalog and BootImage is needed
multiple boot images, this type is not needed, the info for multissession images</string>
can be read and cached in a new catalog.</string>
</void> </void>
</void> </void>
</object> </object>
<object class="java.awt.geom.Point2D$Double"> <object class="java.awt.geom.Point2D$Double">
<void method="setLocation"> <void method="setLocation">
<double>52.325113060119634</double> <double>629.3242465083424</double>
<double>434.0605969759931</double> <double>441.1316647878586</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode5" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>File</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>188.09040379562163</double>
<double>172.5340546095176</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode6" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>CatalogStream</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>851.105100475371</double>
<double>283.5127233261827</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode7" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>FileStream</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>743.4055403867466</double>
<double>284.4253525880894</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode8" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>TransformStream</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>958.5987801403015</double>
<double>279.8322618091961</double>
</void>
</object>
</void>
<void method="addNode">
<object id="InterfaceNode0" class="com.horstmann.violet.InterfaceNode">
<void property="name">
<void property="text">
<string>«interface»
Stream</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>847.6728065449973</double>
<double>157.05765855361264</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode9" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>IsoLinuxPatch</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>968.73629022557</double>
<double>384.6660889654818</double>
</void>
</object>
</void>
<void method="addNode">
<object id="NoteNode4" class="com.horstmann.violet.NoteNode">
<void property="text">
<void property="text">
<string>Generates the content of the catalog on-the-fly</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>517.6021638285529</double>
<double>107.48023074035522</double>
</void>
</object>
</void>
<void method="addNode">
<object id="NoteNode5" class="com.horstmann.violet.NoteNode">
<void property="text">
<void property="text">
<string>To apply the needed patch to isolinux
images</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>923.4814562296309</double>
<double>509.1168824543143</double>
</void> </void>
</object> </object>
</void> </void>
@ -275,18 +326,6 @@ can be read and cached in a new catalog.</string>
<object idref="ClassNode1"/> <object idref="ClassNode1"/>
<object idref="NoteNode0"/> <object idref="NoteNode0"/>
</void> </void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
</object>
<object idref="ClassNode3"/>
<object idref="ClassNode4"/>
</void>
<void method="connect"> <void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge"> <object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle"> <void property="bentStyle">
@ -346,18 +385,108 @@ can be read and cached in a new catalog.</string>
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void> </void>
</object> </object>
<object idref="ClassNode3"/>
<object idref="ClassNode5"/> <object idref="ClassNode5"/>
<object idref="ClassNode2"/>
</void> </void>
<void method="connect"> <void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge"> <object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead"> <void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/> <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
</object>
<object idref="ClassNode5"/>
<object idref="ClassNode4"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void> </void>
<void property="lineStyle"> <void property="lineStyle">
<object class="com.horstmann.violet.LineStyle" field="DOTTED"/> <object class="com.horstmann.violet.LineStyle" field="DOTTED"/>
</void> </void>
</object> </object>
<object idref="ClassNode8"/>
<object idref="InterfaceNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
<void property="lineStyle">
<object class="com.horstmann.violet.LineStyle" field="DOTTED"/>
</void>
</object>
<object idref="ClassNode7"/>
<object idref="InterfaceNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VH"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
<void property="endLabel">
<string>1</string>
</void>
<void property="startArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="BLACK_DIAMOND"/>
</void>
</object>
<object idref="ClassNode8"/>
<object idref="InterfaceNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
<void property="lineStyle">
<object class="com.horstmann.violet.LineStyle" field="DOTTED"/>
</void>
</object>
<object idref="ClassNode6"/>
<object idref="InterfaceNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode1"/>
<object idref="NoteNode3"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode2"/>
<object idref="NoteNode3"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode2"/>
<object idref="NoteNode2"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
</object>
<object idref="ClassNode5"/> <object idref="ClassNode5"/>
<object idref="InterfaceNode0"/> <object idref="InterfaceNode0"/>
</void> </void>
@ -370,30 +499,54 @@ can be read and cached in a new catalog.</string>
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void> </void>
</object> </object>
<object idref="ClassNode9"/>
<object idref="ClassNode8"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
</object>
<object idref="ClassNode1"/>
<object idref="InterfaceNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
</object>
<object idref="ClassNode2"/>
<object idref="InterfaceNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VH"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
<void property="lineStyle">
<object class="com.horstmann.violet.LineStyle" field="DOTTED"/>
</void>
</object>
<object idref="ClassNode6"/> <object idref="ClassNode6"/>
<object idref="ClassNode1"/> <object idref="ClassNode1"/>
</void> </void>
<void method="connect"> <void method="connect">
<object class="com.horstmann.violet.NoteEdge"/> <object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode5"/> <object idref="ClassNode6"/>
<object idref="NoteNode2"/> <object idref="NoteNode4"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
</object>
<object idref="ClassNode7"/>
<object idref="ClassNode2"/>
</void> </void>
<void method="connect"> <void method="connect">
<object class="com.horstmann.violet.NoteEdge"/> <object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode6"/> <object idref="ClassNode9"/>
<object idref="NoteNode3"/> <object idref="NoteNode5"/>
</void> </void>
</object> </object>
</java> </java>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 24 KiB