You are viewing a plain text version of this content. The canonical link for it is here.
Posted to portalapps-dev@portals.apache.org by sh...@apache.org on 2009/02/26 15:09:22 UTC

svn commit: r748157 [2/3] - in /portals/applications/sandbox: ./ widgets/ widgets/trunk/ widgets/trunk/src/ widgets/trunk/src/main/ widgets/trunk/src/main/java/ widgets/trunk/src/main/java/org/ widgets/trunk/src/main/java/org/apache/ widgets/trunk/src/...

Added: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/GoogleGadgetService.java
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/GoogleGadgetService.java?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/GoogleGadgetService.java (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/GoogleGadgetService.java Thu Feb 26 14:09:20 2009
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.portals.applications.widget.service;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Serializable;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.portals.applications.widget.WidgetRuntimeException;
+import org.apache.portals.applications.widget.builder.QueryBuilder;
+import org.apache.portals.applications.widget.entity.Widget;
+import org.apache.portals.applications.widget.entity.WidgetList;
+import org.apache.portals.applications.widget.google.handler.WidgetListHandlerImpl;
+import org.apache.portals.applications.widget.handler.WidgetListHandler;
+import org.apache.portals.applications.widget.pager.WidgetPager;
+import org.seasar.framework.beans.util.Beans;
+import org.seasar.framework.container.S2Container;
+import org.xml.sax.InputSource;
+
+/**
+ * GoogleGadgetService accesses Google Gadgets information.
+ * 
+ * @author <a href="mailto:shinsuke@yahoo.co.jp">Shinsuke Sugaya</a>
+ *
+ */
+public class GoogleGadgetService
+    implements Serializable, WidgetService
+{
+
+    private static final long serialVersionUID = 6932901501995247897L;
+
+    private static final Log log = LogFactory.getLog( GoogleGadgetService.class );
+
+    @Resource
+    protected QueryBuilder googleGadgetQueryBuilder;
+
+    @Resource
+    protected transient S2Container container;
+
+    /* (non-Javadoc)
+     * @see org.apache.portals.applications.widget.service.WidgetService#getWidgetList(org.apache.portals.applications.widget.pager.WidgetPager)
+     */
+    public WidgetList<Widget> getWidgetList( WidgetPager pager )
+    {
+        try
+        {
+            Map<String, Object> params = new HashMap<String, Object>();
+            Beans.copy( pager, params ).execute();
+            String url = googleGadgetQueryBuilder.build( params );
+            if ( log.isDebugEnabled() )
+            {
+                log.debug( "Google Gadgets: url=" + url );
+            }
+            Object content = new URL( url ).getContent();
+            if ( content instanceof InputStream )
+            {
+                SAXParserFactory spfactory = SAXParserFactory.newInstance();
+                SAXParser parser = spfactory.newSAXParser();
+                WidgetListHandler widgetListHandler = getWidgetListHandler();
+                widgetListHandler.setStart( pager.getStart() );
+                widgetListHandler.setNum( pager.getNum() );
+                parser.parse( new InputSource( new InputStreamReader( (InputStream) content, "UTF-8" ) ),
+                              widgetListHandler );
+                return widgetListHandler.getWidgetList();
+            }
+            throw new WidgetRuntimeException( "Invalid content: " + content );
+        }
+        catch ( WidgetRuntimeException e )
+        {
+            throw e;
+        }
+        catch ( Exception e )
+        {
+            throw new WidgetRuntimeException( e );
+        }
+
+    }
+
+    public void reset( WidgetPager pager )
+    {
+        pager.setStart( 0 );
+        pager.setNum( 20 );
+        pager.setCategory( null );
+        pager.setQuery( null );
+        pager.setLanguage( "en" );
+        pager.setInitialized( true );
+    }
+
+    protected WidgetListHandler getWidgetListHandler()
+    {
+        return (WidgetListHandler) container.getComponent( WidgetListHandlerImpl.class );
+    }
+
+}

Propchange: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/GoogleGadgetService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/NetvibesWidgetService.java
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/NetvibesWidgetService.java?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/NetvibesWidgetService.java (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/NetvibesWidgetService.java Thu Feb 26 14:09:20 2009
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.portals.applications.widget.service;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.portals.applications.widget.WidgetRuntimeException;
+import org.apache.portals.applications.widget.builder.QueryBuilder;
+import org.apache.portals.applications.widget.entity.Widget;
+import org.apache.portals.applications.widget.entity.WidgetList;
+import org.apache.portals.applications.widget.handler.WidgetListHandler;
+import org.apache.portals.applications.widget.netvibes.handler.WidgetListHandlerImpl;
+import org.apache.portals.applications.widget.pager.WidgetPager;
+import org.seasar.framework.beans.util.Beans;
+import org.seasar.framework.container.S2Container;
+import org.xml.sax.InputSource;
+
+/**
+ * NetvibesWidgetService accesses Netvibes Widget information.
+ * 
+ * @author <a href="mailto:shinsuke@yahoo.co.jp">Shinsuke Sugaya</a>
+ *
+ */
+public class NetvibesWidgetService
+    implements WidgetService
+{
+
+    private static final long serialVersionUID = 8483641751901945210L;
+
+    private static final Log log = LogFactory.getLog( NetvibesWidgetService.class );
+
+    @Resource
+    protected QueryBuilder netvibesWidgetQueryBuilder;
+
+    @Resource
+    protected transient S2Container container;
+
+    /* (non-Javadoc)
+     * @see org.apache.portals.applications.widget.service.WidgetService#getWidgetList(org.apache.portals.applications.widget.pager.WidgetPager)
+     */
+    public WidgetList<Widget> getWidgetList( WidgetPager pager )
+    {
+        try
+        {
+            Map<String, Object> params = new HashMap<String, Object>();
+            Beans.copy( pager, params ).execute();
+            String url = netvibesWidgetQueryBuilder.build( params );
+            if ( log.isDebugEnabled() )
+            {
+                log.debug( "Netvibes Widgets: url=" + url );
+            }
+            Object content = new URL( url ).getContent();
+            if ( content instanceof InputStream )
+            {
+                SAXParserFactory spfactory = SAXParserFactory.newInstance();
+                SAXParser parser = spfactory.newSAXParser();
+                WidgetListHandler widgetListHandler = getWidgetListHandler();
+                widgetListHandler.setStart( pager.getStart() );
+                widgetListHandler.setNum( pager.getNum() );
+                parser.parse( new InputSource( new InputStreamReader( (InputStream) content, "UTF-8" ) ),
+                              widgetListHandler );
+                return widgetListHandler.getWidgetList();
+            }
+            throw new WidgetRuntimeException( "Invalid content: " + content );
+        }
+        catch ( WidgetRuntimeException e )
+        {
+            throw e;
+        }
+        catch ( Exception e )
+        {
+            throw new WidgetRuntimeException( e );
+        }
+
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.portals.applications.widget.service.WidgetService#getWidgetList(org.apache.portals.applications.widget.pager.WidgetPager)
+     */
+    public void reset( WidgetPager pager )
+    {
+        pager.setStart( 1 );
+        pager.setNum( 20 );
+        pager.setCategory( null );
+        pager.setQuery( null );
+        pager.setLanguage( "us" );
+        pager.setInitialized( true );
+    }
+
+    protected WidgetListHandler getWidgetListHandler()
+    {
+        return (WidgetListHandler) container.getComponent( WidgetListHandlerImpl.class );
+    }
+
+}

Propchange: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/NetvibesWidgetService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/WidgetService.java
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/WidgetService.java?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/WidgetService.java (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/WidgetService.java Thu Feb 26 14:09:20 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.portals.applications.widget.service;
+
+import java.io.Serializable;
+
+import org.apache.portals.applications.widget.entity.Widget;
+import org.apache.portals.applications.widget.entity.WidgetList;
+import org.apache.portals.applications.widget.pager.WidgetPager;
+
+/**
+ * This is an interface of Service class to access widgets.
+ * 
+ * @author <a href="mailto:shinsuke@yahoo.co.jp">Shinsuke Sugaya</a>
+ *
+ */
+public interface WidgetService
+    extends Serializable
+{
+
+    public abstract WidgetList<Widget> getWidgetList( WidgetPager pager );
+
+    public abstract void reset( WidgetPager pager );
+}
\ No newline at end of file

Propchange: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/service/WidgetService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/util/SAStrutsUtil.java
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/util/SAStrutsUtil.java?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/util/SAStrutsUtil.java (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/util/SAStrutsUtil.java Thu Feb 26 14:09:20 2009
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.portals.applications.widget.util;
+
+import java.io.IOException;
+
+import javax.portlet.PortletPreferences;
+import javax.portlet.PortletRequest;
+import javax.portlet.ReadOnlyException;
+import javax.portlet.ValidatorException;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.portals.applications.widget.WidgetConstants;
+import org.apache.portals.applications.widget.entity.Widget;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+import org.seasar.struts.portlet.util.PortletUtil;
+import org.seasar.struts.util.ActionMessagesUtil;
+
+/**
+ * @author <a href="mailto:shinsuke@yahoo.co.jp">Shinsuke Sugaya</a>
+ *
+ */
+public class SAStrutsUtil
+{
+    public static void addMessage( HttpServletRequest request, String key )
+    {
+        ActionMessages msgs = new ActionMessages();
+        msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( key ) );
+        ActionMessagesUtil.saveMessages( request, msgs );
+    }
+
+    public static void addMessage( HttpServletRequest request, String key, Object[] args )
+    {
+        ActionMessages msgs = new ActionMessages();
+        msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( key, args ) );
+        ActionMessagesUtil.saveMessages( request, msgs );
+    }
+
+    public static String getPreferenceValue( HttpServletRequest request, String key, String defaultValue )
+    {
+        PortletRequest portletRequest = (PortletRequest) request.getAttribute( PortletUtil.PORTLET_REQUEST );
+        if ( portletRequest != null )
+        {
+            PortletPreferences preferences = portletRequest.getPreferences();
+            return preferences.getValue( key, defaultValue );
+        }
+        return null;
+    }
+
+    public static String store( HttpServletRequest request, Widget widget )
+        throws ValidatorException, IOException, ReadOnlyException
+    {
+        PortletRequest portletRequest = (PortletRequest) request.getAttribute( PortletUtil.PORTLET_REQUEST );
+        if ( portletRequest != null )
+        {
+            PortletPreferences preferences = portletRequest.getPreferences();
+            preferences.setValue( WidgetConstants.NAME, widget.getName() );
+            preferences.setValue( WidgetConstants.DESCRIPTION, widget.getDescription() );
+            preferences.setValue( WidgetConstants.URL, widget.getUrl() );
+            preferences.setValue( WidgetConstants.THUMBNAIL, widget.getThumbnail() );
+            preferences.store();
+        }
+        return null;
+    }
+}

Propchange: portals/applications/sandbox/widgets/trunk/src/main/java/org/apache/portals/applications/widget/util/SAStrutsUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/app.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/app.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/app.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/app.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
+	"http://www.seasar.org/dtd/components24.dtd">
+<components>
+	<include path="convention.dicon"/>
+	<include path="aop.dicon"/>
+    <include path="j2ee.dicon"/>
+
+    <include path="widget-google.dicon"/>
+    <include path="widget-netvibes.dicon"/>
+
+    <component name="actionMessagesThrowsInterceptor" class="org.seasar.struts.interceptor.ActionMessagesThrowsInterceptor"/>
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/application.properties
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/application.properties?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/application.properties (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/application.properties Thu Feb 26 14:09:20 2009
@@ -0,0 +1,51 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+
+errors.header=<ul>
+errors.footer=</ul>
+errors.prefix=<li style="portlet-msg-error">
+errors.suffix=</li>
+msg.header=<ul>
+msg.footer=</ul>
+
+errors.invalid={0} is invalid.
+errors.maxlength={0} can not be greater than {1} characters.
+errors.minlength={0} can not be less than {1} characters.
+errors.maxbytelength={0} can not be greater than {1} bytes.
+errors.minbytelength={0} can not be less than {1} bytes.
+errors.range={0} is not in the range {1} through {2}.
+errors.required={0} is required.
+errors.required.other={0} is required ({1}). 
+errors.byte={0} must be an byte.
+errors.date={0} is not a date.
+errors.double={0} must be an double.
+errors.float={0} must be an float.
+errors.integer={0} must be an integer.
+errors.long={0} must be an long.
+errors.short={0} must be an short.
+errors.creditcard={0} is not a valid credit card number.
+errors.email={0} is an invalid e-mail address.
+errors.url={0} is an invalid url (web address).
+
+errors.invalid_portlet_state=Invalid application state. Please contact to your administrator.
+errors.could_not_load_widget_info=Could not load Widget Information. Please try it again later.
+errors.failed_to_update_because_of_no_id=Failed to update data. Could not find the specified widget.
+errors.failed_to_update_because_of_no_session=Failed to update data. Could not load Widget information.
+errors.failed_to_update_because_of_no_object=Failed to update data. Could not find the gadget.
+errors.failed_to_update_because_of_system_error=Failed to update data. Please contact to your administrator.
+
+warn.need_to_set_widget_url=Please select a widget on edit mode.
+
+success.update_widget=Changed to {0}.

Propchange: portals/applications/sandbox/widgets/trunk/src/main/resources/application.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/application_ja.properties
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/application_ja.properties?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/application_ja.properties (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/application_ja.properties Thu Feb 26 14:09:20 2009
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+
+errors.invalid={0}\u304c\u4e0d\u6b63\u3067\u3059\u3002
+errors.maxlength={0}\u306e\u9577\u3055\u304c\u6700\u5927\u5024({1})\u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002
+errors.minlength={0}\u306e\u9577\u3055\u304c\u6700\u5c0f\u5024({1})\u672a\u6e80\u3067\u3059\u3002
+errors.maxbytelength={0}\u306e\u30d0\u30a4\u30c8\u9577\u304c\u6700\u5927\u5024({1})\u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002
+errors.minbytelength={0}\u306e\u30d0\u30a4\u30c8\u9577\u304c\u6700\u5c0f\u5024({1})\u672a\u6e80\u3067\u3059\u3002
+errors.range={0}\u306f{1}\u3068{2}\u306e\u9593\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+errors.required={0}\u306f\u5fc5\u9808\u3067\u3059\u3002
+errors.byte={0}\u306f\u30d0\u30a4\u30c8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+errors.date={0}\u306f\u65e5\u4ed8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
+errors.double={0}\u306f\u500d\u7cbe\u5ea6\u5b9f\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+errors.float={0}\u306f\u5358\u7cbe\u5ea6\u5b9f\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+errors.integer={0}\u306f\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+errors.long={0}\u306f\u9577\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+errors.short={0}\u306f\u77ed\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+errors.creditcard={0}\u306f\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7\u3068\u3057\u3066\u4e0d\u6b63\u3067\u3059\u3002
+errors.email={0}\u306f\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3068\u3057\u3066\u4e0d\u6b63\u3067\u3059\u3002
+errors.url={0}\u306fURL\u3068\u3057\u3066\u4e0d\u6b63\u3067\u3059\u3002
+
+errors.invalid_portlet_state=\u4e0d\u6b63\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u3067\u3059\u3002\u7ba1\u7406\u8005\u306b\u9023\u7d61\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+errors.could_not_load_widget_info=\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u60c5\u5831\u304c\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3042\u3068\u3067\u3001\u518d\u5ea6\u8a66\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+errors.failed_to_update_because_of_no_id=\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u6307\u5b9a\u3055\u308c\u305f\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+errors.failed_to_update_because_of_no_session=\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306e\u60c5\u5831\u304c\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002
+errors.failed_to_update_because_of_no_object=\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+errors.failed_to_update_because_of_system_error=\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u7ba1\u7406\u8005\u306b\u9023\u7d61\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+warn.need_to_set_widget_url=\u7de8\u96c6\u30e2\u30fc\u30c9\u3067\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+success.update_widget={0}\u306b\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002

Propchange: portals/applications/sandbox/widgets/trunk/src/main/resources/application_ja.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/convention.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/convention.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/convention.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/convention.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" 
+	"http://www.seasar.org/dtd/components24.dtd">
+<components>
+	<component class="org.seasar.framework.convention.impl.NamingConventionImpl">
+		<initMethod name="addRootPackageName">
+			<arg>"org.apache.portals.applications.widget"</arg>
+		</initMethod>
+	</component>
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/creator.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/creator.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/creator.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/creator.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" 
+    "http://www.seasar.org/dtd/components24.dtd">
+<components>
+    <include path="convention.dicon"/>
+    <include path="customizer.dicon"/>
+	
+    <component class="org.seasar.framework.container.creator.ActionCreator"/>
+    <component class="org.seasar.struts.creator.FormCreator"/>
+    <component class="org.seasar.framework.container.creator.ServiceCreator"/>
+    <component class="org.seasar.framework.container.creator.InterceptorCreator"/>
+    <component class="org.apache.portals.applications.widget.creator.PagerCreator"/>
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/customizer.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/customizer.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/customizer.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/customizer.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" 
+    "http://www.seasar.org/dtd/components24.dtd">
+<components>
+    <include path="default-customizer.dicon"/>
+	
+    <component name="actionCustomizer"
+        class="org.seasar.framework.container.customizer.CustomizerChain">
+        <initMethod name="addAspectCustomizer">
+            <arg>"aop.traceInterceptor"</arg>
+        </initMethod>
+        <initMethod name="addAspectCustomizer">
+            <arg>"actionMessagesThrowsInterceptor"</arg>
+        </initMethod>
+        <initMethod name="addCustomizer">
+            <arg>
+                <component
+                    class="org.seasar.framework.container.customizer.TxAttributeCustomizer"/>
+            </arg>
+        </initMethod>
+        <initMethod name="addCustomizer">
+            <arg>
+                <component
+                    class="org.seasar.struts.customizer.ActionCustomizer"/>
+            </arg>
+        </initMethod>
+    </component>
+    
+    <component name="formCustomizer"
+        class="org.seasar.framework.container.customizer.CustomizerChain">
+    </component>
+	
+    <component name="serviceCustomizer"
+        class="org.seasar.framework.container.customizer.CustomizerChain">
+        <initMethod name="addAspectCustomizer">
+            <arg>"aop.traceInterceptor"</arg>
+        </initMethod>
+        <initMethod name="addCustomizer">
+            <arg>
+                <component
+                    class="org.seasar.framework.container.customizer.TxAttributeCustomizer"/>
+            </arg>
+        </initMethod>
+    </component>
+
+    <component name="pagerCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
+    </component>
+
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/env.txt
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/env.txt?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/env.txt (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/env.txt Thu Feb 26 14:09:20 2009
@@ -0,0 +1 @@
+product

Propchange: portals/applications/sandbox/widgets/trunk/src/main/resources/env.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/env_ut.txt
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/env_ut.txt?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/env_ut.txt (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/env_ut.txt Thu Feb 26 14:09:20 2009
@@ -0,0 +1 @@
+ut
\ No newline at end of file

Propchange: portals/applications/sandbox/widgets/trunk/src/main/resources/env_ut.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/jdbc.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/jdbc.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/jdbc.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/jdbc.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
+	"http://www.seasar.org/dtd/components21.dtd">
+<components namespace="jdbc">
+	<include path="jta.dicon"/>
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/s2container.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/s2container.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/s2container.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/s2container.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" 
+	"http://www.seasar.org/dtd/components24.dtd">
+<components>
+    <include condition="#ENV == 'ut'" path="warmdeploy.dicon"/>
+    <include condition="#ENV == 'ct'" path="hotdeploy.dicon"/>
+    <include condition="#ENV != 'ut' and #ENV != 'ct'" path="cooldeploy.dicon"/>
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/widget-google.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/widget-google.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/widget-google.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/widget-google.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
+	"http://www.seasar.org/dtd/components24.dtd">
+<components>
+    <component name="googleGadgetQueryBuilder" class="org.apache.portals.applications.widget.google.builder.QueryBuilderImpl"/>
+    <component name="googleGadgetListHandler" class="org.apache.portals.applications.widget.google.handler.WidgetListHandlerImpl" instance="prototype"/>
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/resources/widget-netvibes.dicon
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/resources/widget-netvibes.dicon?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/resources/widget-netvibes.dicon (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/resources/widget-netvibes.dicon Thu Feb 26 14:09:20 2009
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
+	"http://www.seasar.org/dtd/components24.dtd">
+<components>
+    <component name="netvibesWidgetQueryBuilder" class="org.apache.portals.applications.widget.netvibes.builder.QueryBuilderImpl"/>
+    <component name="netvibesWidgetListHandler" class="org.apache.portals.applications.widget.netvibes.handler.WidgetListHandlerImpl" instance="prototype"/>
+</components>

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/portlet.xml?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/portlet.xml (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/portlet.xml Thu Feb 26 14:09:20 2009
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+  <portlet>
+    <description>Display Google Gadgets on your portal.</description>
+    <description xml:lang="ja">Googleガジェットをポータル上に表示します。</description>
+    <portlet-name>GoogleGadget</portlet-name>
+    <display-name>Google Gadget</display-name>
+    <display-name xml:lang="ja">Googleガジェット</display-name>
+    <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class>
+    <init-param>
+      <name>viewPage</name>
+      <value>/google/view/</value>
+    </init-param>
+    <init-param>
+      <name>editPage</name>
+      <value>/google/edit/</value>
+    </init-param>
+    <expiration-cache>0</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>VIEW</portlet-mode>
+      <portlet-mode>EDIT</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <supported-locale>ja</supported-locale>
+    <portlet-info>
+      <title>Google Gadget</title>
+      <short-title>Gadget</short-title>
+      <keywords>Google,Gadget,Widget</keywords>
+    </portlet-info>
+  </portlet>
+  <portlet>
+    <description>Display Netvibes Widget on your portal.</description>
+    <description xml:lang="ja">Netvibesウィジェットをポータル上に表示します。</description>
+    <portlet-name>NetvibesWidget</portlet-name>
+    <display-name>Netvibes Widget</display-name>
+    <display-name xml:lang="ja">Netvibesウィジェット</display-name>
+    <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class>
+    <init-param>
+      <name>viewPage</name>
+      <value>/netvibes/view/</value>
+    </init-param>
+    <init-param>
+      <name>editPage</name>
+      <value>/netvibes/edit/</value>
+    </init-param>
+    <expiration-cache>0</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>VIEW</portlet-mode>
+      <portlet-mode>EDIT</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <supported-locale>ja</supported-locale>
+    <portlet-info>
+      <title>Netvibes Widget</title>
+      <short-title>Widget</short-title>
+      <keywords>Netvibes,Widget</keywords>
+    </portlet-info>
+  </portlet>
+</portlet-app>

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/portlet.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml Thu Feb 26 14:09:20 2009
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+
+<!DOCTYPE struts-config PUBLIC
+          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
+          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
+
+<struts-config>
+
+<!-- ======================================== Form Bean Definitions -->
+
+    <form-beans>
+    </form-beans>
+
+<!-- ================================= Global Exception Definitions -->
+
+    <global-exceptions>
+    	<exception path="/WEB-INF/view/error/norole.jsp" key="errors.norole" type="org.seasar.struts.exception.NoRoleRuntimeException"/>
+    </global-exceptions>
+
+<!-- =================================== Global Forward Definitions -->
+
+    <global-forwards>
+    </global-forwards>
+
+<!-- =================================== Action Mapping Definitions -->
+
+    <action-mappings>
+    </action-mappings>
+    
+
+<!-- ===================================== Controller Configuration -->
+
+    <controller
+        maxFileSize="1024K"
+        bufferSize="1024"
+        processorClass="org.seasar.struts.portlet.action.S2RequestProcessor"
+        multipartClass="org.seasar.struts.upload.S2MultipartRequestHandler"/>
+
+
+<!-- ================================ Message Resources Definitions -->
+
+    <message-resources parameter="application"
+        factory="org.seasar.struts.util.S2PropertyMessageResourcesFactory"/>
+
+<!-- ======================================= Plug Ins Configuration -->
+
+    <plug-in className="org.seasar.struts.validator.S2ValidatorPlugIn">
+        <set-property
+          property="pathnames"
+          value="/WEB-INF/validator-rules.xml"/>
+    </plug-in>
+</struts-config>
+

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml Thu Feb 26 14:09:20 2009
@@ -0,0 +1,368 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE form-validation PUBLIC
+          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
+          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
+<!--
+
+   This file contains the default Struts Validator pluggable validator
+   definitions.  It should be placed somewhere under /WEB-INF and
+   referenced in the struts-config.xml under the plug-in element
+   for the ValidatorPlugIn.
+
+      <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
+        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
+                                                  /WEB-INF/validation.xml"/>
+      </plug-in>
+
+   These are the default error messages associated with
+   each validator defined in this file.  They should be
+   added to your projects ApplicationResources.properties
+   file or you can associate new ones by modifying the
+   pluggable validators msg attributes in this file.
+
+   # Struts Validator Error Messages
+   errors.required={0} is required.
+   errors.minlength={0} can not be less than {1} characters.
+   errors.maxlength={0} can not be greater than {1} characters.
+   errors.invalid={0} is invalid.
+
+   errors.byte={0} must be a byte.
+   errors.short={0} must be a short.
+   errors.integer={0} must be an integer.
+   errors.long={0} must be a long.
+   errors.float={0} must be a float.
+   errors.double={0} must be a double.
+
+   errors.date={0} is not a date.
+   errors.range={0} is not in the range {1} through {2}.
+   errors.creditcard={0} is an invalid credit card number.
+   errors.email={0} is an invalid e-mail address.
+   errors.url={0} is an invalid url (web address).
+
+   errors.minbytelength={0} can not be less than {1} bytes.
+   errors.maxbytelength={0} can not be greater than {1} bytes.
+   
+   Note: Starting in Struts 1.2.0 the default javascript definitions have
+         been consolidated to commons-validator. The default can be overridden
+         by supplying a <javascript> element with a CDATA section, just as
+         in struts 1.1.
+
+-->
+
+<form-validation>
+
+   <global>
+
+      <validator name="required"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateRequired"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+                  msg="errors.required"/>
+
+      <validator name="requiredif"
+                 classname="org.apache.struts.validator.FieldChecks"
+                 method="validateRequiredIf"
+                 methodParams="java.lang.Object,
+                               org.apache.commons.validator.ValidatorAction,
+                               org.apache.commons.validator.Field,
+                               org.apache.struts.action.ActionMessages,
+                               org.apache.commons.validator.Validator,
+                               javax.servlet.http.HttpServletRequest"
+                 msg="errors.required"/>
+
+      <validator name="validwhen"
+          msg="errors.required"
+                 classname="org.apache.struts.validator.validwhen.ValidWhen"
+                 method="validateValidWhen"
+                 methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"/>
+
+
+      <validator name="minlength"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateMinLength"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.minlength"
+           jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>
+
+
+      <validator name="maxlength"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateMaxLength"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.maxlength"
+           jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>
+
+
+
+      <validator name="mask"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateMask"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.invalid"/>
+
+
+      <validator name="byte"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateByte"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.byte"
+       jsFunctionName="ByteValidations"/>
+
+
+      <validator name="short"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateShort"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.short"
+       jsFunctionName="ShortValidations"/>
+
+
+      <validator name="integer"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateInteger"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.integer"
+       jsFunctionName="IntegerValidations"/>
+
+
+
+      <validator name="long"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateLong"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.long"/>
+
+
+      <validator name="float"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateFloat"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.float"
+       jsFunctionName="FloatValidations"/>
+
+      <validator name="double"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateDouble"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.double"/>
+
+
+      <validator name="date"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateDate"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.date"
+       jsFunctionName="DateValidations"/>
+
+
+      <validator name="intRange"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateIntRange"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends="integer"
+                  msg="errors.range"/>
+
+
+      <validator name="floatRange"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateFloatRange"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends="float"
+                  msg="errors.range"/>
+
+      <validator name="doubleRange"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateDoubleRange"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends="double"
+                  msg="errors.range"/>
+
+      <validator name="creditCard"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateCreditCard"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.creditcard"/>
+
+
+      <validator name="email"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateEmail"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.email"/>
+
+      <validator name="url"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateUrl"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.url"/>
+
+      <validator name="minbytelength"
+            classname="org.seasar.struts.validator.S2FieldChecks"
+               method="validateMinByteLength"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.minbytelength"/>
+
+
+      <validator name="maxbytelength"
+            classname="org.seasar.struts.validator.S2FieldChecks"
+               method="validateMaxByteLength"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.maxbytelength"/>
+                  
+     <validator name="longRange"
+            classname="org.seasar.struts.validator.S2FieldChecks"
+               method="validateLongRange"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends="long"
+                  msg="errors.range"/>
+
+     <!--
+       This simply allows struts to include the validateUtilities into a page, it should
+       not be used as a validation rule.
+     -->
+     <validator name="includeJavaScriptUtilities"
+            classname=""
+               method=""
+         methodParams=""
+              depends=""
+                  msg=""
+           jsFunction="org.apache.commons.validator.javascript.validateUtilities"/>
+
+   </global>
+
+</form-validation>

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp Thu Feb 26 14:09:20 2009
@@ -0,0 +1,24 @@
+<%--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+--%>
+<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
+<%@taglib prefix="html" uri="http://struts.apache.org/tags-html"%>  
+<%@taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>  
+<%@taglib prefix="tiles" uri="http://jakarta.apache.org/struts/tags-tiles"%>
+<%@taglib prefix="f" uri="http://sastruts.seasar.org/functions"%>
+<%@taglib prefix="s" uri="http://sastruts.seasar.org/portlet"%>

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/error.jsp
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/error.jsp?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/error.jsp (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/error.jsp Thu Feb 26 14:09:20 2009
@@ -0,0 +1,19 @@
+<%--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+--%>
+<%@page pageEncoding="UTF-8" %>
+<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>
+

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/error.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/index.jsp
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/index.jsp?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/index.jsp (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/index.jsp Thu Feb 26 14:09:20 2009
@@ -0,0 +1,123 @@
+<%--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+--%>
+<%@page pageEncoding="UTF-8" %>
+<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>
+<c:if test="${currentName != ''}">
+<div>Current: ${currentName}</div>
+</c:if>
+<div style="padding: 3px;">
+  <table>
+    <thead class="portlet-section-subheader">
+      <tr>
+        <th style="width: 250px;">Name</th>
+        <th style="width: 50px;">Action</th>
+      </tr>
+    </thead>
+    <tbody><c:forEach var="widget" varStatus="s" items="${widgetItems}">
+      <tr style="background-color:${s.index %2 == 0 ? 'eeeeee' : 'e0e0e0'}">
+        <td>${f:h(widget.shortName)}</td>
+        <td align="center"><s:link href="update/${f:u(widget.id)}">Select</s:link></td>
+      </tr>
+    </c:forEach></tbody>
+  </table>
+</div>
+<div style="padding: 3px;">
+<s:form>
+	<div>
+		Category:
+		<html:select property="category">
+<html:option value="all">All</html:option>
+<html:option value="news">News</html:option>
+<html:option value="tools">Tools</html:option>
+<html:option value="communication">Communication</html:option>
+<html:option value="funandgames">Fun &amp; Games</html:option>
+<html:option value="finance">Finance</html:option>
+<html:option value="sports">Sports</html:option>
+<html:option value="lifestyle">Lifestyle</html:option>
+<html:option value="technology">Technology</html:option>
+<html:option value="new">New stuff</html:option>
+		</html:select>
+	</div>
+	<div>
+		Search:
+		<html:text property="query" size="10"/>
+	</div>
+	<div>
+		Language:
+		<html:select property="language">
+<html:option value="">Any language</html:option>
+<html:option value="cs">&#269;esky</html:option>
+<html:option value="da">Dansk</html:option>
+<html:option value="de">Deutsch</html:option>
+<html:option value="el">Ελληνικ&#940;</html:option>
+<html:option value="en">English</html:option>
+<html:option value="es">espa&#241;ol</html:option>
+<html:option value="fr">Fran&#231;ais</html:option>
+<html:option value="fi">suomi</html:option>
+<html:option value="hu">magyar</html:option>
+<html:option value="it">Italiano</html:option>
+<html:option value="iw">&#1506;&#1489;&#1512;&#1497;&#1514;</html:option>
+<html:option value="ja">日本語</html:option>
+<html:option value="ko">&#54620;&#44397;&#50612;</html:option>
+<html:option value="nl">Nederlands</html:option>
+<html:option value="no">norsk (bokm&#229;l)</html:option>
+<html:option value="pl">polski</html:option>
+<html:option value="pt-BR">portugu&#234;s (Brasil)</html:option>
+<html:option value="pt-PT">Portugu&#234;s (Portugal)</html:option>
+<html:option value="ro">Rom&#226;n&#259;</html:option>
+<html:option value="ru">русском</html:option>
+<html:option value="sv">svenska</html:option>
+<html:option value="th">&#3616;&#3634;&#3625;&#3634;&#3652;&#3607;&#3618;</html:option>
+<html:option value="tr">T&#252;rk&#231;e</html:option>
+<html:option value="vi">Ti&#7871;ng Vi&#7879;t</html:option>
+<html:option value="zh-CN">中文(&#31616;体)</html:option>
+<html:option value="zh-TW">中文(繁體)</html:option>
+		</html:select>
+	</div>
+	<div>
+		<input type="submit" name="find" value="Find"/>
+		<input type="submit" name="reset" value="Reset"/>
+	</div>
+</s:form>
+</div>
+<div style="padding: 3px;">
+	<span>
+	<c:if test="${existPrevPage}">
+		<s:link href="prev">&lt;&lt;Previous</s:link>
+	</c:if>
+	</span>
+	<span>
+		<c:forEach var="p" varStatus="s" items="${pageItems}">
+		<span>
+			<c:if test="${p == currentPageNumber}">
+			${p}
+			</c:if>
+			<c:if test="${p != currentPageNumber}">
+			<s:link href="list/${p}">${p}</s:link>
+			</c:if>
+		</span>
+		</c:forEach>
+	</span>
+	<span>
+	<c:if test="${existNextPage}">
+		<s:link href="next">Next&gt;&gt;</s:link>
+	</c:if>
+	</span>
+</div>
+<div style="padding: 3px;">
+<span>${currentPageNumber}/${allPageCount} (${allRecordCount})</span>
+</div>
\ No newline at end of file

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/edit/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/error.jsp
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/error.jsp?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/error.jsp (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/error.jsp Thu Feb 26 14:09:20 2009
@@ -0,0 +1,18 @@
+<%--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+--%>
+<%@page pageEncoding="UTF-8" %>
+<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/error.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/index.jsp
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/index.jsp?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/index.jsp (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/index.jsp Thu Feb 26 14:09:20 2009
@@ -0,0 +1,18 @@
+<%--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+--%>
+<%@page pageEncoding="UTF-8" %>
+<script src="http://gmodules.com/ig/ifr?url=${url}&amp;synd=open&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script>

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/google/view/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/netvibes/edit/error.jsp
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/netvibes/edit/error.jsp?rev=748157&view=auto
==============================================================================
--- portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/netvibes/edit/error.jsp (added)
+++ portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/netvibes/edit/error.jsp Thu Feb 26 14:09:20 2009
@@ -0,0 +1,19 @@
+<%--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+--%>
+<%@page pageEncoding="UTF-8" %>
+<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>
+

Propchange: portals/applications/sandbox/widgets/trunk/src/main/webapp/WEB-INF/view/netvibes/edit/error.jsp
------------------------------------------------------------------------------
    svn:eol-style = native