Issue Details (XML | Word | Printable)

Key: GDS-756
Type: Bug Bug
Status: Closed Closed
Resolution: Won't Fix
Priority: Minor Minor
Assignee: Franck Wolff
Reporter: Morille Jerome
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
GraniteDS

Starting WebApp Granite Spring in Offline mode is impossible because no granite-config-2.2.xsd

Created: 27/Aug/10 02:04 PM   Updated: 23/Nov/10 01:01 PM   Resolved: 23/Nov/10 01:01 PM
Component/s: None
Affects Version/s: 2.2.0_RC1
Fix Version/s: None

Environment: GraniteDs with Spring configuration without internet connection to http://www.graniteds.org/public/dtd/2.2.0/granite-config-2.2.xsd


 Description  « Hide
The RC1 release reference a previous XSD configuration (granite-config-2.1.xsd)
But no trace of XSD in version 2.2 in directory graniteds\core\org\granite\config


Without network is not possible to start a serveur with spring configuration.
below the stack

2010-08-27 13:34:23,506 WARN o.s.b.f.xml.XmlBeanDefinitionReader - Ignored XML validation warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.graniteds.org/public/dtd/2.2.0/grani
te-config-2.2.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document
 is not <xsd:schema>.
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) [xercesImpl-2.8.1.jar:na]



 
To correct it need to :
 - add granite-config-2.2.xsd in graniteds\core\org\granite\config
 - reference this file in spring/META-INF/spring.schemas


Best regards

Morille Jerome


Morille Jerome added a comment - 27/Aug/10 02:04 PM
The spring version is 3.0.3

Morille Jerome added a comment - 27/Aug/10 02:06 PM
Index: spring/META-INF/spring.schemas
===================================================================
--- spring/META-INF/spring.schemas (revision 4014)
+++ spring/META-INF/spring.schemas (working copy)
@@ -1 +1,2 @@
 http\://www.graniteds.org/public/dtd/2.1.0/granite-config-2.1.xsd=org/granite/config/granite-config-2.1.xsd
