} } // The interfaces that our HandlerBase implements function getInterfaces() { return array(new JavaClass("org.xml.sax.EntityResolver"), new JavaClass("org.xml.sax.DTDHandler"), new JavaClass("org.xml.sax.DocumentHandler"), new JavaClass("org.xml.sax.ErrorHandler")); } // Create an instance of HandlerBase which implements the above // interfaces. function createHandler() { return java_closure(new HandlerBase(), null, getInterfaces()); } // Standard SAX handling $ParserFactory = new JavaClass("javax.xml.parsers.SAXParserFactory"); $parser = $ParserFactory->newInstance()->newSaxParser()->getParser(); $handler = createHandler(); $parser->setDocumentHandler($handler); $parser->setErrorHandler($handler); $parser->setFeature("http://apache.org/xml/features/validation/schema", false); $parser->setFeature("http://xml.org/sax/features/namespaces", false); $parser->setFeature("http://xml.org/sax/features/validation", false); $parser->setFeature("http://xml.org/sax/features/namespace-prefixes", false); $parser->setFeature("http://apache.org/xml/features/validation/schema-full-checking", false); // capture the HTML output of phpinfo .. // ob_start(); // phpinfo(); // $in = new java("java.io.ByteArrayInputStream", ob_get_contents()); // ob_end_clean(); $here = getcwd(); $in = new java("java.io.FileInputStream", "{$here}/phpinfo.xml");
$T4 = $t2 - $t1; $Sys->gc(); $t1 = java_values($Sys->currentTimeMillis()); java_begin_document(); $v = new java("java.util.HashMap"); for ($i = 0; $i < $n; $i++) { $v->put($i, $i); } java_end_document(); $t2 = java_values($Sys->currentTimeMillis()); $T5 = $t2 - $t1; $Sys->gc(); $t1 = java_values($Sys->currentTimeMillis()); java_begin_document(); $Array = new JavaClass("java.lang.reflect.Array"); $ar = $Array->newInstance(new JavaClass("java.lang.Integer"), $n); for ($i = 0; $i < $n; $i++) { $Array->set($ar, $i, $i); } java_end_document(); $t2 = java_values($Sys->currentTimeMillis()); $T6 = $t2 - $t1; $s = ""; for ($i = 0; $i < $n; $i++) { $s .= $i; } $Sys->gc(); $t1 = java_values($Sys->currentTimeMillis()); $str = new java("java.lang.String", $s); $t2 = java_values($Sys->currentTimeMillis()); $T7 = $t2 - $t1;
$j_tf = $j_tfClass->newInstance(); // create a svg picture with an ellipse in it // and print it out $FactoryClass = new JavaClass("javax.xml.parsers.DocumentBuilderFactory"); $factory = $FactoryClass->newInstance(); $builder = $factory->newDocumentBuilder(); $myDocument = $builder->newDocument(); $svgElement = $myDocument->createElementNS("http://www.w3.org/2000/svg", "svg"); $myDocument->appendChild($svgElement); $svgElement->setAttribute("width", "4cm"); $svgElement->setAttribute("height", "8cm"); $ellipseElement = $myDocument->createElementNS("http://www.w3.org/2000/svg", "ellipse"); $ellipseElement->setAttribute("cx", "2cm"); $ellipseElement->setAttribute("cy", "4cm"); $ellipseElement->setAttribute("rx", "2cm"); $ellipseElement->setAttribute("ry", "1cm"); $svgElement->appendChild($ellipseElement); $TransformerFactory = new JavaClass("javax.xml.transform.TransformerFactory"); $transFactory = $TransformerFactory->newInstance(); $myTransformer = $transFactory->newTransformer(); $src = new java("javax.xml.transform.dom.DOMSource", $myDocument); // print the picture to a memory buffer and return the contents of the // buffer to the client. $memoryStream = new java("java.io.ByteArrayOutputStream"); $streamResult = new java("javax.xml.transform.stream.StreamResult", $memoryStream); $myTransformer->transform($src, $streamResult); $data = $memoryStream->toByteArray(); echo java_values($data) . "\n"; $fp = fopen("ellipse.svg", "w"); fwrite($fp, java_values($data)); fclose($fp);
#!/usr/bin/php <?php include_once "java/Java.inc"; $Array = new JavaClass("java.lang.reflect.Array"); $testobj = $Array->newInstance(new JavaClass("java.lang.String"), array(2, 2, 2, 2, 2, 2)); $testobj[0][0][0][0][0][1] = 1; $testobj[0][0][0][0][1][0] = 2; $testobj[0][0][0][1][0][0] = 3; $testobj[0][0][1][0][0][0] = 4; $testobj[0][1][0][0][0][0] = 5; $testobj[1][0][0][0][0][0] = 6; $here = realpath(dirname($_SERVER["SCRIPT_FILENAME"])); if (!$here) { $here = getcwd(); } java_require("{$here}/array6.jar"); $array6 = new java("Array6"); $success = java_values($array6->check($testobj)); var_dump(java_values($testobj[0][0][0][0])); if (!$success) { echo "ERROR\n"; exit(1); } echo "test okay\n"; exit(0);