Commit a972f78e authored by jhassine's avatar jhassine

* Doctrine import functionality draft (refs #11)

parent 5780e3b9
<?xml version="1.0" encoding="UTF-8"?>
<XMI xmlns:UML="http://schema.omg.org/spec/UML/1.3" verified="false" timestamp="2006-08-23T00:17:24" xmi.version="1.2" >
<XMI.header>
<XMI.documentation>
<XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
<XMI.exporterVersion>1.5.4</XMI.exporterVersion>
<XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
</XMI.documentation>
<XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
</XMI.header>
<XMI.content>
<UML:Model isSpecification="false" isLeaf="false" isRoot="false" xmi.id="m1" isAbstract="false" name="UML Model" >
<UML:Namespace.ownedElement>
<UML:Class comment="Builds base classes based on Doctrine_Import_Table." isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1171" isRoot="false" isAbstract="false" name="Doctrine_Import_ClassBuilder" >
<UML:Classifier.feature>
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1201" isRoot="false" isAbstract="false" isQuery="false" name="build" >
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" xmi.id="1394" type="1178" />
<UML:Parameter isSpecification="false" visibility="private" xmi.id="1202" value="" type="1172" name="$table" />
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1172" isRoot="false" isAbstract="false" name="Doctrine_Import_Db_Table" >
<UML:Classifier.feature>
<UML:Attribute isSpecification="false" visibility="public" xmi.id="1180" type="1178" name="name" />
<UML:Attribute isSpecification="false" visibility="public" xmi.id="1193" type="1194" name="primaryKeys" />
<UML:Attribute isSpecification="false" visibility="public" xmi.id="1196" type="1194" name="uniqueKeys" />
</UML:Classifier.feature>
</UML:Class>
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1173" isRoot="false" isAbstract="false" name="Doctrine_Import_Db_Field" >
<UML:Classifier.feature>
<UML:Attribute isSpecification="false" visibility="public" xmi.id="1182" type="1178" name="name" />
<UML:Attribute isSpecification="false" visibility="public" xmi.id="1184" type="1178" name="type" />
<UML:Attribute isSpecification="false" visibility="public" xmi.id="1185" type="1177" name="length" />
</UML:Classifier.feature>
</UML:Class>
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1174" isRoot="false" isAbstract="false" name="Doctrine" >
<UML:Classifier.feature>
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1176" isRoot="false" isAbstract="false" isQuery="false" name="import" >
<UML:BehavioralFeature.parameter>
<UML:Parameter comment="Folder where classes will be stored" isSpecification="false" visibility="private" xmi.id="1179" value="" type="1178" name="$path" />
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1177" isRoot="false" isAbstract="false" name="int" />
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1178" isRoot="false" isAbstract="false" name="string" />
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1194" isRoot="false" isAbstract="false" name="Doctrine_Import_Db_Field[]" />
<UML:Class comment="Reads database schema from a PDO connection and constructs database structure definitions" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1195" isRoot="false" isAbstract="false" name="Doctrine_Import_Reader" >
<UML:Classifier.feature>
<UML:Attribute isSpecification="false" visibility="private" xmi.id="1199" type="1217" name="pdo" />
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1200" isRoot="false" isAbstract="false" isQuery="false" name="setPdo" >
<UML:BehavioralFeature.parameter>
<UML:Parameter isSpecification="false" visibility="private" xmi.id="1321" value="" type="1217" name="$pdo" />
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1237" isRoot="false" isAbstract="false" isQuery="false" name="read" />
</UML:Classifier.feature>
</UML:Class>
<UML:Class comment="Performs importing" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1213" isRoot="false" isAbstract="false" name="Doctrine_Import" >
<UML:Classifier.feature>
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1216" isRoot="false" isAbstract="false" isQuery="false" name="__construct" >
<UML:BehavioralFeature.parameter>
<UML:Parameter isSpecification="false" visibility="private" xmi.id="1219" value="" type="1217" name="$pdo" />
<UML:Parameter isSpecification="false" visibility="private" xmi.id="1226" value="" type="1178" name="$path" />
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1229" isRoot="false" isAbstract="false" isQuery="false" name="import" />
</UML:Classifier.feature>
</UML:Class>
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1217" isRoot="false" isAbstract="false" name="PDO" />
<UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="1276" isRoot="false" isAbstract="false" name="Doctrine_Import_Datadict" >
<UML:Classifier.feature>
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1280" isRoot="false" isAbstract="false" isQuery="false" name="__construct" >
<UML:BehavioralFeature.parameter>
<UML:Parameter comment="Database PDO driver name as returned by PDO::getAttribute (PDO::ATTR_DRIVER_NAME)
" isSpecification="false" visibility="private" xmi.id="1281" value="" type="1178" name="$pdoDriverName" />
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1284" isRoot="false" isAbstract="false" isQuery="false" name="translate" >
<UML:BehavioralFeature.parameter>
<UML:Parameter isSpecification="false" visibility="private" xmi.id="1286" value="" type="1178" name="$fieldName" />
<UML:Parameter isSpecification="false" visibility="private" xmi.id="1288" value="" type="1177" name="$fieldLength" />
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Association isSpecification="false" visibility="public" namespace="m1" xmi.id="1186" name="owns \/" >
<UML:Association.connection>
<UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="1187" aggregation="composite" type="1173" name="" multiplicity="*" />
<UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="1188" aggregation="none" type="1172" name="" multiplicity="1" />
</UML:Association.connection>
</UML:Association>
</UML:Namespace.ownedElement>
</UML:Model>
</XMI.content>
<XMI.extensions xmi.extender="umbrello" >
<docsettings viewid="1170" documentation="" uniqueid="1394" />
<diagrams>
<diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1140" snapy="10" showatts="1" xmi.id="1170" documentation="" type="402" showops="1" showpackage="0" name="class diagram" localid="900000" showstereotype="0" showscope="1" snapcsgrid="0" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="828" >
<widgets>
<classwidget usesdiagramfillcolour="0" width="340" showattsigs="601" usesdiagramusefillcolour="0" x="422" y="311" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="45" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="1171" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
<classwidget usesdiagramfillcolour="0" width="294" showattsigs="601" usesdiagramusefillcolour="0" x="377" y="459" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="81" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="1172" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
<classwidget usesdiagramfillcolour="0" width="195" showattsigs="601" usesdiagramusefillcolour="0" x="427" y="624" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="81" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="1173" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
<classwidget usesdiagramfillcolour="0" width="165" showattsigs="601" usesdiagramusefillcolour="0" x="20" y="12" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="45" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="1174" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
<classwidget usesdiagramfillcolour="0" width="325" showattsigs="601" usesdiagramusefillcolour="0" x="542" y="180" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="72" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="1195" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
<classwidget usesdiagramfillcolour="0" width="275" showattsigs="601" usesdiagramusefillcolour="0" x="40" y="246" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="63" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="1213" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
<notewidget usesdiagramfillcolour="1" width="298" usesdiagramusefillcolour="1" x="216" y="8" linewidth="none" fillcolour="none" height="201" usefillcolor="1" isinstance="0" xmi.id="1260" showstereotype="1" text="Main responsible of performing import. Doctrine->import() delegates to this class. This class delegates database schema reading to Doctrine_Import_Reader and passes the result to Doctrine_Import_Db_ClassBuilder which builds the base class definitions. Finally this class saves the base class definitions to the given path." font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
<classwidget usesdiagramfillcolour="0" width="340" showattsigs="601" usesdiagramusefillcolour="0" x="56" y="367" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="63" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="1276" showoperations="1" showpackage="0" showscope="1" font="Sans Serif,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
<notewidget usesdiagramfillcolour="1" width="156" usesdiagramusefillcolour="1" x="148" y="475" linewidth="none" fillcolour="none" height="87" usefillcolor="1" isinstance="0" xmi.id="1296" showstereotype="1" text="Translates database native field to Doctrine field definition" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
<notewidget usesdiagramfillcolour="1" width="207" usesdiagramusefillcolour="1" x="601" y="22" linewidth="none" fillcolour="none" height="119" usefillcolor="1" isinstance="0" xmi.id="1304" showstereotype="1" text="Reads database using the given PDO connection and constructs Doctrine_Import_Db_Table objects." font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
<notewidget usesdiagramfillcolour="1" width="218" usesdiagramusefillcolour="1" x="817" y="286" linewidth="none" fillcolour="none" height="97" usefillcolor="1" isinstance="0" xmi.id="1308" showstereotype="1" text="Builds a Doctrine_Record base class definition based on schema (Doctrine_Import_Db_Table)" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
<notewidget usesdiagramfillcolour="1" width="133" usesdiagramusefillcolour="1" x="755" y="446" linewidth="none" fillcolour="none" height="109" usefillcolor="1" isinstance="0" xmi.id="1310" showstereotype="1" text="Holds information on a database table" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
<notewidget usesdiagramfillcolour="1" width="126" usesdiagramusefillcolour="1" x="753" y="604" linewidth="none" fillcolour="none" height="120" usefillcolor="1" isinstance="0" xmi.id="1312" showstereotype="1" text="Holds information on a database table field" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
</widgets>
<messages/>
<associations>
<assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="1172" widgetaid="1173" xmi.id="1186" linecolor="none" >
<linepath>
<startpoint startx="524" starty="624" />
<endpoint endx="524" endy="540" />
</linepath>
<floatingtext usesdiagramfillcolour="1" width="61" usesdiagramusefillcolour="1" x="524" y="582" linewidth="none" posttext="" role="703" fillcolour="none" height="22" usefillcolor="1" pretext="" isinstance="0" xmi.id="1198" showstereotype="1" text="owns \/" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
<floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="526" y="590" linewidth="none" posttext="" role="701" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="1192" text="*" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
<floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="526" y="542" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="1190" showstereotype="1" text="1" font="Sans Serif,10,-1,0,50,0,0,0,0,0" linecolor="none" />
</assocwidget>
<assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="1260" widgetaid="1213" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
<linepath>
<startpoint startx="177" starty="246" />
<endpoint endx="365" endy="209" />
</linepath>
</assocwidget>
<assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="1296" widgetaid="1276" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
<linepath>
<startpoint startx="226" starty="430" />
<endpoint endx="226" endy="475" />
</linepath>
</assocwidget>
<assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="1304" widgetaid="1195" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
<linepath>
<startpoint startx="704" starty="180" />
<endpoint endx="704" endy="141" />
</linepath>
</assocwidget>
<assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="1308" widgetaid="1171" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
<linepath>
<startpoint startx="762" starty="333" />
<endpoint endx="817" endy="334" />
</linepath>
</assocwidget>
<assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="1172" widgetaid="1310" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
<linepath>
<startpoint startx="755" starty="500" />
<endpoint endx="671" endy="499" />
</linepath>
</assocwidget>
<assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="1173" widgetaid="1312" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
<linepath>
<startpoint startx="753" starty="664" />
<endpoint endx="622" endy="664" />
</linepath>
</assocwidget>
</associations>
</diagram>
</diagrams>
<listview>
<listitem open="1" type="800" label="Views" >
<listitem open="1" type="801" label="Logical View" >
<listitem open="1" type="813" id="1174" >
<listitem open="0" type="815" id="1176" />
</listitem>
<listitem open="1" type="813" id="1213" >
<listitem open="0" type="815" id="1216" />
<listitem open="0" type="815" id="1229" />
</listitem>
<listitem open="1" type="813" id="1171" >
<listitem open="0" type="815" id="1201" />
</listitem>
<listitem open="1" type="813" id="1276" >
<listitem open="0" type="815" id="1280" />
<listitem open="0" type="815" id="1284" />
</listitem>
<listitem open="1" type="813" id="1173" >
<listitem open="0" type="814" id="1182" />
<listitem open="0" type="814" id="1184" />
<listitem open="0" type="814" id="1185" />
</listitem>
<listitem open="1" type="813" id="1194" />
<listitem open="1" type="813" id="1172" >
<listitem open="0" type="814" id="1180" />
<listitem open="0" type="814" id="1193" />
<listitem open="0" type="814" id="1196" />
</listitem>
<listitem open="1" type="813" id="1195" >
<listitem open="0" type="814" id="1199" />
<listitem open="0" type="815" id="1200" />
<listitem open="0" type="815" id="1237" />
</listitem>
<listitem open="1" type="813" id="1217" />
<listitem open="1" type="813" id="1177" />
<listitem open="1" type="813" id="1178" />
<listitem open="0" type="830" label="Datatypes" />
</listitem>
<listitem open="1" type="802" label="Use Case View" />
<listitem open="1" type="821" label="Component View" />
<listitem open="1" type="827" label="Deployment View" />
<listitem open="1" type="836" label="Entity Relationship Model" />
</listitem>
</listview>
<codegeneration>
<codegenerator language="PHP5" />
</codegeneration>
</XMI.extensions>
</XMI>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment