You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2001/12/30 09:52:53 UTC

cvs commit: jakarta-avalon-cornerstone/apps/httpproxy/src/xdocs book.xml cornerstone.uris index.xml demo-httpproxy.xml

hammant     01/12/30 00:52:53

  Modified:    apps/httpproxy build.xml
               apps/httpproxy/src/xdocs book.xml cornerstone.uris index.xml
  Removed:     apps/httpproxy/src/xdocs demo-httpproxy.xml
  Log:
  http proxy xdocs generates now (via 'ant docs' in apps/httpproxy rather than 'build httpproxy docs')
  
  Revision  Changes    Path
  1.4       +46 -32    jakarta-avalon-cornerstone/apps/httpproxy/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/httpproxy/build.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- build.xml	20 Dec 2001 15:02:05 -0000	1.3
  +++ build.xml	30 Dec 2001 08:52:53 -0000	1.4
  @@ -28,7 +28,8 @@
     <property name="build.src" value="${build.dir}/src"/>
     <property name="build.classes" value="${build.dir}/classes"/>
     <property name="build.xdocs" value="${build.dir}/xdocs"/>
  -  <property name="build.context" value="${build.dir}/documentation"/>  
  +  <property name="build.context" value="${build.dir}/documentation"/>
  +  <property name="build.docs" value="${build.dir}/docs"/>
   
     <!-- Set the properties for source directories -->
     <property name="src.dir" value="src"/>
  @@ -72,6 +73,32 @@
       <echo message="Run ant -projecthelp to get a list of targets to run"/>
     </target>
   
  +  <!-- Setup the filters -->
  +  <target name="setup-filters">
  +    <filter token="Name" value="Avalon Cornerstone - HttpProxy"/>
  +    <filter token="name" value="httpproxy"/>
  +    <filter token="version" value="${version}"/>
  +    <filter token="year" value="${year}"/>
  +    <filter token="status" value="${status}"/>
  +    <filter token="release" value="${release}"/>
  +    <filter token="short-version" value="${short.version}"/>
  +
  +    <property name="avalon.base" value="http://jakarta.apache.org/avalon"/>
  +    <property name="framework.base" value="http://jakarta.apache.org/avalon/framework"/>
  +    <property name="phoenix.base" value="http://jakarta.apache.org/avalon/phoenix"/>
  +    <property name="cornerstone.base" value="http://jakarta.apache.org/avalon/cornerstone"/>
  +    <property name="logkit.base" value="http://jakarta.apache.org/avalon/logkit"/>
  +    <property name="testlet.base" value="http://jakarta.apache.org/avalon/testlet"/>
  +
  +    <filter token="year" value="${year}"/>
  +    <filter token="AVALON_BASE" value="${avalon.base}"/>
  +    <filter token="FRAMEWORK_BASE" value="${framework.base}"/>
  +    <filter token="PHOENIX_BASE" value="${phoenix.base}"/>
  +    <filter token="CORNERSTONE_BASE" value="${cornerstone.base}"/>
  +    <filter token="LOGKIT_BASE" value="${logkit.base}"/>
  +    <filter token="TESTLET_BASE" value="${testlet.base}"/>
  +  </target>
  +
     <!-- Compiles project -->
     <target name="compile">
     
  @@ -170,33 +197,19 @@
     </target>
   
     <!-- Prepares the documentation directory -->
  -  <target name="xdocs" description="Generates the Docs"/>  
  -  <!-- not working yet -->
  -  <target name="xdocs_alt" description="Generates the Docs">
  +  <target name="docs" depends="setup-filters"> <!-- depends="javadocs" description="Generates the Docs" -->
  +    <mkdir dir="${docs.dir}"/>
   
       <mkdir dir="${build.context}"/>
       <mkdir dir="${build.xdocs}"/>
  +    <mkdir dir="${build.docs}"/>
       <mkdir dir="${build.dir}/work"/>
  +    <mkdir dir="../../docs/apps/httpproxy"/>
   
  -    <!-- Base pointers for non-xdocs documentation. Override these 
  -         in .ant.properties to link to local docs -->
  -    <property name="avalon.base" value="http://jakarta.apache.org/avalon"/>
  -    <property name="framework.base" value="http://jakarta.apache.org/avalon/framework"/>
  -    <property name="phoenix.base" value="http://jakarta.apache.org/avalon/phoenix"/>
  -    <property name="cornerstone.base" value="http://jakarta.apache.org/avalon/cornerstone"/>
  -    <property name="logkit.base" value="http://jakarta.apache.org/avalon/logkit"/>
  -    <property name="testlet.base" value="http://jakarta.apache.org/avalon/testlet"/>
  -
  -    <filter token="year" value="${year}"/>
  -    <filter token="AVALON_BASE" value="${avalon.base}"/>
  -    <filter token="FRAMEWORK_BASE" value="${framework.base}"/>
  -    <filter token="PHOENIX_BASE" value="${phoenix.base}"/>
  -    <filter token="CORNERSTONE_BASE" value="${cornerstone.base}"/>
  -    <filter token="LOGKIT_BASE" value="${logkit.base}"/>
  -    <filter token="TESTLET_BASE" value="${testlet.base}"/>
  -
  +    <!-- Base pointers for non-xdocs documentation. Override these in .ant.properties to link to local docs -->
       <copy todir="${build.context}" filtering="on">
         <fileset dir="${context.dir}">
  +        <exclude name="diagrams/**"/>
           <exclude name="resources/**"/>
           <exclude name="xdocs"/>
         </fileset>
  @@ -213,25 +226,26 @@
         </fileset>
       </copy>
   
  -    <delete>
  -      <fileset dir="${docs.dir}">
  -        <exclude name="api/**"/>
  -      </fileset>
  -    </delete>
  -    <mkdir dir="${docs.dir}"/>
  -
       <java classname="org.apache.cocoon.Main" fork="true">
         <arg value="-c${build.context}/"/>
  -      <arg value="-d${docs.dir}"/>
  +      <arg value="-d${build.docs}"/>
         <arg value="-w${build.dir}/work"/>
         <arg value="-l${build.dir}/work/cocoon.log"/>
         <arg value="-uINFO"/>
         <arg value="-f${xdocs.dir}/cornerstone.uris"/>
  -      <classpath refid="tools.class.path"/>
  +      <classpath>
  +        <path refid="tools.class.path"/>
  +        <fileset dir="${tools.dir}/ext"/>
  +      </classpath>
       </java>
  -  </target>
   
  -  <target name="docs" depends="javadocs,xdocs"/>
  +    <copy todir="../../docs/apps/httpproxy">
  +      <fileset dir="${build.docs}">
  +        <include name="**"/>
  +      </fileset>
  +    </copy>    
  +    
  +  </target>
   
   
     <!-- Completely build all dists -->
  
  
  
  1.2       +3 -1      jakarta-avalon-cornerstone/apps/httpproxy/src/xdocs/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/httpproxy/src/xdocs/book.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- book.xml	21 Nov 2001 17:10:42 -0000	1.1
  +++ book.xml	30 Dec 2001 08:52:53 -0000	1.2
  @@ -1,13 +1,15 @@
   <?xml version="1.0"?>
   
   <book software="Cornerstone"
  -      title="Cornerstone HypersonicSQL block Documentation"
  +      title="Cornerstone Documentation"
         copyright="@year@ The Apache Software Foundation">
   
     <project label="Back to Avalon" href="@AVALON_BASE@" />
   
     <menu label="About">
       <menu-item label="Overview" href="index.html"/>
  +    <menu-item type="external" id="downloads" label="Download" href="http://jakarta.apache.org/builds/jakarta-avalon/release/cornerstone"/>
  +    <menu-item type="external" id="api-docs" label="API Docs" href="api/index.html"/>
     </menu>
   
   </book>
  
  
  
  1.2       +0 -1      jakarta-avalon-cornerstone/apps/httpproxy/src/xdocs/cornerstone.uris
  
  Index: cornerstone.uris
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/httpproxy/src/xdocs/cornerstone.uris,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- cornerstone.uris	21 Nov 2001 17:10:42 -0000	1.1
  +++ cornerstone.uris	30 Dec 2001 08:52:53 -0000	1.2
  @@ -1,5 +1,4 @@
   index.html
  -demo-httpproxy.html
   images/add.jpg
   images/fix.jpg
   images/remove.jpg
  
  
  
  1.2       +67 -7     jakarta-avalon-cornerstone/apps/httpproxy/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/httpproxy/src/xdocs/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml	21 Nov 2001 17:10:42 -0000	1.1
  +++ index.xml	30 Dec 2001 08:52:53 -0000	1.2
  @@ -4,25 +4,85 @@
   
   <document>
     <header>
  -    <title>Cornerstone Developer Documentation</title>
  -    <subtitle>Introduction</subtitle>
  +    <title>Cornerstone Developer Documentation - Applications / HTTP Proxy</title>
  +    <subtitle>The 'HTTP Proxy' Example Application</subtitle>
       <authors>
  -      <person name="Avalon Documentation Team" email="avalon-dev@jakarta.apache.org"/>
  +      <person name="Paul Hammant" email="Paul_Hammant@yahoo.com"/>
       </authors>
     </header>
     <body>
       <s1 title="Introduction">
         <p>
  -        Cornerstone is a set of services for the Phoenix kernel. It contains "blocks"
  -        that plug into Phoenix. Example blocks include ConnectionManager, SocketManager,
  -        Scheduler etc.
  +        HTTP Proxy is a conventional HTTP proxy server that a browser would use to access the internet from behind a firewall.  There are two components that are variations on the same theme and use the same code base:
  +      </p>
  +      <ol>
  +        <li>
  +          <strong>Auditing HTTP Proxy</strong>  This logs the requests that it deals with.
  +        </li>
  +        <li>
  +          <strong>Filtering HTTP Proxy</strong>  This filters the requests that go out and blocks some of them based on some configurable rules.
  +        </li>
  +      </ol>
  +      <p>
  +        One can be chained into the other such that you could filter and audit.
  +      </p>
  +    </s1>
  +    <s1 title="Packaging of SAR">
  +      <p>
  +        It's much the same as the previous demo "helloworld" in that it's a socket listener type app.  The assembly.xml file has a section for the configuration of this component and it's zipped up into bar form in the same way.
  +      </p>
  +    </s1>
  +    <s1 title="Concepts shown here, not in HelloWorld">
  +      <p>
  +        Apart from using it's own log, the main difference with this demo is that it provides a mechanism by why the proxy server could be configured by another component that marked it as a dependancy.  A number of methods provide a way for that block to configure settings at runtime as well as query them:
  +      </p>
  +<source>
  +public interface HttpFilteringProxyServer
  +    extends HttpProxyServer
  +{
  +    /**
  +     * Method blockAllContentFrom No requests will reach this site.
  +     */
  +    void blockAllContentFrom( String domainName, boolean onOff );
  +
  +    /**
  +     * Method allowCookiesFrom Allows Cookies to be sent to this site.
  +     * This is kinda redundant with some of the features of Netscape 4.x and 6.x
  +     */
  +    void allowCookiesFrom( String domainName, boolean onOff );
  +
  +    /**
  +     * Method domainAllowed Check to see whether the appl domain should be blocked
  +     */
  +    boolean domainAllowed( String domainName );
  +
  +    /**
  +     * Method cookieAllowed Check to see whether the appl domain can be sent cookies
  +     */
  +    boolean cookieAllowed( String domainName );
  +
  +    /**
  +     * List the domains that are completely blocked.
  +     */
  +    String[] getBlockedDomains();
  +
  +    /**
  +     * List the domains for which cookies are not sent.
  +     */
  +    String[] getCookieSuppressedDomains();
  +}
  +</source>
  +    </s1>
  +    <s1 title="Status of demo">
  +      <p>
  +        The component is in demo status and would take some extra work to get it working to a level where it could be used for real as a proxy server.
         </p>
       </s1>
     </body>
     <footer>
       <legal>
         Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
  -      $Revision: 1.1 $ $Date: 2001/11/21 17:10:42 $
  +      $Revision: 1.2 $ $Date: 2001/12/30 08:52:53 $
       </legal>
     </footer>
   </document>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>