You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by co...@apache.org on 2002/08/18 10:23:34 UTC
cvs commit: jakarta-avalon-phoenix/src/schema assembly.dtd
colus 2002/08/18 01:23:34
Modified: src/java/org/apache/avalon/phoenix/components/application
BlockEntry.java
src/java/org/apache/avalon/phoenix/metadata
BlockMetaData.java
src/java/org/apache/avalon/phoenix/tools/assembler
Assembler.java
src/schema assembly.dtd
Log:
Support disabling export block via proxy.
TODO: update DTD.
No support export additional interfaces.
No support interceptors.
PR: 9270
Revision Changes Path
1.20 +11 -4 jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/BlockEntry.java
Index: BlockEntry.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/BlockEntry.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- BlockEntry.java 6 Aug 2002 11:57:39 -0000 1.19
+++ BlockEntry.java 18 Aug 2002 08:23:33 -0000 1.20
@@ -49,7 +49,7 @@
{
invalidate();
- if( null != object )
+ if( null != object && ! getMetaData().isDisableProxy() )
{
final BlockInfo blockInfo = getMetaData().getBlockInfo();
final Class[] interfaces = getServiceClasses( object, blockInfo.getServices() );
@@ -60,13 +60,20 @@
public synchronized Object getProxy()
{
- if( null != m_invocationHandler )
+ if ( getMetaData().isDisableProxy() )
{
- return m_invocationHandler.getProxy();
+ return m_object;
}
else
{
- return null;
+ if( null != m_invocationHandler )
+ {
+ return m_invocationHandler.getProxy();
+ }
+ else
+ {
+ return null;
+ }
}
}
1.13 +10 -1 jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/metadata/BlockMetaData.java
Index: BlockMetaData.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/metadata/BlockMetaData.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- BlockMetaData.java 6 Aug 2002 11:57:41 -0000 1.12
+++ BlockMetaData.java 18 Aug 2002 08:23:33 -0000 1.13
@@ -20,14 +20,18 @@
private final DependencyMetaData[] m_dependencies;
- private BlockInfo m_blockInfo;
+ private final boolean m_disableProxy;
+
+ private final BlockInfo m_blockInfo;
public BlockMetaData( final String name,
final DependencyMetaData[] dependencies,
+ final boolean disableProxy,
final BlockInfo blockInfo )
{
m_name = name;
m_dependencies = dependencies;
+ m_disableProxy = disableProxy;
m_blockInfo = blockInfo;
}
@@ -62,5 +66,10 @@
public DependencyMetaData[] getDependencies()
{
return m_dependencies;
+ }
+
+ public boolean isDisableProxy()
+ {
+ return m_disableProxy;
}
}
1.19 +5 -2 jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/tools/assembler/Assembler.java
Index: Assembler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/tools/assembler/Assembler.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- Assembler.java 6 Aug 2002 11:57:42 -0000 1.18
+++ Assembler.java 18 Aug 2002 08:23:34 -0000 1.19
@@ -119,12 +119,15 @@
final String name = block.getAttribute( "name" );
final String classname = block.getAttribute( "class" );
final Configuration[] provides = block.getChildren( "provide" );
+ final Configuration proxy = block.getChild( "proxy" );
+ final boolean disableProxy =
+ proxy.getAttributeAsBoolean( "disable", false );
final DependencyMetaData[] roles = buildDependencyMetaDatas( provides );
final BlockInfo info = getBlockInfo( name, classname, classLoader );
- return new BlockMetaData( name, roles, info );
+ return new BlockMetaData( name, roles, disableProxy, info );
}
catch( final ConfigurationException ce )
{
1.4 +10 -1 jakarta-avalon-phoenix/src/schema/assembly.dtd
Index: assembly.dtd
===================================================================
RCS file: /home/cvs/jakarta-avalon-phoenix/src/schema/assembly.dtd,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- assembly.dtd 6 Aug 2002 11:13:42 -0000 1.3
+++ assembly.dtd 18 Aug 2002 08:23:34 -0000 1.4
@@ -35,8 +35,9 @@
provide declare that particular blocks that will provide
the block with particular services
+proxy TODO:description
-->
-<!ELEMENT block (provide*)>
+<!ELEMENT block (provide*,proxy?)>
<!ATTLIST block class CDATA #REQUIRED>
<!ATTLIST block name CDATA #REQUIRED>
@@ -50,6 +51,14 @@
<!ELEMENT provide EMPTY>
<!ATTLIST provide role CDATA #REQUIRED>
<!ATTLIST provide name CDATA #REQUIRED>
+
+<!--
+TODO:description
+
+disable TODO:description
+-->
+<!ELEMENT proxy EMPTY>
+ <!ATTLIST proxy disable CDATA #REQUIRED>
<!--
The block element declares a listener exists in the application.
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>