[pal-cvs 3446] [1180] added netvibes portlet.

svnno****@sourc***** svnno****@sourc*****
2008年 9月 24日 (水) 22:53:09 JST


Revision: 1180
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1180
Author:   shinsuke
Date:     2008-09-24 22:53:09 +0900 (Wed, 24 Sep 2008)

Log Message:
-----------
added netvibes portlet.

Added Paths:
-----------
    netvibes-widgets/trunk/.classpath
    netvibes-widgets/trunk/.project
    netvibes-widgets/trunk/.settings/
    netvibes-widgets/trunk/.settings/org.eclipse.jdt.core.prefs
    netvibes-widgets/trunk/.settings/org.eclipse.jdt.ui.prefs
    netvibes-widgets/trunk/pom.xml
    netvibes-widgets/trunk/src/
    netvibes-widgets/trunk/src/main/
    netvibes-widgets/trunk/src/main/java/
    netvibes-widgets/trunk/src/main/java/jp/
    netvibes-widgets/trunk/src/main/java/jp/sf/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetConstants.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetException.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/EditAction.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/ViewAction.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/creator/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/creator/PagerCreator.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/entity/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/entity/NvWidget.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/form/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/form/EditForm.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/pager/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/pager/NvWidgetPager.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/service/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/service/NvWidgetService.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetHandler.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetList.java
    netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetUtil.java
    netvibes-widgets/trunk/src/main/resources/
    netvibes-widgets/trunk/src/main/resources/app.dicon
    netvibes-widgets/trunk/src/main/resources/application.properties
    netvibes-widgets/trunk/src/main/resources/application_ja.properties
    netvibes-widgets/trunk/src/main/resources/convention.dicon
    netvibes-widgets/trunk/src/main/resources/creator.dicon
    netvibes-widgets/trunk/src/main/resources/customizer.dicon
    netvibes-widgets/trunk/src/main/resources/env.txt
    netvibes-widgets/trunk/src/main/resources/env_ut.txt
    netvibes-widgets/trunk/src/main/resources/jdbc.dicon
    netvibes-widgets/trunk/src/main/resources/s2container.dicon
    netvibes-widgets/trunk/src/main/webapp/
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/portlet.xml
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/common/
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/error.jsp
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/index.jsp
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/error.jsp
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/index.jsp
    netvibes-widgets/trunk/src/main/webapp/WEB-INF/web.xml


-------------- next part --------------
Added: netvibes-widgets/trunk/.classpath
===================================================================
--- netvibes-widgets/trunk/.classpath	                        (rev 0)
+++ netvibes-widgets/trunk/.classpath	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,42 @@
+<classpath>
+    <classpathentry kind="src" output="src/main/webapp/WEB-INF/classes" path="src/main/java"/>
+    <classpathentry kind="src" output="src/main/webapp/WEB-INF/classes" path="src/main/resources"/>
+    <classpathentry kind="src" path="src/main/webapp/WEB-INF/view"/>
+    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+
+  <classpathentry kind="var" path="M2_REPO/portlet-api/portlet-api/1.0/portlet-api-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2.jar" sourcepath="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/taglibs/standard/1.1.2/standard-1.1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-el/commons-el/1.0/commons-el-1.0.jar" sourcepath="M2_REPO/commons-el/commons-el/1.0/commons-el-1.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2.1/commons-fileupload-1.2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3/commons-io-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.3/commons-lang-2.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar" sourcepath="M2_REPO/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.6/commons-digester-1.6.jar" sourcepath="M2_REPO/commons-digester/commons-digester/1.6/commons-digester-1.6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1/commons-collections-2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/oro/oro/2.0.8/oro-2.0.8.jar" sourcepath="M2_REPO/oro/oro/2.0.8/oro-2.0.8-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar" sourcepath="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-api/2.1.3/jetspeed-api-2.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/seasar/sastruts/sa-struts-portlet/1.0.0-rc2/sa-struts-portlet-1.0.0-rc2.jar" sourcepath="M2_REPO/org/seasar/sastruts/sa-struts-portlet/1.0.0-rc2/sa-struts-portlet-1.0.0-rc2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/struts/struts/1.2.9/struts-1.2.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.2/antlr-2.7.2.jar" sourcepath="M2_REPO/antlr/antlr/2.7.2/antlr-2.7.2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.5.1/xalan-2.5.1.jar" sourcepath="M2_REPO/xalan/xalan/2.5.1/xalan-2.5.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/seasar/sastruts/sa-struts/1.0.4-sp1/sa-struts-1.0.4-sp1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/seasar/container/s2-tiger/2.4.28/s2-tiger-2.4.28.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/seasar/container/s2-extension/2.4.28/s2-extension-2.4.28.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/seasar/container/s2-framework/2.4.28/s2-framework-2.4.28.jar"/>
+  <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/javassist/3.4.ga/javassist-3.4.ga.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ognl/ognl/2.6.9-patch-20070908/ognl-2.6.9-patch-20070908.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/poi/poi/3.0-FINAL/poi-3.0-FINAL.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-annotation_1.0_spec/1.1.1/geronimo-annotation_1.0_spec-1.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-ejb_3.0_spec/1.0/geronimo-ejb_3.0_spec-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-interceptor_3.0_spec/1.0/geronimo-interceptor_3.0_spec-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.0/geronimo-jta_1.1_spec-1.0.jar"/>
+</classpath>


Property changes on: netvibes-widgets/trunk/.classpath
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/.project
===================================================================
--- netvibes-widgets/trunk/.project	                        (rev 0)
+++ netvibes-widgets/trunk/.project	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,14 @@
+<projectDescription>
+  <name>netvibes-widgets</name>
+  <comment></comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+      <arguments/>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>


Property changes on: netvibes-widgets/trunk/.project
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- netvibes-widgets/trunk/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ netvibes-widgets/trunk/.settings/org.eclipse.jdt.core.prefs	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,261 @@
+#Mon Sep 22 17:05:09 JST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=80
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true

Added: netvibes-widgets/trunk/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- netvibes-widgets/trunk/.settings/org.eclipse.jdt.ui.prefs	                        (rev 0)
+++ netvibes-widgets/trunk/.settings/org.eclipse.jdt.ui.prefs	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,4 @@
+#Mon Sep 22 17:05:09 JST 2008
+eclipse.preferences.version=1
+formatter_profile=_PAL Project
+formatter_settings_version=11

