Return-Path: Delivered-To: apmail-openejb-commits-archive@www.apache.org Received: (qmail 73677 invoked from network); 22 Jan 2008 00:26:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Jan 2008 00:26:25 -0000 Received: (qmail 32992 invoked by uid 500); 22 Jan 2008 00:26:15 -0000 Delivered-To: apmail-openejb-commits-archive@openejb.apache.org Received: (qmail 32973 invoked by uid 500); 22 Jan 2008 00:26:15 -0000 Mailing-List: contact commits-help@openejb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openejb.apache.org Delivered-To: mailing list commits@openejb.apache.org Received: (qmail 32964 invoked by uid 99); 22 Jan 2008 00:26:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Jan 2008 16:26:15 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jan 2008 00:25:58 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A15B91A9832; Mon, 21 Jan 2008 16:26:04 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r614070 - in /openejb/trunk/openejb3/container/openejb-core/src/main: java/org/apache/openejb/config/sys/ServiceProvider.java java/org/apache/openejb/config/sys/WikiGenerator.java resources/META-INF/org.apache.openejb/service-jar.xml Date: Tue, 22 Jan 2008 00:26:04 -0000 To: commits@openejb.apache.org From: dain@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080122002604.A15B91A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dain Date: Mon Jan 21 16:26:03 2008 New Revision: 614070 URL: http://svn.apache.org/viewvc?rev=614070&view=rev Log: Added simple documentation generator for service provider file Added: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/WikiGenerator.java Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java?rev=614070&r1=614069&r2=614070&view=diff ============================================================================== --- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java (original) +++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java Mon Jan 21 16:26:03 2008 @@ -17,6 +17,9 @@ */ package org.apache.openejb.config.sys; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; @@ -24,9 +27,8 @@ import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlValue; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; -import java.util.Properties; -import java.util.List; -import java.util.ArrayList; + +import org.apache.openejb.util.SuperProperties; /** @@ -97,7 +99,7 @@ */ public Properties getProperties() { if (properties == null) { - properties = new Properties(); + properties = new SuperProperties(); } return properties; } Added: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/WikiGenerator.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/WikiGenerator.java?rev=614070&view=auto ============================================================================== --- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/WikiGenerator.java (added) +++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/WikiGenerator.java Mon Jan 21 16:26:03 2008 @@ -0,0 +1,139 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.config.sys; + +import java.io.PrintWriter; +import java.util.Map; + +import org.apache.openejb.OpenEJBException; +import org.apache.openejb.util.SuperProperties; + +public class WikiGenerator { + public static void main(String[] args) throws Exception { + System.out.println(); + System.out.println(); + System.out.println(); + + new WikiGenerator("org.apache.openejb").generate(new PrintWriter(System.out)); + + System.out.println(); + System.out.println(); + System.out.println(); + } + + protected ServicesJar servicesJar; + + public WikiGenerator(String providerName) throws OpenEJBException { + servicesJar = JaxbOpenejb.readServicesJar(providerName); + } + + public WikiGenerator(ServicesJar servicesJar) { + this.servicesJar = servicesJar; + } + + public void generate(PrintWriter out) throws Exception { + + // generate containers + out.println("{anchor: containers}"); + out.println("h2. Containers"); + for (ServiceProvider provider : servicesJar.getServiceProvider()) { + if ("Container".equals(provider.getService())) { + generateService(out, provider, "container"); + } + } + out.println(); + + out.println("{anchor: resources}"); + out.println("h2. Resources"); + for (ServiceProvider provider : servicesJar.getServiceProvider()) { + if ("Resource".equals(provider.getService())) { + generateService(out, provider, "resource"); + } + } + out.println(); + out.flush(); + } + + private void generateService(PrintWriter out, ServiceProvider provider, String serviceType) { + out.println("{anchor:" + provider.getId() + "-" + serviceType + "}"); + out.println("h3. " + provider.getId() ); + +// out.println(" class: " + provider.getClassName()); +// +// if (provider.getFactoryName() != null) { +// out.println(" factory-method: " + provider.getFactoryName()); +// } + + SuperProperties properties = (SuperProperties) provider.getProperties(); + if (properties.size() > 0) { + out.println(" || Property Name || Description ||"); + + for (Object key : properties.keySet()) { + if (key instanceof String) { + String name = (String) key; + + Map attributes = properties.getAttributes(name); + if (!attributes.containsKey("hidden")) { + String value = properties.getProperty(name); + String comment = properties.getComment(name); + + comment = scrubText(comment); + + if (value != null && value.length() > 0) { + if (comment.length() > 0) { + comment += "\\\\ \\\\ "; + } + comment += "Default value is _" + scrubText(value) + "_.|"; + } + + if (comment.length() == 0) comment = "No description."; + + out.println(" | " + name + " | " + comment + "|"); + } + } + } + } else { + out.println("No properties."); + } + out.println(); + } + + private String scrubText(String text) { + if (text == null) text = ""; + text = text.replaceAll("\r?\n", "\\\\\\\\ "); + text = text.replaceAll("\\*", "\\\\*"); + text = text.replaceAll("\\_", "\\\\_"); + text = text.replaceAll("\\?", "\\\\?"); + text = text.replaceAll("\\-", "\\\\-"); + text = text.replaceAll("\\^", "\\\\^"); + text = text.replaceAll("\\~", "\\\\~"); + text = text.replaceAll("\\#", "\\\\#"); + text = text.replaceAll("\\[", "\\\\["); + text = text.replaceAll("\\]", "\\\\]"); + text = text.replaceAll("\\{", "\\\\{"); + text = text.replaceAll("\\}", "\\\\}"); + text = text.replaceAll("\\(", "\\\\("); + text = text.replaceAll("\\)", "\\\\)"); + text = text.replaceAll("http:", "{html}http:{html}"); + text = text.replaceAll("file:", "{html}file:{html}"); + text = text.replaceAll(" ", "{html}    {html}"); + text = text.replaceAll(" ", "{html}   {html}"); + text = text.replaceAll(" ", "{html}  {html}"); + return text; + } +} Modified: openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml?rev=614070&r1=614069&r2=614070&view=diff ============================================================================== --- openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml (original) +++ openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml Mon Jan 21 16:26:03 2008 @@ -51,12 +51,15 @@ CmpEngineFactory org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory - #Engine derby + # Engine derby + # @hidden + Engine instantdb # ConnectorName is he id of the Connector element which # should provide connectivity for this CMP Container + # @hidden ConnectorName Default JDBC Database @@ -298,7 +301,7 @@ # If not set then the setReadOnly method will not be called. # (Some drivers don't support read only mode, ex: Informix) - # DefaultReadOnly + DefaultReadOnly # The default TransactionIsolation state of new connections @@ -312,7 +315,7 @@ # # Note: Most JDBC drivers do not support all isolation levels - # DefaultTransactionIsolation + DefaultTransactionIsolation # The initial number of connections that are created when the @@ -350,7 +353,7 @@ # this query MUST be an SQL SELECT statement that returns at # least one row. - # ValidationQuery + ValidationQuery # If true connections will be validated before being returned # from the pool. If the validation fails, the connection is @@ -450,22 +453,18 @@ # Driver class name - #JdbcDriver org.apache.derby.jdbc.EmbeddedDriver JdbcDriver org.hsqldb.jdbcDriver # Url for creating connections - #JdbcUrl jdbc:derby:derbyDB;create=true JdbcUrl jdbc:hsqldb:file:data/hsqldb/hsqldb # Default user name - #UserName admin UserName sa # Default password - #Password pass Password # The connection properties that will be sent to the JDBC @@ -486,7 +485,7 @@ # If not set then the setReadOnly method will not be called. # (Some drivers don't support read only mode, ex: Informix) - # DefaultReadOnly + DefaultReadOnly # The default TransactionIsolation state of new connections @@ -500,7 +499,7 @@ # # Note: Most JDBC drivers do not support all isolation levels - # DefaultTransactionIsolation + DefaultTransactionIsolation # The initial number of connections that are created when the @@ -538,7 +537,7 @@ # this query MUST be an SQL SELECT statement that returns at # least one row. - # ValidationQuery + ValidationQuery # If true connections will be validated before being returned # from the pool. If the validation fails, the connection is @@ -682,6 +681,9 @@ types="javax.jms.Queue, Queue" constructor="destination" class-name="org.apache.activemq.command.ActiveMQQueue"> + + # Specifies the name of the queue + destination @@ -691,6 +693,9 @@ types="javax.jms.Topic, Topic" constructor="destination" class-name="org.apache.activemq.command.ActiveMQTopic"> + + # Specifies the name of the topic + destination