You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by he...@apache.org on 2006/11/29 18:27:48 UTC

svn commit: r480637 - in /struts/struts2/trunk/core/src/main/java/org/apache/struts2/views: freemarker/tags/AutocompleterModel.java freemarker/tags/StrutsModels.java jsp/ui/AutocompleterTag.java

Author: hermanns
Date: Wed Nov 29 09:27:47 2006
New Revision: 480637

URL: http://svn.apache.org/viewvc?view=rev&rev=480637
Log:
Add Autocompleter AJAX tag
o add missing AutocompleterTag from Musachy's patch
o added AutocompleterModel for freemarker
o updated StrutsModels

Issue number: WW-1520

Added:
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java
Modified:
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java

Added: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java?view=auto&rev=480637
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java (added)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AutocompleterModel.java Wed Nov 29 09:27:47 2006
@@ -0,0 +1,43 @@
+/*
+ * $Id: ComboBoxModel.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.freemarker.tags;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.components.Component;
+import org.apache.struts2.components.Autocompleter;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+/**
+ * @see Autocompleter
+ */
+public class AutocompleterModel extends TagModel {
+
+    public AutocompleterModel(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
+        super(stack, req, res);
+    }
+
+    protected Component getBean() {
+        return new Autocompleter(stack, req, res);
+    }
+}

Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java?view=diff&rev=480637&r1=480636&r2=480637
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java Wed Nov 29 09:27:47 2006
@@ -81,6 +81,7 @@
     protected ElseModel elseModel;
     protected ElseIfModel elseIfModel;
     protected TimePickerModel timePickerModel;
+    protected AutocompleterModel autocompleterModel;
 
 
     public StrutsModels(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
@@ -111,6 +112,14 @@
         }
 
         return comboBox;
+    }
+
+    public AutocompleterModel getAutocompleterModel() {
+        if (autocompleterModel == null) {
+            autocompleterModel = new AutocompleterModel(stack, req, res);
+        }
+
+        return autocompleterModel;
     }
 
     public ComponentModel getComponent() {

Added: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java?view=auto&rev=480637
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java (added)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java Wed Nov 29 09:27:47 2006
@@ -0,0 +1,96 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.components.Autocompleter;
+import org.apache.struts2.components.Component;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+/**
+ * @see Autocompleter
+ */
+public class AutocompleterTag extends ComboBoxTag {
+    private static final long serialVersionUID = -1112470447573172581L;
+
+    private String forceValidOption;
+    private String searchType;
+    private String autoComplete;
+    private String searchDelay;
+    private String disabled;
+    private String href;
+    private String dropdownWidth;
+    private String dropdownHeight;
+
+    public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
+        return new Autocompleter(stack, req, res);
+    }
+
+    protected void populateParams() {
+        super.populateParams();
+
+        Autocompleter autocompleter = (Autocompleter) component;
+        autocompleter.setAutoComplete(autoComplete);
+        autocompleter.setDisabled(disabled);
+        autocompleter.setForceValidOption(forceValidOption);
+        autocompleter.setHref(href);
+        autocompleter.setSearchDelay(searchDelay);
+        autocompleter.setSearchType(searchType);
+        autocompleter.setDropdownHeight(dropdownHeight);
+        autocompleter.setDropdownWidth(dropdownWidth);
+    }
+
+    public void setAutoComplete(String autoComplete) {
+        this.autoComplete = autoComplete;
+    }
+
+    public void setDisabled(String disabled) {
+        this.disabled = disabled;
+    }
+
+    public void setForceValidOption(String forceValidOption) {
+        this.forceValidOption = forceValidOption;
+    }
+
+    public void setHref(String href) {
+        this.href = href;
+    }
+
+    public void setSearchDelay(String searchDelay) {
+        this.searchDelay = searchDelay;
+    }
+
+    public void setSearchType(String searchType) {
+        this.searchType = searchType;
+    }
+
+    public void setDropdownHeight(String height) {
+        this.dropdownHeight = height;
+    }
+
+    public void setDropdownWidth(String width) {
+        this.dropdownWidth = width;
+    }
+
+}
\ No newline at end of file