Skip to content

Instantly share code, notes, and snippets.

@mfcabrera
Created June 19, 2010 03:28
Show Gist options
  • Save mfcabrera/444545 to your computer and use it in GitHub Desktop.
Save mfcabrera/444545 to your computer and use it in GitHub Desktop.
<?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>
# -*- 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