Added: netvibes-widgets/trunk/pom.xml
===================================================================
--- netvibes-widgets/trunk/pom.xml	                        (rev 0)
+++ netvibes-widgets/trunk/pom.xml	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>jp.sf.pal</groupId>
+  <artifactId>netvibes-widgets</artifactId>
+  <version>1.0</version>
+  <packaging>war</packaging>
+  <name>Netvibes Widget Portlet</name>
+  <description/>
+  <url>http://pal.sourceforge.jp/</url>
+  <inceptionYear>2005</inceptionYear>
+  <developers>
+    <developer>
+      <id>shinsuke</id>
+      <name>Shinsuke Sugaya</name>
+      <email>shinsuke_at_yahoo.co.jp</email>
+      <url>http://d.hatena.ne.jp/shinsuke_sugaya/</url>
+      <organization/>
+      <organizationUrl/>
+      <timezone>+9</timezone>
+    </developer>
+  </developers>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    <connection>scm:cvs:pserver:anony****@cvs*****:/cvsroot/pal:netvibes-widgets</connection>
+    <developerConnection>scm:cvs:pserver:anony****@cvs*****:/cvsroot/pal:netvibes-widgets</developerConnection>
+    <url>http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/pal/netvibes-widgets</url>
+  </scm>
+  <organization>
+    <name>Portal Application Laboratory</name>
+    <url>http://pal.sourceforge.jp/</url>
+  </organization>
+  <build>
+    <finalName>netvibes-widgets</finalName>
+    <defaultGoal>validate</defaultGoal>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <configuration>
+            <source>1.5</source>
+            <target>1.5</target>
+            <encoding>UTF-8</encoding>
+          </configuration>
+        </plugin>
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <configuration>
+            <updateReleaseInfo>true</updateReleaseInfo>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>cobertura-maven-plugin</artifactId>
+          <version>2.0-SNAPSHOT</version>
+          <executions>
+            <execution>
+              <goals>
+                <goal>clean</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <artifactId>maven-source-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>source-jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <repositories>
+    <repository>
+      <id>maven2.marevol.com</id>
+      <name>Maven2 Repository on marevol.com</name>
+      <url>http://maven2.marevol.com/</url>
+    </repository>
+    <repository>
+      <id>maven.seasar.org</id>
+      <name>The Seasar Foundation Maven2 Repository</name>
+      <url>http://maven.seasar.org/maven2</url>
+    </repository>
+  </repositories>
+  <dependencies>
+    <dependency>
+      <groupId>portlet-api</groupId>
+      <artifactId>portlet-api</artifactId>
+      <version>1.0</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>jstl</groupId>
+      <artifactId>jstl</artifactId>
+      <version>1.1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>taglibs</groupId>
+      <artifactId>standard</artifactId>
+      <version>1.1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-el</groupId>
+      <artifactId>commons-el</artifactId>
+      <version>1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-fileupload</groupId>
+      <artifactId>commons-fileupload</artifactId>
+      <version>1.2.1</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.3</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-validator</groupId>
+      <artifactId>commons-validator</artifactId>
+      <version>1.2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.13</version>
+      <type>jar</type>
+    </dependency>
+    <dependency>
+      <groupId>javax.mail</groupId>
+      <artifactId>mail</artifactId>
+      <version>1.4</version>
+    </dependency>
+<!-- Jetspeed2 -->
+    <dependency>
+      <groupId>org.apache.portals.jetspeed-2</groupId>
+      <artifactId>jetspeed-api</artifactId>
+      <version>2.1.3</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.3</version>
+      <scope>provided</scope>
+    </dependency>
+<!-- SAStruts -->
+    <dependency>
+      <groupId>org.seasar.sastruts</groupId>
+      <artifactId>sa-struts-portlet</artifactId>
+      <version>1.0.0-rc3</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.easymock</groupId>
+          <artifactId>easymock</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-annotation_1.0_spec</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-ejb_3.0_spec</artifactId>
+      <version>1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-interceptor_3.0_spec</artifactId>
+      <version>1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jta_1.1_spec</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+  <reporting>
+    <plugins>
+      <plugin>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>changelog-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>taglist-maven-plugin</artifactId>
+        <configuration>
+          <tags>
+            <tag>FIXME</tag>
+            <tag>TODO</tag>
+            <tag>XXX</tag>
+          </tags>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+        <version>2.0-SNAPSHOT</version>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>