+http\://www.graniteds.org/public/dtd/2.2.0/granite-config-2.2.xsd=org/granite/config/granite-config-2.2.xsd
Index: core/org/granite/config/granite-config-2.2.xsd
===================================================================
--- core/org/granite/config/granite-config-2.2.xsd (revision 0)
+++ core/org/granite/config/granite-config-2.2.xsd (revision 0)
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ GRANITE DATA SERVICES
+ Copyright (C) 2007-2010 ADEQUATE SYSTEMS SARL
+
+ This file is part of Granite Data Services.
+
+ Granite Data Services is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ Granite Data Services is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
+ for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; if not, see <http://www.gnu.org/licenses/>.
+-->
+
+<xs:schema
+ xmlns="http://www.graniteds.org/config"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:graniteds="http://www.graniteds.org/config"
+ targetNamespace="http://www.graniteds.org/config"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0">
+
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+
+ <xs:element name="flex-filter">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:tide-roles"/>
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:tide-annotations"/>
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:tide-interfaces"/>
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:tide-names"/>
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:tide-types"/>
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:exception-converters"/>
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:amf3-message-interceptor"/>
+ </xs:choice>
+ <xs:attributeGroup ref="graniteds:attlist.FlexFilter" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.FlexFilter">
+ <xs:attribute name="url-pattern" type="xs:string"/>
+ <xs:attribute name="tide" type="xs:boolean" default="false"/>
+ </xs:attributeGroup>
+
+ <xs:element name="tide-roles" type="graniteds:multiValuedProperty">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="tide-annotations" type="graniteds:multiValuedProperty">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="tide-interfaces" type="graniteds:multiValuedProperty">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="tide-names" type="graniteds:multiValuedProperty">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="tide-types" type="graniteds:multiValuedProperty">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="exception-converters" type="graniteds:multiValuedProperty">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="amf3-message-interceptor" type="xs:string">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="value" type="xs:string">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="multiValuedProperty">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="graniteds:value"/>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:element name="security-service">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="graniteds:attlist.SecurityService" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.SecurityService">
+ <xs:attribute name="authentication-manager" type="xs:string"/>
+ </xs:attributeGroup>
+
+
+ <xs:element name="role" type="xs:string">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="rolesProperty">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="graniteds:role"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="roles" type="graniteds:rolesProperty">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="remote-destination">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:roles"/>
+ </xs:choice>
+ <xs:attributeGroup ref="graniteds:attlist.RemoteDestination" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.RemoteDestination">
+ <xs:attribute name="id" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="source" type="xs:string"/>
+ </xs:attributeGroup>
+
+
+ <xs:element name="messaging-destination">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:roles"/>
+ </xs:choice>
+ <xs:attributeGroup ref="graniteds:attlist.MessagingDestination" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.MessagingDestination">
+ <xs:attribute name="id" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="no-local" type="xs:boolean" default="false"/>
+ <xs:attribute name="session-selector" type="xs:boolean" default="false"/>
+ </xs:attributeGroup>
+
+
+ <xs:element name="jms-topic-destination">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:roles"/>
+ </xs:choice>
+ <xs:attributeGroup ref="graniteds:attlist.MessagingDestination" />
+ <xs:attributeGroup ref="graniteds:attlist.JmsTopicDestination" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.JmsTopicDestination">
+ <xs:attribute name="connection-factory" type="xs:string"/>
+ <xs:attribute name="jndi-name" type="xs:string"/>
+ <xs:attribute name="destination-jndi-name" type="xs:string"/>
+ <xs:attribute name="acknowledge-mode" type="xs:string" default="AUTO_ACKNOWLEDGE"/>
+ <xs:attribute name="transacted-sessions" type="xs:boolean" default="false"/>
+ </xs:attributeGroup>
+
+
+ <xs:element name="activemq-topic-destination">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element minOccurs="0" maxOccurs="1" ref="graniteds:roles"/>
+ </xs:choice>
+ <xs:attributeGroup ref="graniteds:attlist.MessagingDestination"/>
+ <xs:attributeGroup ref="graniteds:attlist.JmsTopicDestination" />
+ <xs:attributeGroup ref="graniteds:attlist.ActiveMQTopicDestination" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.ActiveMQTopicDestination">
+ <xs:attribute name="broker-url" type="xs:string"/>
+ <xs:attribute name="create-broker" type="xs:boolean" default="true"/>
+ <xs:attribute name="wait-for-start" type="xs:boolean" default="false"/>
+ <xs:attribute name="durable" type="xs:boolean" default="false"/>
+ <xs:attribute name="file-store-root" type="xs:string"/>
+ </xs:attributeGroup>
+
+
+ <xs:element name="tide-persistence">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="graniteds:attlist.TidePersistence" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.TidePersistence">
+ <xs:attribute name="id" type="xs:string"/>
+ <xs:attribute name="transaction-manager" type="xs:string"/>
+ </xs:attributeGroup>
+
+ <xs:element name="tide-identity">
+ <xs:annotation>
+ <xs:documentation></xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="graniteds:attlist.TideIdentity" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.TideIdentity">
+ <xs:attribute name="acl-service" type="xs:string"/>
+ <xs:attribute name="sid-retrieval-strategy" type="xs:string"/>
+ <xs:attribute name="object-identity-retrieval-strategy" type="xs:string"/>
+ </xs:attributeGroup>
+
+</xs:schema>
\ No newline at end of file

Property changes on: core\org\granite\config\granite-config-2.2.xsd
___________________________________________________________________
Added: svn:mime-type
   + text/plain


William Draï added a comment - 27/Aug/10 02:42 PM
Thanks for the patch.
For now we simply expect to update the granite-2.1.xsd with the few new things supported in 2.2 and not create a different xsd for 2.2 to simplify the migration from 2.1 to 2.2.
Thus you should keep the declaration with public/dtd/2.1.0/granite-config-2.1.xsd. The dtd/2.2.0/granite-config.xsd will most likely not exist any more for the final release.