From 733be4f4008dcd0c73ea0822140218cbda871b71 Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Thu, 5 Nov 2009 21:49:21 +0000 Subject: [PATCH] spring mvc namespace initial commit; work in progress --- ...otatedControllersBeanDefinitionParser.java | 37 ++++++++++++++++++ .../servlet/config/MvcNamespaceHandler.java | 31 +++++++++++++++ .../web/servlet/config/package-info.java | 6 +++ .../main/resources/META-INF/spring.handlers | 1 + .../main/resources/META-INF/spring.schemas | 1 + .../main/resources/META-INF/spring.tooling | 4 ++ .../web/servlet/config/spring-mvc-3.0.xsd | 28 +++++++++++++ .../web/servlet/config/spring-mvc.gif | Bin 0 -> 581 bytes 8 files changed, 108 insertions(+) create mode 100644 org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/AnnotatedControllersBeanDefinitionParser.java create mode 100644 org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/MvcNamespaceHandler.java create mode 100644 org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/package-info.java create mode 100644 org.springframework.web.servlet/src/main/resources/META-INF/spring.handlers create mode 100644 org.springframework.web.servlet/src/main/resources/META-INF/spring.schemas create mode 100644 org.springframework.web.servlet/src/main/resources/META-INF/spring.tooling create mode 100644 org.springframework.web.servlet/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.0.xsd create mode 100644 org.springframework.web.servlet/src/main/resources/org/springframework/web/servlet/config/spring-mvc.gif diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/AnnotatedControllersBeanDefinitionParser.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/AnnotatedControllersBeanDefinitionParser.java new file mode 100644 index 00000000000..ddc12a7401d --- /dev/null +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/AnnotatedControllersBeanDefinitionParser.java @@ -0,0 +1,37 @@ +/* + * Copyright 2002-2009 the original author or authors. + * + * Licensed 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.springframework.web.servlet.config; + +import org.springframework.beans.factory.support.AbstractBeanDefinition; +import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser; +import org.springframework.beans.factory.xml.ParserContext; +import org.w3c.dom.Element; + +/** + * {@link org.springframework.beans.factory.xml.BeanDefinitionParser} that parses the {@code annotated-controllers} element to setup + * @Controller configuration in a Spring MVC web application. + * + * @author Keith Donald + */ +public class AnnotatedControllersBeanDefinitionParser extends AbstractBeanDefinitionParser { + + @Override + protected AbstractBeanDefinition parseInternal(Element element, ParserContext context) { + throw new UnsupportedOperationException("Not yet implemented"); + } + +} diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/MvcNamespaceHandler.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/MvcNamespaceHandler.java new file mode 100644 index 00000000000..c0f6f91f7a9 --- /dev/null +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/MvcNamespaceHandler.java @@ -0,0 +1,31 @@ +/* + * Copyright 2002-2009 the original author or authors. + * + * Licensed 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.springframework.web.servlet.config; + +import org.springframework.beans.factory.xml.NamespaceHandler; +import org.springframework.beans.factory.xml.NamespaceHandlerSupport; + +/** + * {@link NamespaceHandler} for Spring MVC configuration namespace. + * @author Keith Donald + */ +public class MvcNamespaceHandler extends NamespaceHandlerSupport { + + public void init() { + registerBeanDefinitionParser("annotated-controllers", new AnnotatedControllersBeanDefinitionParser()); + } +} diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/package-info.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/package-info.java new file mode 100644 index 00000000000..b3817d1ae6e --- /dev/null +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/config/package-info.java @@ -0,0 +1,6 @@ + +/** + * Defines the Spring MVC configuration namespace. + */ +package org.springframework.web.servlet.config; + diff --git a/org.springframework.web.servlet/src/main/resources/META-INF/spring.handlers b/org.springframework.web.servlet/src/main/resources/META-INF/spring.handlers new file mode 100644 index 00000000000..b92dfeebba7 --- /dev/null +++ b/org.springframework.web.servlet/src/main/resources/META-INF/spring.handlers @@ -0,0 +1 @@ +http\://www.springframework.org/schema/mvc=org.springframework.web.servlet.config.MvcNamespaceHandler \ No newline at end of file diff --git a/org.springframework.web.servlet/src/main/resources/META-INF/spring.schemas b/org.springframework.web.servlet/src/main/resources/META-INF/spring.schemas new file mode 100644 index 00000000000..05aa9f714f3 --- /dev/null +++ b/org.springframework.web.servlet/src/main/resources/META-INF/spring.schemas @@ -0,0 +1 @@ +http\://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd=org/springframework/web/servlet/config/spring-mvc-3.0.xsd \ No newline at end of file diff --git a/org.springframework.web.servlet/src/main/resources/META-INF/spring.tooling b/org.springframework.web.servlet/src/main/resources/META-INF/spring.tooling new file mode 100644 index 00000000000..93040949c66 --- /dev/null +++ b/org.springframework.web.servlet/src/main/resources/META-INF/spring.tooling @@ -0,0 +1,4 @@ +# Tooling related information for the mvc namespace +http\://www.springframework.org/schema/mvc@name=mvc Namespace +http\://www.springframework.org/schema/mvc@prefix=mvc +http\://www.springframework.org/schema/mvc@icon=org/springframework/web/servlet/config/spring-mvc.gif diff --git a/org.springframework.web.servlet/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.0.xsd b/org.springframework.web.servlet/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.0.xsd new file mode 100644 index 00000000000..f6ce54b79e6 --- /dev/null +++ b/org.springframework.web.servlet/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.0.xsd @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.springframework.web.servlet/src/main/resources/org/springframework/web/servlet/config/spring-mvc.gif b/org.springframework.web.servlet/src/main/resources/org/springframework/web/servlet/config/spring-mvc.gif new file mode 100644 index 0000000000000000000000000000000000000000..20ed1f9a4438054835c3bd7231c59dcc36d9f24e GIT binary patch literal 581 zcmZ?wbhEHb6krfwc*ekR>cRs}r)GW6W=W@M$1Xhi{Pm|(La%4WG|h-<))@;Tnzydr ze|7(^se4|>h4R zUy{Z383{M%q|7Yz$#T`0m|!y{*)GRZ@9L!3yxD&uuMPIl1|0Luj6Z zdPkV$k=o$-X|CH!1CBLB?5vH+vQyt$61=G-B*R91O}5{ryoi-KQOi@qrbqb9j0v0; z5;QF^;Q#;s3^WFcKUo+V7~&apK=y#*gn@lgLwr+nOKUS18yg1`6IWXkmxPoeFOQ^9 zUmMe;Dbs|Q`WZ#VWF+Oqg&7ylnJUT8uzIpIkARk*zGf@q8bK!uB^^Jrmfe#@w3X~5 zjco%=nvW{7>YA$?xVgIcdp2DZF^sU&u#O1|bhtZ*RXNt(TP-*$)Z^}A1#USb$B=N< rFkfeu(hb`mG&f7x?8#9)=yFn#m0d_d!a