Ejemplo n.º 1
0
<?php

require 'lang.base.php';
uses('util.cmd.Console', 'util.cmd.ParamString', 'org.dia.DiaUnmarshaller', 'io.File');
// TODO: => unittest!
$Param = new ParamString();
$diagram = $Param->value(1);
try {
    $Dia = DiaUnmarshaller::unmarshal($diagram);
} catch (Exception $e) {
    $e->printStackTrace();
    exit(-1);
}
$Dia->saveTo('test_out.dia', FALSE);
Ejemplo n.º 2
0
     $Dia = DiaMarshaller::marshal($classes, $recurse, $depend);
     $Dia->saveTo($file, FALSE);
 } else {
     // else: update diagram
     Console::writeLine('Diagram file found: updating classes...');
     // initialize objects
     try {
         // Visitor checks if the given classes exist
         $Visitor = new UpdateVisitor($classes, TRUE, TRUE);
     } catch (Exception $e) {
         $e->printStackTrace();
         exit(-1);
     }
     Console::writeLine('Parsing XML diagram file...');
     try {
         $Dia = DiaUnmarshaller::unmarshal($file);
     } catch (Exception $e) {
         $e->printStackTrace();
         exit(-1);
     }
     // do the updates
     Console::writeLine('Running visitor...');
     $Dia->accept($Visitor);
     Console::writeLine('Finalize visitor...');
     $Visitor->finalize();
     // write changes back to file if the visitor has changed something
     if ($Visitor->changedClasses()) {
         Console::writeLine('Writing changes back to diagram file...');
         $Dia->saveTo($file, FALSE);
     }
 }
Ejemplo n.º 3
0
 *
 */
require 'lang.base.php';
uses('util.cmd.Console', 'io.File', 'io.ZipFile', 'xml.dom.Document', 'org.dia.DiaDiagram', 'org.dia.DiaText', 'org.dia.DiaMarshaller', 'org.dia.DiaUnmarshaller');
// create new empty diagram:
$Dia = new DiaDiagram();
$BgLayer = $Dia->getChild('Background');
$BgLayer->addObject(new DiaText());
Console::writeLine($Dia->getSource());
exit(0);
//$Dia= &DiaMarshaller::marshal(array('object.TdocVertrag'), $recurse= 1, $depend= FALSE);
//print($Dia->getSource());
// read an existing diagram
$file = getcwd() . '/test-read.dia';
Console::writeLine("Using file: {$file}");
DiaUnmarshaller::unmarshal($file, array('org.dia.DiaDiagram', 'lang.Object'));
// try opening (zipped) file
// hint: ZipFile also handles unzipped files...
/*  try (); {
    $dia_file= &new ZipFile($file) &&
    $dia_file->open(FILE_MODE_READ);
  } if (catch('Exception', $e)) {
    $e->printStackTrace();
    exit(-1);
  }

  // get the encoding from file
  //$xml_encoding= $dia_file->readLine();
  $dia_xml= $dia_file->read($dia_file->size());
  
  // parse the dia file
Ejemplo n.º 4
0
<?php

require 'lang.base.php';
uses('org.dia.DiaUnmarshaller', 'org.dia.UpdateVisitor');
// TODO: => unittest...
Console::writeLine('============= Unmarshaller ==========');
$Dia = DiaUnmarshaller::unmarshal('DiaClasses.dia');
$Dia->saveTo('DiaClasses_parsed.dia', FALSE);
Console::writeLine('============= Visitor ===============');
$Visitor = new UpdateVisitor(array(), FALSE, TRUE);
$Dia->accept($Visitor);
$Visitor->finalize();
$Dia->saveTo('DiaClasses_updated.dia', FALSE);