Property changes on: netvibes-widgets/trunk/pom.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetConstants.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetConstants.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetConstants.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,19 @@
+package jp.sf.pal.nvwidget;
+
+public class NvWidgetConstants {
+    public static final String BASE_URL = "http://api.eco.netvibes.com/search/?type=uwa";
+
+    public static final String ID = "id";
+
+    public static final String NAME = "name";
+
+    public static final String DESCRIPTION = "description";
+
+    public static final String URL = "url";
+
+    public static final String THUMBNAIL = "thumbnail";
+
+    public static final String HEIGHT = "height";
+
+    public static final String WIDGET_ITEMS = "widgetItems";
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetConstants.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetException.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetException.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetException.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,19 @@
+package jp.sf.pal.nvwidget;
+
+public class NvWidgetException extends Exception {
+
+    private static final long serialVersionUID = 1L;
+
+    public NvWidgetException(String message) {
+        super(message);
+    }
+
+    public NvWidgetException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public NvWidgetException(Throwable cause) {
+        super(cause);
+    }
+
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/NvWidgetException.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/EditAction.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/EditAction.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/EditAction.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,218 @@
+package jp.sf.pal.nvwidget.action;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import jp.sf.pal.nvwidget.NvWidgetConstants;
+import jp.sf.pal.nvwidget.NvWidgetException;
+import jp.sf.pal.nvwidget.entity.NvWidget;
+import jp.sf.pal.nvwidget.form.EditForm;
+import jp.sf.pal.nvwidget.pager.NvWidgetPager;
+import jp.sf.pal.nvwidget.service.NvWidgetService;
+import jp.sf.pal.nvwidget.util.NvWidgetList;
+import jp.sf.pal.nvwidget.util.NvWidgetUtil;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.seasar.framework.container.hotdeploy.HotdeployUtil;
+import org.seasar.struts.annotation.ActionForm;
+import org.seasar.struts.annotation.Execute;
+import org.seasar.struts.exception.ActionMessagesException;
+
+public class EditAction {
+    private static final Log log = LogFactory.getLog(EditAction.class);
+
+    public List<NvWidget> widgetItems;
+
+    public List<Integer> pageItems;
+
+    public String currentName;
+
+    public boolean existPrevPage;
+
+    public boolean existNextPage;
+
+    public int allRecordCount;
+
+    public int allPageCount;
+
+    public int currentPageNumber;
+
+    @ActionForm
+    private EditForm editForm;
+
+    private NvWidgetPager nvWidgetPager;
+
+    private NvWidgetService nvWidgetService;
+
+    private transient HttpServletRequest request;
+
+    @Execute(validator = false, input = "error.jsp")
+    public String index() {
+        try {
+            currentName = NvWidgetUtil.getPreferenceValue(request,
+                    NvWidgetConstants.NAME, "");
+
+            editForm.height = NvWidgetUtil.getPreferenceValue(request,
+                    NvWidgetConstants.HEIGHT, "250");
+
+            editForm.category = nvWidgetPager.getCategory();
+            editForm.query = nvWidgetPager.getQuery();
+            editForm.region = nvWidgetPager.getRegion();
+
+            NvWidgetList<NvWidget> widgets = nvWidgetService
+                    .getNvWidgetList(nvWidgetPager);
+            allRecordCount = widgets.getAllRecordCount();
+            allPageCount = widgets.getAllPageCount();
+            currentPageNumber = widgets.getCurrentPageNumber();
+            existPrevPage = widgets.isExistPrevPage();
+            existNextPage = widgets.isExistNextPage();
+            widgetItems = widgets;
+            request.getSession().setAttribute(NvWidgetConstants.WIDGET_ITEMS,
+                    widgetItems);
+
+            int startIdx = currentPageNumber - 5;
+            if (startIdx < 1) {
+                startIdx = 1;
+            }
+            int endIdx = currentPageNumber + 5;
+            if (endIdx > allPageCount) {
+                endIdx = allPageCount;
+            }
+            pageItems = new ArrayList<Integer>();
+            for (int i = startIdx; i <= endIdx; i++) {
+                pageItems.add(i);
+            }
+
+            return "index.jsp";
+        } catch (NvWidgetException e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException(
+                    "errors.could_not_load_widget_info");
+        }
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "setcategory/{category}")
+    public String find() {
+        nvWidgetPager.reset();
+        nvWidgetPager.setCategory(editForm.category);
+        nvWidgetPager.setQuery(editForm.query);
+        nvWidgetPager.setRegion(editForm.region);
+        return index();
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "list/{pageNumber}")
+    public String list() {
+        try {
+            nvWidgetPager.setPage(Integer.parseInt(editForm.pageNumber));
+        } catch (NumberFormatException e) {
+            // nothing
+        }
+        return index();
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String change() {
+        try {
+            NvWidgetUtil.changeHeight(request, editForm.height);
+            NvWidgetUtil.addMessage(request, "success.update_height");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException(
+                    "errors.failed_to_update_because_of_system_error");
+        }
+        return index();
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "update/{id}")
+    public String update() {
+        if (editForm.id == null) {
+            throw new ActionMessagesException(
+                    "errors.failed_to_update_because_of_no_id");
+        }
+
+        widgetItems = (List<NvWidget>) request.getSession().getAttribute(
+                NvWidgetConstants.WIDGET_ITEMS);
+        if (widgetItems == null) {
+            throw new ActionMessagesException(
+                    "errors.failed_to_update_because_of_no_session");
+        }
+
+        widgetItems = (List<NvWidget>) HotdeployUtil.rebuildValue(widgetItems);
+
+        boolean isUpdate = false;
+        for (NvWidget widget : widgetItems) {
+            if (widget.getId().equals(editForm.id)) {
+                try {
+                    NvWidgetUtil.store(request, widget);
+                    NvWidgetUtil.addMessage(request, "success.update_widget");
+                    isUpdate = true;
+                } catch (Exception e) {
+                    log.error(e.getMessage(), e);
+                    throw new ActionMessagesException(
+                            "errors.failed_to_update_because_of_system_error");
+                }
+            }
+        }
+
+        if (!isUpdate) {
+            throw new ActionMessagesException(
+                    "errors.failed_to_update_because_of_no_object");
+        }
+
+        return index();
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String prev() {
+        int start = nvWidgetPager.getPage();
+        start--;
+        if (start < 1) {
+            start = 1;
+        }
+        nvWidgetPager.setPage(start);
+        return index();
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String next() {
+        int start = nvWidgetPager.getPage();
+        start++;
+        nvWidgetPager.setPage(start);
+        return index();
+    }
+
+    public NvWidgetService getNvWidgetService() {
+        return nvWidgetService;
+    }
+
+    public void setNvWidgetService(NvWidgetService widgetService) {
+        nvWidgetService = widgetService;
+    }
+
+    public NvWidgetPager getNvWidgetPager() {
+        return nvWidgetPager;
+    }
+
+    public void setNvWidgetPager(NvWidgetPager widgetPager) {
+        nvWidgetPager = widgetPager;
+    }
+
+    public EditForm getEditForm() {
+        return editForm;
+    }
+
+    public void setEditForm(EditForm editForm) {
+        this.editForm = editForm;
+    }
+
+    public HttpServletRequest getRequest() {
+        return request;
+    }
+
+    public void setRequest(HttpServletRequest request) {
+        this.request = request;
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/EditAction.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/ViewAction.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/ViewAction.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/ViewAction.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,87 @@
+package jp.sf.pal.nvwidget.action;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+import javax.portlet.RenderResponse;
+import javax.servlet.http.HttpServletRequest;
+
+import jp.sf.pal.nvwidget.NvWidgetConstants;
+import jp.sf.pal.nvwidget.util.NvWidgetUtil;
+
+import org.seasar.struts.annotation.Execute;
+import org.seasar.struts.exception.ActionMessagesException;
+import org.seasar.struts.portlet.util.PortletUtil;
+
+public class ViewAction implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    public String id;
+
+    public String url;
+
+    public String height = "250";
+
+    private transient HttpServletRequest request;
+
+    @Execute(validator = false, input = "error.jsp")
+    public String index() {
+        String value = null;
+        try {
+            value = URLEncoder.encode(NvWidgetUtil.getPreferenceValue(request,
+                    NvWidgetConstants.URL, ""), "UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        if (value == null) {
+            throw new ActionMessagesException("errors.invalid_portlet_state");
+        } else if ("".equals(value)) {
+            NvWidgetUtil.addMessage(request, "warn.need_to_set_widget_url");
+            return "error.jsp";
+        }
+        this.url = value;
+
+        value = NvWidgetUtil.getPreferenceValue(request, NvWidgetConstants.ID,
+                "");
+        if (value == null) {
+            throw new ActionMessagesException("errors.invalid_portlet_state");
+        } else if ("".equals(value)) {
+            NvWidgetUtil.addMessage(request, "warn.need_to_set_widget_id");
+            return "error.jsp";
+        }
+        this.id = value;
+
+        value = NvWidgetUtil.getPreferenceValue(request,
+                NvWidgetConstants.HEIGHT, "250");
+        if (value == null) {
+            throw new ActionMessagesException("errors.invalid_portlet_state");
+        }
+        this.height = value;
+
+        setPortletTitle();
+
+        return "index.jsp";
+    }
+
+    private void setPortletTitle() {
+        RenderResponse renderResponse = PortletUtil.getRenderResponse(request);
+        if (renderResponse != null) {
+            String value = NvWidgetUtil.getPreferenceValue(request,
+                    NvWidgetConstants.NAME, "");
+            if (!"".equals(value)) {
+                renderResponse.setTitle(value);
+            }
+        }
+    }
+
+    public HttpServletRequest getRequest() {
+        return request;
+    }
+
+    public void setRequest(HttpServletRequest request) {
+        this.request = request;
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/action/ViewAction.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/creator/PagerCreator.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/creator/PagerCreator.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/creator/PagerCreator.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,29 @@
+package jp.sf.pal.nvwidget.creator;
+
+import org.seasar.framework.container.ComponentCustomizer;
+import org.seasar.framework.container.assembler.AutoBindingDefFactory;
+import org.seasar.framework.container.creator.ComponentCreatorImpl;
+import org.seasar.framework.container.deployer.InstanceDefFactory;
+import org.seasar.framework.convention.NamingConvention;
+
+/**
+ * @author shinsuke
+ */
+public class PagerCreator extends ComponentCreatorImpl {
+    public static final String SUFFIX = "Pager";
+
+    public PagerCreator(NamingConvention namingConvention) {
+        super(namingConvention);
+        setNameSuffix(SUFFIX);
+        setInstanceDef(InstanceDefFactory.SESSION);
+        setAutoBindingDef(AutoBindingDefFactory.NONE);
+    }
+
+    public ComponentCustomizer getPagerCustomizer() {
+        return getCustomizer();
+    }
+
+    public void setPagerCustomizer(ComponentCustomizer customizer) {
+        setCustomizer(customizer);
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/creator/PagerCreator.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/entity/NvWidget.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/entity/NvWidget.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/entity/NvWidget.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,64 @@
+package jp.sf.pal.nvwidget.entity;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.StringUtils;
+
+public class NvWidget implements Serializable {
+
+    private static final long serialVersionUID = -2597080943953492995L;
+
+    private String id;
+
+    private String name = "";
+
+    private String description = "";
+
+    private String url;
+
+    private String thumbnail;
+
+    public String getShortName() {
+        return StringUtils.abbreviate(name, 30);
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getThumbnail() {
+        return thumbnail;
+    }
+
+    public void setThumbnail(String thumbnail) {
+        this.thumbnail = thumbnail;
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/entity/NvWidget.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/form/EditForm.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/form/EditForm.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/form/EditForm.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,25 @@
+package jp.sf.pal.nvwidget.form;
+
+import java.io.Serializable;
+
+import org.seasar.struts.annotation.IntegerType;
+
+public class EditForm implements Serializable {
+
+    private static final long serialVersionUID = 3248114707042005326L;
+
+    @IntegerType
+    public String id;
+
+    public String category;
+
+    public String query;
+
+    public String region;
+
+    @IntegerType
+    public String pageNumber;
+
+    @IntegerType
+    public String height;
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/form/EditForm.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/pager/NvWidgetPager.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/pager/NvWidgetPager.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/pager/NvWidgetPager.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,91 @@
+package jp.sf.pal.nvwidget.pager;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+import jp.sf.pal.nvwidget.NvWidgetConstants;
+
+public class NvWidgetPager implements Serializable {
+
+    private static final long serialVersionUID = 237701365907034437L;
+
+    private int page = 1;
+
+    private int limit = 20;
+
+    private String category;
+
+    private String query;
+
+    private String region = "us";
+
+    public void reset() {
+        page = 1;
+        limit = 20;
+        category = null;
+        query = null;
+        region = "us";
+    }
+
+    public String buildUrl() {
+        StringBuilder url = new StringBuilder(NvWidgetConstants.BASE_URL);
+
+        url.append("&page=").append(page);
+        url.append("&limit=").append(limit);
+        if (category != null) {
+            url.append("&category=").append(category);
+        }
+        if (query != null && !"".equals(query)) {
+            try {
+                url.append("&query=").append(URLEncoder.encode(query, "UTF-8"));
+            } catch (UnsupportedEncodingException e) {
+                // TODO
+            }
+        }
+        if (region != null) {
+            url.append("&region=").append(region);
+        }
+        return url.toString();
+    }
+
+    public int getPage() {
+        return page;
+    }
+
+    public void setPage(int start) {
+        this.page = start;
+    }
+
+    public int getLimit() {
+        return limit;
+    }
+
+    public void setLimit(int num) {
+        this.limit = num;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    public String getQuery() {
+        return query;
+    }
+
+    public void setQuery(String query) {
+        this.query = query;
+    }
+
+    public String getRegion() {
+        return region;
+    }
+
+    public void setRegion(String language) {
+        this.region = language;
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/pager/NvWidgetPager.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/service/NvWidgetService.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/service/NvWidgetService.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/service/NvWidgetService.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,41 @@
+package jp.sf.pal.nvwidget.service;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Serializable;
+import java.net.URL;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import jp.sf.pal.nvwidget.NvWidgetException;
+import jp.sf.pal.nvwidget.entity.NvWidget;
+import jp.sf.pal.nvwidget.pager.NvWidgetPager;
+import jp.sf.pal.nvwidget.util.NvWidgetHandler;
+import jp.sf.pal.nvwidget.util.NvWidgetList;
+
+import org.xml.sax.InputSource;
+
+public class NvWidgetService implements Serializable {
+
+    private static final long serialVersionUID = 6932901501995247897L;
+
+    public NvWidgetList<NvWidget> getNvWidgetList(NvWidgetPager pager)
+            throws NvWidgetException {
+        try {
+            SAXParserFactory spfactory = SAXParserFactory.newInstance();
+            SAXParser parser = spfactory.newSAXParser();
+            NvWidgetHandler nvWidgetHandler = new NvWidgetHandler(pager);
+            Object content = new URL(pager.buildUrl()).getContent();
+            if (content instanceof InputStream) {
+                parser.parse(new InputSource(new InputStreamReader(
+                        (InputStream) content, "UTF-8")), nvWidgetHandler);
+                return nvWidgetHandler.getNvWidgetList();
+            }
+            throw new NvWidgetException("Invalid content: " + content);
+        } catch (Exception e) {
+            throw new NvWidgetException(e);
+        }
+
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/service/NvWidgetService.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetHandler.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetHandler.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetHandler.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,129 @@
+package jp.sf.pal.nvwidget.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import jp.sf.pal.nvwidget.entity.NvWidget;
+import jp.sf.pal.nvwidget.pager.NvWidgetPager;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+public class NvWidgetHandler extends DefaultHandler {
+
+    private NvWidgetList<NvWidget> nvWidgetList;
+
+    private NvWidget nvWidget;
+
+    private List<String> stack;
+
+    private NvWidgetPager nvWidgetPager;
+
+    public NvWidgetHandler(NvWidgetPager nvWidgetPager) {
+        super();
+        this.nvWidgetPager = nvWidgetPager;
+    }
+
+    @Override
+    public void startDocument() throws SAXException {
+        stack = new ArrayList<String>();
+    }
+
+    @Override
+    public void endDocument() throws SAXException {
+        stack = null;
+    }
+
+    @Override
+    public void startElement(String uri, String localName, String name,
+            Attributes attributes) throws SAXException {
+        stack.add(name);
+
+        if ("items".equals(name)) {
+            nvWidgetList = new NvWidgetList<NvWidget>();
+
+            if (nvWidgetPager.getPage() > 1) {
+                nvWidgetList.setExistPrevPage(true);
+            } else {
+                nvWidgetList.setExistPrevPage(false);
+            }
+
+            for (int i = 0; i < attributes.getLength(); i++) {
+                String attrName = attributes.getQName(i);
+                String attrValue = attributes.getValue(i);
+                if ("total".equals(attrName)) {
+                    try {
+                        nvWidgetList.setAllRecordCount(Integer
+                                .parseInt(attrValue));
+                    } catch (NumberFormatException e) {
+                        nvWidgetList.setAllRecordCount(0);
+                    }
+                } else if ("page".equals(attrName)) {
+                    try {
+                        nvWidgetList.setCurrentPageNumber(Integer
+                                .parseInt(attrValue));
+                    } catch (NumberFormatException e) {
+                        nvWidgetList.setCurrentPageNumber(nvWidgetPager
+                                .getPage());
+                    }
+                } else if ("totalPages".equals(attrName)) {
+                    try {
+                        nvWidgetList.setAllPageCount(Integer
+                                .parseInt(attrValue));
+                    } catch (NumberFormatException e) {
+                        nvWidgetList.setAllPageCount(1);
+                    }
+
+                    if (nvWidgetPager.getPage() < nvWidgetList
+                            .getAllPageCount()) {
+                        nvWidgetList.setExistNextPage(true);
+                    } else {
+                        nvWidgetList.setExistNextPage(false);
+                    }
+                }
+            }
+
+        } else if ("item".equals(name)) {
+            nvWidget = new NvWidget();
+        }
+    }
+
+    @Override
+    public void endElement(String uri, String localName, String name)
+            throws SAXException {
+        if ("item".equals(name)) {
+            nvWidgetList.add(nvWidget);
+            nvWidget = null;
+        }
+
+        stack.remove(stack.size() - 1);
+    }
+
+    @Override
+    public void characters(char[] ch, int start, int length)
+            throws SAXException {
+        if (stack != null) {
+            String tagName = stack.get(stack.size() - 1);
+            if (nvWidget != null) {
+                if ("id".equals(tagName)) {
+                    nvWidget.setId(new String(ch, start, length));
+                } else if ("title".equals(tagName)) {
+                    nvWidget.setName(nvWidget.getName()
+                            + new String(ch, start, length));
+                } else if ("link".equals(tagName)) {
+                    nvWidget.setUrl(new String(ch, start, length));
+                } else if ("description".equals(tagName)) {
+                    nvWidget.setDescription(nvWidget.getDescription()
+                            + new String(ch, start, length));
+                } else if ("thumbnail".equals(tagName)) {
+                    nvWidget.setThumbnail(new String(ch, start, length));
+                }
+            }
+        }
+    }
+
+    public NvWidgetList<NvWidget> getNvWidgetList() {
+        return nvWidgetList;
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetHandler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetList.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetList.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetList.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,64 @@
+package jp.sf.pal.nvwidget.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class NvWidgetList<E> extends ArrayList<E> implements List<E> {
+
+    private static final long serialVersionUID = -184891673357927785L;
+
+    private int allRecordCount;
+
+    private int allPageCount;
+
+    private int currentPageNumber;
+
+    private boolean existPrevPage;
+
+    private boolean existNextPage;
+
+    public NvWidgetList() {
+        super();
+    }
+
+    public int getAllRecordCount() {
+        return allRecordCount;
+    }
+
+    public void setAllRecordCount(int allRecordCount) {
+        this.allRecordCount = allRecordCount;
+    }
+
+    public int getAllPageCount() {
+        return allPageCount;
+    }
+
+    public void setAllPageCount(int allPageCount) {
+        this.allPageCount = allPageCount;
+    }
+
+    public int getCurrentPageNumber() {
+        return currentPageNumber;
+    }
+
+    public void setCurrentPageNumber(int currentPageNumber) {
+        this.currentPageNumber = currentPageNumber;
+    }
+
+    public boolean isExistPrevPage() {
+        return existPrevPage;
+    }
+
+    public void setExistPrevPage(boolean existPrevPage) {
+        this.existPrevPage = existPrevPage;
+    }
+
+    public boolean isExistNextPage() {
+        return existNextPage;
+    }
+
+    public void setExistNextPage(boolean existNextPage) {
+        this.existNextPage = existNextPage;
+    }
+
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetList.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetUtil.java
===================================================================
--- netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetUtil.java	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetUtil.java	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,66 @@
+package jp.sf.pal.nvwidget.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 jp.sf.pal.nvwidget.NvWidgetConstants;
+import jp.sf.pal.nvwidget.entity.NvWidget;
+
+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;
+
+public class NvWidgetUtil {
+    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 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 changeHeight(HttpServletRequest request, String height)
+            throws ValidatorException, IOException, ReadOnlyException {
+        PortletRequest portletRequest = (PortletRequest) request
+                .getAttribute(PortletUtil.PORTLET_REQUEST);
+        if (portletRequest != null) {
+            PortletPreferences preferences = portletRequest.getPreferences();
+            preferences.setValue(NvWidgetConstants.HEIGHT, height);
+            preferences.store();
+        }
+        return null;
+    }
+
+    public static String store(HttpServletRequest request, NvWidget nvWidget)
+            throws ValidatorException, IOException, ReadOnlyException {
+        PortletRequest portletRequest = (PortletRequest) request
+                .getAttribute(PortletUtil.PORTLET_REQUEST);
+        if (portletRequest != null) {
+            PortletPreferences preferences = portletRequest.getPreferences();
+            preferences.setValue(NvWidgetConstants.ID, nvWidget.getId());
+            preferences.setValue(NvWidgetConstants.NAME, nvWidget.getName());
+            preferences.setValue(NvWidgetConstants.DESCRIPTION, nvWidget
+                    .getDescription());
+            preferences.setValue(NvWidgetConstants.URL, nvWidget.getUrl());
+            preferences.setValue(NvWidgetConstants.THUMBNAIL, nvWidget
+                    .getThumbnail());
+            preferences.store();
+        }
+        return null;
+    }
+}


Property changes on: netvibes-widgets/trunk/src/main/java/jp/sf/pal/nvwidget/util/NvWidgetUtil.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/resources/app.dicon
===================================================================
--- netvibes-widgets/trunk/src/main/resources/app.dicon	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/app.dicon	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,10 @@
+<?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="convention.dicon"/>
+	<include path="aop.dicon"/>
+    <include path="j2ee.dicon"/>
+
+    <component name="actionMessagesThrowsInterceptor" class="org.seasar.struts.interceptor.ActionMessagesThrowsInterceptor"/>
+</components>

Added: netvibes-widgets/trunk/src/main/resources/application.properties
===================================================================
--- netvibes-widgets/trunk/src/main/resources/application.properties	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/application.properties	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,38 @@
+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 Netvibes Widgets 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 Netvibes Widgets information.
+errors.failed_to_update_because_of_no_object=Failed to update data. Could not find the widget.
+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 Netvibes widget on edit mode.
+warn.need_to_set_widget_id=Please select a Netvibes widget on edit mode.
+
+success.update_widget=Updated widget.
+success.update_height=Updated height.


Property changes on: netvibes-widgets/trunk/src/main/resources/application.properties
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/resources/application_ja.properties
===================================================================
--- netvibes-widgets/trunk/src/main/resources/application_ja.properties	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/application_ja.properties	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,31 @@
+
+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=Netvibes\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\u3002Netvibes\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 Netvibes\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+warn.need_to_set_widget_id=\u7de8\u96c6\u30e2\u30fc\u30c9\u3067 Netvibes\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+success.update_widget=\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002
+success.update_height=\u9ad8\u3055\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002


Property changes on: netvibes-widgets/trunk/src/main/resources/application_ja.properties
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/resources/convention.dicon
===================================================================
--- netvibes-widgets/trunk/src/main/resources/convention.dicon	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/convention.dicon	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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>"jp.sf.pal.nvwidget"</arg>
+		</initMethod>
+	</component>
+</components>

Added: netvibes-widgets/trunk/src/main/resources/creator.dicon
===================================================================
--- netvibes-widgets/trunk/src/main/resources/creator.dicon	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/creator.dicon	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,15 @@
+<?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="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.DtoCreator"/-->
+    <component class="org.seasar.framework.container.creator.InterceptorCreator"/>
+    <component class="jp.sf.pal.nvwidget.creator.PagerCreator"/>
+
+</components>

Added: netvibes-widgets/trunk/src/main/resources/customizer.dicon
===================================================================
--- netvibes-widgets/trunk/src/main/resources/customizer.dicon	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/customizer.dicon	2008-09-24 13:53:09 UTC (rev 1180)
@@ -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: netvibes-widgets/trunk/src/main/resources/env.txt
===================================================================
--- netvibes-widgets/trunk/src/main/resources/env.txt	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/env.txt	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1 @@
+product


Property changes on: netvibes-widgets/trunk/src/main/resources/env.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/resources/env_ut.txt
===================================================================
--- netvibes-widgets/trunk/src/main/resources/env_ut.txt	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/env_ut.txt	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1 @@
+ut
\ No newline at end of file


Property changes on: netvibes-widgets/trunk/src/main/resources/env_ut.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/resources/jdbc.dicon
===================================================================
--- netvibes-widgets/trunk/src/main/resources/jdbc.dicon	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/jdbc.dicon	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
+	"http://www.seasar.org/dtd/components21.dtd">
+<components namespace="jdbc">
+	<include path="jta.dicon"/>
+
+	<!-- for HSQLDB -->
+	<!--
+	<component name="xaDataSource"
+		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
+		<property name="driverClassName">
+			"org.hsqldb.jdbcDriver"
+		</property>
+		<property name="URL">
+			"jdbc:hsqldb:file:"
+				+ @org.seasar.framework.util.ResourceUtil @ getBuildDir('app.dicon').getCanonicalPath()
+				+ "/data/test"
+		</property>
+		<property name="user">"sa"</property>
+		<property name="password">""</property>
+	</component>
+	-->
+	
+	<!-- for H2 -->
+	<!--
+	<component name="xaDataSource"
+		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
+		<property name="driverClassName">
+			"org.h2.Driver"
+		</property>
+		<property name="URL">
+			"jdbc:h2:file:"
+				+ @org.seasar.framework.util.ResourceUtil @ getBuildDir(@examples.entity.JdbcManagerTest @ class).getCanonicalPath()
+				+ "/data/demo;DB_CLOSE_ON_EXIT=FALSE"
+		</property>
+		<property name="user">"sa"</property>
+		<property name="password"></property>
+	</component>
+	-->
+	
+	<!-- for Oracle -->
+	<!--
+	<component name="xaDataSource"
+		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
+		<property name="driverClassName">
+			"oracle.jdbc.driver.OracleDriver"
+		</property>
+		<property name="URL">
+			"jdbc:oracle:thin:@xxx:1521:xxx"
+		</property>
+		<property name="user">"xxx"</property>
+		<property name="password">"xxx"</property>
+	</component>
+	-->
+
+	<!-- for DB2 -->
+	<!--
+	<component name="xaDataSource"
+		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
+		<property name="driverClassName">
+			"com.ibm.db2.jcc.DB2Driver"
+		</property>
+		<property name="URL">
+			"jdbc:db2://foo.bar.com:50000/SAMPLE"
+		</property>
+		<property name="user">"db2user"</property>
+		<property name="password">"db2password"</property>
+		<initMethod name="addProperty">
+			<arg>"currentSchema"</arg>
+			<arg>"SCHEMA"</arg>
+		</initMethod>
+	</component>
+	-->
+	
+	<!-- for PostgreSQL -->
+	<!--
+	<component name="xaDataSource"
+		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
+		<property name="driverClassName">
+			"org.postgresql.Driver"
+        </property>
+        <property name="URL">
+          "jdbc:postgresql://localhost/TEST"
+        </property>
+        <property name="user">"xxxx"</property>
+        <property name="password">"xxxx"</property>
+    </component>
+    -->
+
+	<!-- MySQL
+	- MySQL4.0以下でマルチバイト文字を扱う場合には,URL指定の後に,
+		以下の接続パラメータを追加で指定してください.
+		useUnicode=true
+		characterEncoding=[MySQLのエンコーディングに対応した
+		Javaのエンコーディング名]
+		例:"jdbc:mysql://localhost:3306/test?useUnicode=true" +
+		"&amp;characterEncoding=Windows-31J"
+		
+	- MySQL5.0以降で,エンコーディングがeucjpmsの列を扱う場合には,
+		URL指定の後に,以下の接続パラメータを追加で指定してください.
+		characterEncoding=UTF-8またはWindows-31J
+		characterSetResults=UTF-8またはWindows-31J
+		例:"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8" +
+		"&amp;characterSetResults=UTF-8"
+		この指定をしない場合,Java側でUCS-2⇔EUC_JP_Solarisの変換が
+		行なわれるため,ユーザー定義外字などの一部の文字が化けます.
+		この指定をすることで,MySQL側でeucjpms⇔ucs2⇔utf8(cp932)の
+		変換が行なわれ,Java側でUCS-2⇔UTF-8(Windows-31J)の変換が
+		行なわれるようになります.この結果,文字化けを防げます.
+		なおJIS X 0212(補助漢字)を使用する場合は,Windows-31Jではなく
+		UTF-8を指定する必要があります.
+		
+	- 上記以外の場合は,my.cnfでdefault-character-setの設定を適切に
+		(cp932やutf8など.デフォルトのlatin1は不可)行なっていれば,
+		文字化けは防げます.
+	<component name="xaDataSource"
+		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
+		<property name="driverClassName">
+			"com.mysql.jdbc.Driver"
+		</property>
+		<property name="URL">
+			"jdbc:mysql://localhost:3306/test"
+		</property>
+		<property name="user">"xxx"</property>
+		<property name="password">"xxx"</property>
+	</component>
+	-->
+
+	<!-- for SQLServer -->
+	<!--
+	<component name="xaDataSource"
+		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
+		<property name="driverClassName">
+			"net.sourceforge.jtds.jdbc.Driver"
+        </property>
+        <property name="URL">
+            "jdbc:jtds:sqlserver://localhost/TEST;instance=SQLEXPRESS"
+        </property>
+        <property name="user">"xxxx"</property>
+        <property name="password">"xxxx"</property>
+    </component>
+	-->
+
+	<!--
+	<component name="connectionPool"
+		class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
+		<property name="timeout">600</property>
+		<property name="maxPoolSize">10</property>
+		<property name="allowLocalTx">true</property>
+		<destroyMethod name="close"/>
+	</component>
+
+	<component name="DataSource"
+		class="org.seasar.extension.dbcp.impl.DataSourceImpl"
+	/>
+	-->
+
+	<!-- from JNDI -->
+	<!--
+	<component name="DataSource"
+		class="javax.sql.DataSource">
+		@org.seasar.extension.j2ee.JndiResourceLocator @ lookup("java:comp/env/jdbc/DataSource")
+	</component>
+	-->
+
+	<!--
+	<component name="dataSource"
+		class="org.seasar.extension.datasource.impl.SelectableDataSourceProxy"/>
+	-->
+
+</components>

Added: netvibes-widgets/trunk/src/main/resources/s2container.dicon
===================================================================
--- netvibes-widgets/trunk/src/main/resources/s2container.dicon	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/resources/s2container.dicon	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,8 @@
+<?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 condition="#ENV == 'ut'" path="warmdeploy.dicon"/>
+    <include condition="#ENV == 'ct'" path="hotdeploy.dicon"/>
+    <include condition="#ENV != 'ut' and #ENV != 'ct'" path="cooldeploy.dicon"/>
+</components>
\ No newline at end of file

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/portlet.xml
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/portlet.xml	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/portlet.xml	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright 2004-2008 PAL Project and the Others.
+ *
+ * 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.
+-->
+<portlet-app version="1.0" 
+    xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    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 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>/view/</value>
+    </init-param>
+    <init-param>
+      <name>editPage</name>
+      <value>/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>
+


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/portlet.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+
+<!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"/>
+<!-- REPLACED:
+        processorClass="org.seasar.struts.action.S2RequestProcessor"
+-->
+
+
+<!-- ================================ 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>
+


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/struts-config.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,352 @@
+<!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>


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/validator-rules.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,8 @@
+<%@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"%>


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/common/common.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/error.jsp
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/error.jsp	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/error.jsp	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,3 @@
+<%@page pageEncoding="UTF-8" %>
+<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>
+


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/error.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/index.jsp
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/index.jsp	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/index.jsp	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,228 @@
+<%@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;">
+<s:form>
+	Height:
+	<html:text property="height" size="4"/>
+	<input type="submit" name="change" value="Change"/>
+</s:form>
+</div>
+<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="g" varStatus="s" items="${widgetItems}">
+      <tr style="background-color:${s.index %2 == 0 ? 'eeeeee' : 'e0e0e0'}">
+        <td>${f:h(g.shortName)}</td>
+        <td align="center"><s:link href="update/${f:u(g.id)}">Set</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</html:option>
+<html:option value="1">News</html:option>
+<html:option value="2">Business &amp; Finance</html:option>
+<html:option value="3">Sport</html:option>
+<html:option value="4">TV, Movies &amp; Music</html:option>
+<html:option value="6">Tools &amp; Technology</html:option>
+<html:option value="7">Fun &amp; Games</html:option>
+<html:option value="8">Lifestyle</html:option>
+<html:option value="10">Shopping</html:option>
+<html:option value="13">Travel</html:option>
+		</html:select>
+	</div>
+	<div>
+		Search:
+		<html:text property="query" size="10"/>
+	</div>
+	<div>
+		Language:
+		<html:select property="region">
+    <html:option value="any">Any region</html:option>
+    <html:option value="al">Albania</html:option>
+    <html:option value="dz">Algeria</html:option>
+
+    <html:option value="ar">Argentina</html:option>
+    <html:option value="au">Australia</html:option>
+    <html:option value="at">Austria</html:option>
+    <html:option value="bh">Bahreテッn</html:option>
+    <html:option value="bd">Bangladesh</html:option>
+    <html:option value="pv">Basque Country</html:option>
+
+    <html:option value="by">Belarus</html:option>
+    <html:option value="be">Belgium (dutch)</html:option>
+    <html:option value="bef">Belgium (french)</html:option>
+    <html:option value="bz">Belize</html:option>
+    <html:option value="bo">Bolivia</html:option>
+    <html:option value="ba">Bosnia and Herzegovina</html:option>
+
+    <html:option value="br">Brazil</html:option>
+    <html:option value="bg">Bulgaria</html:option>
+    <html:option value="kh">Cambodia</html:option>
+    <html:option value="cm">Cameroon</html:option>
+    <html:option value="ca">Canada</html:option>
+    <html:option value="qc">Canada (Quebec)</html:option>
+
+    <html:option value="cl">Chile</html:option>
+    <html:option value="cn">China</html:option>
+    <html:option value="hk">China (Hong Kong)</html:option>
+    <html:option value="tw">China (Taiwan)</html:option>
+    <html:option value="co">Colombia</html:option>
+    <html:option value="cd">Congo</html:option>
+
+    <html:option value="cr">Costa Rica</html:option>
+    <html:option value="hr">Croatia</html:option>
+    <html:option value="cy">Cyprus</html:option>
+    <html:option value="cz">Czech Republic</html:option>
+    <html:option value="dk">Denmark</html:option>
+    <html:option value="do">Dominican Republic</html:option>
+
+    <html:option value="ec">Ecuador</html:option>
+    <html:option value="eg">Egypt</html:option>
+    <html:option value="sv">El Salvador</html:option>
+    <html:option value="ee">Estonia</html:option>
+    <html:option value="et">Ethiopia</html:option>
+    <html:option value="fk">Falkland Islands</html:option>
+
+    <html:option value="fo">Faroe Islands</html:option>
+    <html:option value="fi">Finland</html:option>
+    <html:option value="fr">France</html:option>
+    <html:option value="pf">French Polynesia</html:option>
+    <html:option value="de">Germany</html:option>
+    <html:option value="gr">Greece</html:option>
+
+    <html:option value="gra">Greece (Attica)</html:option>
+    <html:option value="gt">Guatemala</html:option>
+    <html:option value="gy">Guyana</html:option>
+    <html:option value="hn">Honduras</html:option>
+    <html:option value="hu">Hungary</html:option>
+    <html:option value="is">Iceland</html:option>
+
+    <html:option value="in">India</html:option>
+    <html:option value="id">Indonesia</html:option>
+    <html:option value="ir">Iran</html:option>
+    <html:option value="iq">Iraq</html:option>
+    <html:option value="ie">Ireland</html:option>
+    <html:option value="il">Israel</html:option>
+
+    <html:option value="it">Italy</html:option>
+    <html:option value="ci">Ivory Coast</html:option>
+    <html:option value="jp">Japan</html:option>
+    <html:option value="jo">Jordan</html:option>
+    <html:option value="ke">Kenya</html:option>
+    <html:option value="ko">Kosovo</html:option>
+
+    <html:option value="kd">Kurdistan</html:option>
+    <html:option value="kw">Kuwait</html:option>
+    <html:option value="lv">Latvia</html:option>
+    <html:option value="lb">Lebanon</html:option>
+    <html:option value="lt">Lithuania</html:option>
+    <html:option value="lu">Luxembourg</html:option>
+
+    <html:option value="ly">Lybia</html:option>
+    <html:option value="my">Malaysia</html:option>
+    <html:option value="mr">Mauritania</html:option>
+    <html:option value="mx">Mexico</html:option>
+    <html:option value="mn">Mongolia</html:option>
+    <html:option value="ma">Morocco</html:option>
+
+    <html:option value="mm">Myanmar</html:option>
+    <html:option value="nl">Netherlands</html:option>
+    <html:option value="nlf">Netherlands (Friesland)</html:option>
+    <html:option value="nz">New Zealand</html:option>
+    <html:option value="ni">Nicaragua</html:option>
+    <html:option value="ng">Nigeria</html:option>
+
+    <html:option value="no">Norway</html:option>
+    <html:option value="pk">Pakistan</html:option>
+    <html:option value="ps">Palestine</html:option>
+    <html:option value="pa">Panama</html:option>
+    <html:option value="py">Paraguay</html:option>
+    <html:option value="pe">Peru</html:option>
+
+    <html:option value="ph">Philippines</html:option>
+    <html:option value="pl">Poland</html:option>
+    <html:option value="pt">Portugal</html:option>
+    <html:option value="re">Reunion</html:option>
+    <html:option value="ro">Romania</html:option>
+    <html:option value="ru">Russia</html:option>
+
+    <html:option value="sa">Saudi Arabia</html:option>
+    <html:option value="sn">Senegal</html:option>
+    <html:option value="rs">Serbia</html:option>
+    <html:option value="sg">Singapore</html:option>
+    <html:option value="sk">Slovakia</html:option>
+    <html:option value="si">Slovenia</html:option>
+
+    <html:option value="so">Somalia</html:option>
+    <html:option value="za">South Africa</html:option>
+    <html:option value="kr">South Korea</html:option>
+    <html:option value="es">Spain</html:option>
+    <html:option value="ct">Spain (Catalonia)</html:option>
+    <html:option value="ga">Spain (Galicia)</html:option>
+
+    <html:option value="lk">Sri Lanka</html:option>
+    <html:option value="sr">Suriname</html:option>
+    <html:option value="se">Sweden</html:option>
+    <html:option value="ch">Switzerland</html:option>
+    <html:option value="chf">Switzerland (french)</html:option>
+    <html:option value="sy">Syria</html:option>
+
+    <html:option value="th">Thailand</html:option>
+    <html:option value="tn">Tunisia</html:option>
+    <html:option value="tr">Turkey</html:option>
+    <html:option value="ua">Ukraina</html:option>
+    <html:option value="ae">United Arab Emirates</html:option>
+    <html:option value="gb">United Kingdom</html:option>
+
+    <html:option value="us">United States</html:option>
+    <html:option value="uy">Uruguay</html:option>
+    <html:option value="ve">Venezuela</html:option>
+    <html:option value="vn">Vietnam</html:option>
+
+		</html:select>
+	</div>
+	<div>
+		<input type="submit" name="find" value="Find widgets"/>
+	</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


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/edit/index.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/error.jsp
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/error.jsp	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/error.jsp	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,2 @@
+<%@page pageEncoding="UTF-8" %>
+<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/error.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/index.jsp
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/index.jsp	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/index.jsp	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,2 @@
+<%@page pageEncoding="UTF-8" %>
+<iframe id="frame_${f:h(id)}" name="frame_${f:h(id)}" frameborder="0" width="100%" height="${f:h(height)}" src="http://www.netvibes.com/api/uwa/frame/uwa_generic.php?id=${f:h(id)}&amp;moduleUrl=${url}"></iframe>
\ No newline at end of file


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/view/view/index.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: netvibes-widgets/trunk/src/main/webapp/WEB-INF/web.xml
===================================================================
--- netvibes-widgets/trunk/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ netvibes-widgets/trunk/src/main/webapp/WEB-INF/web.xml	2008-09-24 13:53:09 UTC (rev 1180)
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright 2004-2008 PAL Project and the Others.
+ *
+ * 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.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
+  <display-name>Netvibes Widget Portlet</display-name>
+  <description>Display Netvibes Widget on your portal.</description>
+  <context-param>
+    <param-name>sastruts.VIEW_PREFIX</param-name>
+    <param-value>/WEB-INF/view</param-value>
+  </context-param>
+  <filter>
+    <filter-name>encodingfilter</filter-name>
+    <filter-class>org.seasar.extension.filter.EncodingFilter</filter-class>
+    <init-param>
+      <param-name>encoding</param-name>
+      <param-value>UTF-8</param-value>
+    </init-param>
+  </filter>
+  <filter>
+    <filter-name>portletRequestFilter</filter-name>
+    <filter-class>org.seasar.struts.portlet.filter.PortletRequestFilter</filter-class>
+  </filter>
+  <filter>
+    <filter-name>requestDumpFilter</filter-name>
+    <filter-class>org.seasar.extension.filter.RequestDumpFilter</filter-class>
+  </filter>
+  <filter>
+    <filter-name>s2filter</filter-name>
+    <filter-class>org.seasar.struts.portlet.filter.S2ContainerFilter</filter-class>
+  </filter>
+  <filter>
+    <filter-name>hotdeployfilter</filter-name>
+    <filter-class>org.seasar.struts.portlet.filter.HotdeployFilter</filter-class>
+  </filter>
+  <filter>
+    <filter-name>routingfilter</filter-name>
+    <filter-class>org.seasar.struts.filter.RoutingFilter</filter-class>
+    <init-param>
+      <param-name>jspDirectAccess</param-name>
+      <param-value>false</param-value>
+    </init-param>
+  </filter>
+  <filter>
+    <filter-name>portletRoutingfilter</filter-name>
+    <filter-class>org.seasar.struts.portlet.filter.PortletRoutingFilter</filter-class>
+    <init-param>
+      <param-name>jspDirectAccess</param-name>
+      <param-value>false</param-value>
+    </init-param>
+  </filter>
+  <filter-mapping>
+    <filter-name>encodingfilter</filter-name>
+    <url-pattern>/*</url-pattern>
+  </filter-mapping>
+  <filter-mapping>
+    <filter-name>portletRequestFilter</filter-name>
+    <url-pattern>/*</url-pattern>
+    <dispatcher>INCLUDE</dispatcher>
+  </filter-mapping>
+  <filter-mapping>
+    <filter-name>s2filter</filter-name>
+    <url-pattern>/*</url-pattern>
+    <dispatcher>REQUEST</dispatcher>
+    <dispatcher>FORWARD</dispatcher>
+    <dispatcher>INCLUDE</dispatcher>
+  </filter-mapping>
+  <filter-mapping>
+    <filter-name>hotdeployfilter</filter-name>
+    <url-pattern>/*</url-pattern>
+    <dispatcher>REQUEST</dispatcher>
+    <dispatcher>FORWARD</dispatcher>
+    <dispatcher>INCLUDE</dispatcher>
+  </filter-mapping>
+  <filter-mapping>
+    <filter-name>routingfilter</filter-name>
+    <url-pattern>/*</url-pattern>
+    <dispatcher>REQUEST</dispatcher>
+  </filter-mapping>
+  <filter-mapping>
+    <filter-name>portletRoutingfilter</filter-name>
+    <url-pattern>/*</url-pattern>
+    <dispatcher>INCLUDE</dispatcher>
+  </filter-mapping>
+  <filter-mapping>
+    <filter-name>requestDumpFilter</filter-name>
+    <url-pattern>*.do</url-pattern>
+    <dispatcher>REQUEST</dispatcher>
+    <dispatcher>FORWARD</dispatcher>
+    <dispatcher>INCLUDE</dispatcher>
+  </filter-mapping>
+  <servlet>
+    <servlet-name>action</servlet-name>
+    <servlet-class>org.seasar.struts.portlet.servlet.ActionServlet</servlet-class>
+    <init-param>
+      <param-name>config</param-name>
+      <param-value>/WEB-INF/struts-config.xml</param-value>
+    </init-param>
+    <init-param>
+      <param-name>configFactory</param-name>
+      <param-value>org.seasar.struts.config.S2ModuleConfigFactory</param-value>
+    </init-param>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+  <servlet>
+    <servlet-name>s2container</servlet-name>
+    <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class>
+    <load-on-startup>2</load-on-startup>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>action</servlet-name>
+    <url-pattern>*.do</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>s2container</servlet-name>
+    <url-pattern>/s2container</url-pattern>
+  </servlet-mapping>
+  <welcome-file-list>
+    <welcome-file>index.html</welcome-file>
+    <welcome-file>index.htm</welcome-file>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+  <jsp-config>
+    <jsp-property-group>
+      <url-pattern>*.jsp</url-pattern>
+      <el-ignored>false</el-ignored>
+      <page-encoding>UTF-8</page-encoding>
+      <scripting-invalid>false</scripting-invalid>
+      <include-prelude>/WEB-INF/view/common/common.jsp</include-prelude>
+    </jsp-property-group>
+  </jsp-config>
+</web-app>


Property changes on: netvibes-widgets/trunk/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Name: svn:eol-style
   + native


pal-cvs メーリングリストの案内