From 45359adc09ac1d9e48206c549e667ed6965c7cd3 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 28 May 2007 15:31:13 +0000
Subject: [PATCH] Fix the following issues:
---
opends/resource/admin/metaMO.xsl | 125 +++++++++++++++++++++++++++++++----------
1 files changed, 93 insertions(+), 32 deletions(-)
diff --git a/opends/resource/admin/metaMO.xsl b/opends/resource/admin/metaMO.xsl
index 46a998d..9ba6a10 100644
--- a/opends/resource/admin/metaMO.xsl
+++ b/opends/resource/admin/metaMO.xsl
@@ -387,7 +387,8 @@
select="concat(' /**
',
' * {@inheritDoc}
',
' */
',
- ' public void commit() throws ConcurrentModificationException,
',
+ ' public void commit() throws ManagedObjectAlreadyExistsException,
',
+ ' MissingMandatoryPropertiesException, ConcurrentModificationException,
',
' OperationRejectedException, AuthorizationException,
',
' CommunicationException {
',
' impl.commit();
',
@@ -568,29 +569,33 @@
select="concat(' ', $type, '.Builder builder = ', $type, '.createBuilder(INSTANCE, "',@name, '");
')" />
</xsl:otherwise>
</xsl:choose>
- <xsl:if test="string(@multi-valued) = 'true'">
+ <xsl:if test="@multi-valued='true'">
<xsl:value-of
select="' builder.setOption(PropertyOption.MULTI_VALUED);
'" />
</xsl:if>
- <xsl:if test="string(@read-only) = 'true'">
+ <xsl:if test="@read-only='true'">
<xsl:value-of
select="' builder.setOption(PropertyOption.READ_ONLY);
'" />
</xsl:if>
+ <xsl:if test="@monitoring='true'">
+ <xsl:value-of
+ select="' builder.setOption(PropertyOption.MONITORING);
'" />
+ </xsl:if>
<xsl:if
test="adm:requires-admin-action/adm:server-restart|adm:requires-admin-action/adm:component-restart|adm:requires-admin-action/adm:other">
<xsl:value-of
select="' builder.setOption(PropertyOption.REQUIRES_ADMIN_ACTION);
'" />
</xsl:if>
- <xsl:if test="string(@mandatory) = 'true'">
+ <xsl:if test="@mandatory='true'">
<xsl:value-of
select="' builder.setOption(PropertyOption.MANDATORY);
'" />
</xsl:if>
- <xsl:if test="string(@hidden) = 'true'">
+ <xsl:if test="@hidden='true'">
<xsl:value-of
select="' builder.setOption(PropertyOption.HIDDEN);
'" />
</xsl:if>
<xsl:choose>
- <xsl:when test="string(@mandatory) = 'true'">
+ <xsl:when test="@mandatory='true'">
<xsl:value-of
select="concat(' builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<', $value-type,'>());
')" />
</xsl:when>
@@ -629,19 +634,37 @@
</xsl:when>
<xsl:when
test="adm:default-behavior/adm:inherited/adm:relative">
- <xsl:message terminate="yes">
- <xsl:value-of
- select="concat('Relative inherited property defaults not yet implemented (property "', @name,
- '").')" />
- </xsl:message>
+ <xsl:value-of
+ select="concat(' DefaultBehaviorProvider<', $value-type,'> provider = ',
+ 'new RelativeInheritedDefaultBehaviorProvider<', $value-type,'>(')" />
+ <xsl:variable name="managed-object-name">
+ <xsl:call-template name="name-to-java">
+ <xsl:with-param name="value"
+ select="adm:default-behavior/adm:inherited/adm:relative/@managed-object-name" />
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="property-name"
+ select="adm:default-behavior/adm:inherited/adm:relative/@property-name" />
+ <xsl:variable name="offset"
+ select="adm:default-behavior/adm:inherited/adm:relative/@offset" />
+ <xsl:value-of
+ select="concat($managed-object-name, 'CfgDefn.getInstance(), "', $property-name, '", ', $offset, ');
')" />
+ <xsl:value-of
+ select="' builder.setDefaultBehaviorProvider(provider);
'" />
</xsl:when>
<xsl:when
test="adm:default-behavior/adm:inherited/adm:absolute">
- <xsl:message terminate="yes">
- <xsl:value-of
- select="concat('Absolute inherited property defaults not yet implemented (property "', @name,
- '").')" />
- </xsl:message>
+ <xsl:value-of
+ select="concat(' DefaultBehaviorProvider<', $value-type,'> provider = ',
+ 'new AbsoluteInheritedDefaultBehaviorProvider<', $value-type,'>(')" />
+ <xsl:variable name="property-name"
+ select="adm:default-behavior/adm:inherited/adm:absolute/@property-name" />
+ <xsl:variable name="path"
+ select="adm:default-behavior/adm:inherited/adm:absolute/@path" />
+ <xsl:value-of
+ select="concat('ManagedObjectPath.valueOf("', $path, '"), "', $property-name, '");
')" />
+ <xsl:value-of
+ select="' builder.setDefaultBehaviorProvider(provider);
'" />
</xsl:when>
<xsl:otherwise>
<xsl:message terminate="yes">
@@ -1017,7 +1040,7 @@
Generate a property value setter.
-->
<xsl:template name="generate-property-setter">
- <xsl:if test="string(@read-only) != 'true'">
+ <xsl:if test="not(@monitoring='true')">
<xsl:variable name="java-prop-name">
<xsl:call-template name="name-to-java">
<xsl:with-param name="value" select="@name" />
@@ -1031,9 +1054,9 @@
$java-prop-name ,
'(')" />
<xsl:choose>
- <xsl:when test="string(@multi-valued) != 'true'">
+ <xsl:when test="not(@multi-valued='true')">
<xsl:choose>
- <xsl:when test="@mandatory = 'true'">
+ <xsl:when test="@mandatory='true'">
<xsl:call-template
name="get-property-java-primitive-type" />
</xsl:when>
@@ -1041,8 +1064,12 @@
<xsl:call-template name="get-property-java-type" />
</xsl:otherwise>
</xsl:choose>
+ <xsl:value-of select="' value)'" />
+ <xsl:if test="@read-only='true'">
+ <xsl:value-of select="' throws PropertyIsReadOnlyException'" />
+ </xsl:if>
<xsl:value-of
- select="concat(' value) {
' ,
+ select="concat(' {
' ,
' impl.setPropertyValue(INSTANCE.get',
$java-prop-name ,
'PropertyDefinition(), value);
',
@@ -1119,11 +1146,8 @@
' * {@inheritDoc}
',
' */
',
' public <M extends ', $java-class-name, 'CfgClient> M create', $java-relation-name, '(
',
- ' ManagedObjectDefinition<M, ?> d, PropertyProvider p)
',
- ' throws ManagedObjectDecodingException, ManagedObjectAlreadyExistsException,
',
- ' ConcurrentModificationException, OperationRejectedException,
',
- ' AuthorizationException, CommunicationException {
',
- ' return impl.createChild(INSTANCE.get', $java-relation-name,'RelationDefinition(), d, p).getConfiguration();
',
+ ' ManagedObjectDefinition<M, ?> d, Collection<DefaultBehaviorException> exceptions) {
',
+ ' return impl.createChild(INSTANCE.get', $java-relation-name,'RelationDefinition(), d, exceptions).getConfiguration();
',
' }
')" />
<xsl:text>
</xsl:text>
<xsl:text>
</xsl:text>
@@ -1175,11 +1199,8 @@
' * {@inheritDoc}
',
' */
',
' public <M extends ', $java-class-name, 'CfgClient> M create', $java-relation-name, '(
',
- ' ManagedObjectDefinition<M, ?> d, String name, PropertyProvider p)
',
- ' throws ManagedObjectDecodingException, ManagedObjectAlreadyExistsException,
',
- ' ConcurrentModificationException, OperationRejectedException,
',
- ' AuthorizationException, CommunicationException {
',
- ' return impl.createChild(INSTANCE.get', $java-relation-plural-name,'RelationDefinition(), d, name, p).getConfiguration();
',
+ ' ManagedObjectDefinition<M, ?> d, String name, Collection<DefaultBehaviorException> exceptions) {
',
+ ' return impl.createChild(INSTANCE.get', $java-relation-plural-name,'RelationDefinition(), d, name, exceptions).getConfiguration();
',
' }
')" />
<xsl:text>
</xsl:text>
<xsl:text>
</xsl:text>
@@ -1571,6 +1592,7 @@
<xsl:if
test="$this-local-properties[@multi-valued='true' or
@read-only='true' or
+ @monitoring='true' or
@hidden='true' or
@mandatory='true']">
<import>org.opends.server.admin.PropertyOption</import>
@@ -1589,6 +1611,34 @@
</import>
</xsl:if>
<xsl:if
+ test="$this-local-properties/adm:default-behavior/adm:inherited/adm:absolute">
+ <import>
+ org.opends.server.admin.AbsoluteInheritedDefaultBehaviorProvider
+ </import>
+ <import>org.opends.server.admin.ManagedObjectPath</import>
+ </xsl:if>
+ <xsl:if
+ test="$this-local-properties/adm:default-behavior/adm:inherited/adm:relative">
+ <import>
+ org.opends.server.admin.RelativeInheritedDefaultBehaviorProvider
+ </import>
+ <xsl:for-each
+ select="$this-local-properties/adm:default-behavior/adm:inherited/adm:relative">
+ <xsl:if test="@managed-object-package != $this-package">
+ <xsl:variable name="java-class-name">
+ <xsl:call-template name="name-to-java">
+ <xsl:with-param name="value"
+ select="@managed-object-name" />
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:element name="import">
+ <xsl:value-of
+ select="concat(@managed-object-package, '.meta.', $java-class-name, 'CfgDefn')" />
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:if>
+ <xsl:if
test="$this-local-properties/adm:default-behavior/adm:defined">
<import>
org.opends.server.admin.DefinedDefaultBehaviorProvider
@@ -1655,6 +1705,12 @@
</import>
<import>org.opends.server.admin.PropertyProvider</import>
<import>
+ org.opends.server.admin.client.MissingMandatoryPropertiesException
+ </import>
+ <import>
+ org.opends.server.admin.ManagedObjectAlreadyExistsException
+ </import>
+ <import>
org.opends.server.admin.client.AuthorizationException
</import>
<import>
@@ -1692,8 +1748,9 @@
</import>
</xsl:if>
<xsl:if test="$this-all-relations/adm:one-to-many">
+ <import>java.util.Collection</import>
<import>
- org.opends.server.admin.ManagedObjectAlreadyExistsException
+ org.opends.server.admin.DefaultBehaviorException
</import>
<import>
org.opends.server.admin.server.ConfigurationAddListener
@@ -1704,8 +1761,9 @@
<import>org.opends.server.config.ConfigException</import>
</xsl:if>
<xsl:if test="$this-all-relations/adm:one-to-zero-or-one">
+ <import>java.util.Collection</import>
<import>
- org.opends.server.admin.ManagedObjectAlreadyExistsException
+ org.opends.server.admin.DefaultBehaviorException
</import>
<import>
org.opends.server.admin.server.ConfigurationAddListener
@@ -1722,6 +1780,9 @@
<import>java.util.SortedSet</import>
<import>java.util.Collection</import>
</xsl:if>
+ <xsl:if test="$this-all-properties[@read-only='true']">
+ <import>org.opends.server.admin.PropertyIsReadOnlyException</import>
+ </xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$this/@extends">
--
Gitblit v1.10.0