Created
June 19, 2010 03:28
-
-
Save mfcabrera/444545 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<application-server xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/application-server-10_1.xsd" localhostIsAdmin="true" | |
application-directory="../applications" | |
check-for-updates="adminClientOnly" | |
deployment-directory="../application-deployments" | |
connector-directory="../connectors" | |
schema-major-version="10" schema-minor-version="0" > | |
<shared-library name="log4j" version="1.2.15"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/log4j/1.2.15/log4j-1.2.15.jar"/> | |
</shared-library> | |
<shared-library name="commons" version="1.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-collections.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-el.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-codec-1.3.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-fileupload-1.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-chain-1.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-io-1.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-beanutils-1.7.0.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-digester-1.8.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-validator-1.3.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-httpclient-3.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-lang-2.4.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/commons/commons-logging-1.1.1.jar"/> | |
<import-shared-library name="log4j"/> | |
</shared-library> | |
<shared-library name="Inversura.XML" version="1.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/xml/jaxen-1.1.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/xml/jdom.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/xml/xalan.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/xml/xercesImpl.jar"/> | |
<import-shared-library name="commons"/> | |
</shared-library> | |
<shared-library name="jaxb" version="2.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jaxb/activation.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jaxb/jaxb1-impl.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jaxb/jaxb-api.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jaxb/jaxb-impl.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jaxb/jaxb-xjc.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jaxb/jsr173_1.0_api.jar"/> | |
</shared-library> | |
<shared-library name="jaxbCXF" version="2.1.1"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jaxb-api-2.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jaxb-impl-2.1.9.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jaxb-xjc-2.1.9.jar"/> | |
</shared-library> | |
<shared-library name="cxf.foundation" version="2.1.4"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/aopalliance-1.0.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/asm-2.2.3.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/bcprov-jdk15-140.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/FastInfoset-1.2.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/spring-beans-2.0.8.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/spring-context-2.0.8.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/spring-core-2.0.8.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/spring-web-2.0.8.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jaxen-1.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jdom-1.0.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/cxf-2.1.4.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/geronimo-activation_1.1_spec-1.0.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/geronimo-annotation_1.0_spec-1.1.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/geronimo-stax-api_1.0_spec-1.0.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/geronimo-ws-metadata_2.0_spec-1.1.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/geronimo-jaxws_2.1_spec-1.0.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jra-1.0-alpha-4.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/neethi-2.0.4.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/saaj-api-1.3.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/saaj-impl-1.3.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/serializer-2.7.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/wsdl4j-1.6.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/wstx-asl-3.2.6.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/xalan-2.7.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/xml-resolver-1.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/XmlSchema-1.4.3.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/xmlsec-1.4.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/wss4j-1.5.5.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jaxb-api-2.1.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jaxb-impl-2.1.9.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cxf.foundation/2.1.4/jaxb-xjc-2.1.9.jar"/> | |
<import-shared-library name="commons"/> | |
<import-shared-library name="log4j"/> | |
</shared-library> | |
<shared-library name="Inversura.Utilidades" version="1.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/utilidades/bcprov-jdk15-138.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/utilidades/jcommon-1.0.8.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/utilidades/jcommon-xml-1.0.8.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/utilidades/sinetfactory.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/assets.foundation/1.0/oscache-2.4.1.jar"/> | |
<import-shared-library name="commons"/> | |
<import-shared-library name="log4j"/> | |
</shared-library> | |
<shared-library name="InversuraSWB" version="1.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/swb/cronos.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/swb/swb.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/swb/frameworksPubs.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/swb/InversuraIDM.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/swb/log4jSura.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/swb/puentePubsMus.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/swb/swb-mvc.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/assets.foundation/1.0/assets.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/cmclient.foundation/1.0/constantmanager-client.jar"/> | |
<import-shared-library name="oracle.jdbc"/> | |
<import-shared-library name="Inversura.XML"/> | |
<import-shared-library name="commons"/> | |
<import-shared-library name="log4j"/> | |
<import-shared-library name="Inversura.Utilidades"/> | |
<import-shared-library name="jaxb"/> | |
<import-shared-library name="cxf.foundation"/> | |
</shared-library> | |
<shared-library name="avansoft" version="1.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/avansoft/avansoft2.0_alpha_r42.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/avansoft/BlowfishJ.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/avansoft/freemarker.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/avansoft/oreilly.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/avansoft/PerlTools.jar"/> | |
<import-shared-library name="log4j"/> | |
</shared-library> | |
<shared-library name="plataforma.core" version="1.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/plataforma.core/1.0/finderDatasource.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/plataforma.core/1.0/ResourcesPLS.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/plataforma.core/1.0/InversuraLib.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/plataforma.core/1.0/CommonsPLSLibrary.jar"/> | |
<import-shared-library name="InversuraSWB"/> | |
</shared-library> | |
<shared-library name="jstl" version="1.0"> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jstl/1.0.2/jstl-1.0.2.jar"/> | |
<code-source path="/oracle/home/APLIC/escritura/arquitectura/shared/jstl/1.0.2/standard-1.0.2.jar"/> | |
</shared-library> | |
<rmi-config path="./rmi.xml" /> | |
<jms-config path="./jms.xml" /> | |
<javacache-config path="../../../javacache/admin/javacache.xml" /> | |
<j2ee-logging-config path="./j2ee-logging.xml" /> | |
<log> | |
<file path="../log/server.log" /> | |
</log> | |
<java-compiler name="javac" in-process="false" options="-J-Xmx1024m -encoding UTF8" extdirs="/oracle/home/dba/product/ias10g/J2EE1/jdk/jre/lib/ext" /> | |
<global-application name="default" path="application.xml" parent="system" start="true" /> | |
<application name="javasso" path="../../home/applications/javasso.ear" parent="default" start="false" /> | |
<application name="ascontrol" path="../../home/applications/ascontrol.ear" parent="system" start="false" /> | |
<application name="datatags" path="../../home/applications/datatags.ear" parent="default" start="true" /> | |
<transaction-manager-config path="transaction-manager.xml" /> | |
<web-site default="true" path="./default-web-site.xml" /> | |
<cluster id="-1302397996" /> | |
</application-server> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
# oc4j2gv.rb | |
# This program is free software. It comes without any warranty, to | |
# the extent permitted by applicable law. You can redistribute it | |
# and/or modify it under the terms of the Do What The Fuck You Want | |
# To Public License, Version 2, as published by Sam Hocevar. See | |
# http://sam.zoy.org/wtfpl/COPYING for more details. | |
require 'rubygems' | |
require 'graphviz' | |
require 'rexml/document' | |
include REXML | |
class SharedLib < GraphViz::Node | |
attr_accessor :version | |
attr_accessor :original_name | |
# I found a bug in GraphViz when scaping. I already sent a patch for this. | |
# so I wrote this small escaping for libs that uses "." as part of the name | |
def escape(str) | |
unless str.nil? | |
str.gsub(".","\\.") | |
else | |
"" | |
end | |
end | |
def id | |
@original_name + @version | |
end | |
def set_defaults | |
color("blue") | |
shape("box") | |
end | |
def initialize(name,version=nil) | |
@original_name = name | |
@version = version || "" | |
@name = escape(name)+escape(version) | |
super(@name) | |
set_defaults | |
end | |
end | |
class GVGenerator | |
def find_matching_library(lib_name,libs) | |
#puts lib_name | |
mlib = nil | |
mlibs = libs.sort.find {|e| e[0] =~ Regexp.new(lib_name) } | |
unless mlibs.nil? | |
mlib = mlibs.reverse[0] | |
end | |
mlib | |
end | |
def initialize(file) | |
@g = GraphViz::new(:G, :type=> :digraph, :rankdir =>:TB) | |
@g.node[:style] = "filled" | |
@g.node[:shape] = "box" | |
@g.node[:color] = "#333333" | |
@g.node[:fillcolor] = "#294b76" | |
@g.node[:fontcolor] = "white" | |
@g.node[:fontname] = "Trebuchet MS" | |
@g.edge[:color] = "#666666" | |
@g.edge[:arrowhead] = "open" | |
begin | |
@io = File.open(file) | |
rescue Exception => e | |
$stderr.puts("Error Opening the file: #{e}") | |
exit(-1) | |
end | |
@xml = Document.new(@io) | |
libs = Hash.new | |
# we find all the top level libraries in the XML | |
@xml.elements.each("application-server/shared-library") { |e| | |
sl = SharedLib.new(e.attributes["name"],e.attributes["version"]) | |
libs.store(sl.id,sl) | |
} | |
# Now we find the relations | |
@xml.elements.each("application-server/shared-library") { |e| | |
key = e.attributes["name"]+e.attributes["version"] | |
child = libs[key] | |
e.elements.each("import-shared-library") { |i| | |
parent = find_matching_library(i.attributes["name"],libs) | |
# We ignore the library if it doesn't exist | |
unless parent.nil? | |
@g.add_edge(child,parent) | |
end | |
} | |
# puts child.output | |
} | |
end | |
def out | |
@g.output(:png => "oc4j_ptf.png", :dot => "oc4j_ptf.dot") | |
end | |
end | |
gv = GVGenerator.new("ptf.xml").out |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment