Add real-time suggestion sample using a service with non-void return type. Rename the weather-webapp sample.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1127833 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3b7fe3acfa
commit
b120b4af2d
27 changed files with 530 additions and 3 deletions
|
@ -27,10 +27,10 @@
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<groupId>org.apache.tuscany.sca</groupId>
|
<groupId>org.apache.tuscany.sca</groupId>
|
||||||
<artifactId>sample-binding-comet-weather-webapp</artifactId>
|
<artifactId>sample-binding-comet-multiple-response-webapp</artifactId>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
<name>Apache Tuscany SCA Sample binding.comet Weather Webapp</name>
|
<name>Apache Tuscany SCA Sample binding.comet Multiple Response Webapp</name>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
|
@ -36,7 +36,8 @@
|
||||||
<activeByDefault>true</activeByDefault>
|
<activeByDefault>true</activeByDefault>
|
||||||
</activation>
|
</activation>
|
||||||
<modules>
|
<modules>
|
||||||
<module>weather-webapp</module>
|
<module>single-response-webapp</module>
|
||||||
|
<module>multiple-response-webapp</module>
|
||||||
<module>pubsub-webapp</module>
|
<module>pubsub-webapp</module>
|
||||||
<module>chat-webapp</module>
|
<module>chat-webapp</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
-->
|
||||||
|
<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>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.tuscany.sca</groupId>
|
||||||
|
<artifactId>tuscany-samples</artifactId>
|
||||||
|
<version>2.0-SNAPSHOT</version>
|
||||||
|
<relativePath>../../../pom.xml</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<groupId>org.apache.tuscany.sca</groupId>
|
||||||
|
<artifactId>sample-binding-comet-single-response-webapp</artifactId>
|
||||||
|
<packaging>war</packaging>
|
||||||
|
<version>1.0</version>
|
||||||
|
<name>Apache Tuscany SCA Sample binding.comet Single Response Webapp</name>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.tuscany.sca</groupId>
|
||||||
|
<artifactId>tuscany-binding-comet-runtime</artifactId>
|
||||||
|
<version>2.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax</groupId>
|
||||||
|
<artifactId>javaee-web-api</artifactId>
|
||||||
|
<version>6.0</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.tuscany.sca</groupId>
|
||||||
|
<artifactId>tuscany-base-runtime-pom</artifactId>
|
||||||
|
<version>2.0-SNAPSHOT</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
<version>r09</version>
|
||||||
|
<type>jar</type>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.apache.tuscany.sca.sample.comet;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class Country implements Serializable {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package org.apache.tuscany.sca.sample.comet;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.oasisopen.sca.annotation.Remotable;
|
||||||
|
|
||||||
|
@Remotable
|
||||||
|
public interface CountryRepository {
|
||||||
|
|
||||||
|
List<Country> getStartingWith(String text);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,64 @@
|
||||||
|
package org.apache.tuscany.sca.sample.comet;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.oasisopen.sca.ComponentContext;
|
||||||
|
import org.oasisopen.sca.annotation.Constructor;
|
||||||
|
import org.oasisopen.sca.annotation.Context;
|
||||||
|
import org.oasisopen.sca.annotation.EagerInit;
|
||||||
|
import org.oasisopen.sca.annotation.Init;
|
||||||
|
import org.oasisopen.sca.annotation.Property;
|
||||||
|
import org.oasisopen.sca.annotation.Scope;
|
||||||
|
import org.oasisopen.sca.annotation.Service;
|
||||||
|
|
||||||
|
@EagerInit
|
||||||
|
@Scope("COMPOSITE")
|
||||||
|
@Service(CountryRepository.class)
|
||||||
|
public class CountryRepositoryImpl implements CountryRepository {
|
||||||
|
|
||||||
|
@Context
|
||||||
|
protected ComponentContext context;
|
||||||
|
|
||||||
|
private String fileName;
|
||||||
|
private List<Country> countries;
|
||||||
|
|
||||||
|
@Constructor
|
||||||
|
public CountryRepositoryImpl(@Property(name = "fileName") String fileName) {
|
||||||
|
this.fileName = fileName;
|
||||||
|
countries = new ArrayList<Country>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Init
|
||||||
|
public void start() {
|
||||||
|
try {
|
||||||
|
BufferedReader reader = new BufferedReader(new FileReader(fileName));
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
Country c = new Country();
|
||||||
|
c.setName(line);
|
||||||
|
countries.add(c);
|
||||||
|
}
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Country> getStartingWith(String text) {
|
||||||
|
List<Country> result = new ArrayList<Country>();
|
||||||
|
for (Country c : countries) {
|
||||||
|
if (c.getName().toLowerCase().startsWith(text.toLowerCase())) {
|
||||||
|
result.add(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package org.apache.tuscany.sca.sample.comet;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.oasisopen.sca.annotation.Remotable;
|
||||||
|
|
||||||
|
@Remotable
|
||||||
|
public interface CountryService {
|
||||||
|
|
||||||
|
List<Country> getCountriesStartingWith(String text);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package org.apache.tuscany.sca.sample.comet;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.oasisopen.sca.annotation.Reference;
|
||||||
|
import org.oasisopen.sca.annotation.Service;
|
||||||
|
|
||||||
|
@Service(CountryService.class)
|
||||||
|
public class CountryServiceImpl implements CountryService {
|
||||||
|
|
||||||
|
@Reference
|
||||||
|
protected CountryRepository repository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Country> getCountriesStartingWith(String text) {
|
||||||
|
return repository.getStartingWith(text);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
Manifest-Version: 1.0
|
||||||
|
|
|
@ -0,0 +1,195 @@
|
||||||
|
Afghanistan
|
||||||
|
Albania
|
||||||
|
Algeria
|
||||||
|
Andorra
|
||||||
|
Angola
|
||||||
|
Antigua & Barbuda
|
||||||
|
Argentina
|
||||||
|
Armenia
|
||||||
|
Australia
|
||||||
|
Austria
|
||||||
|
Azerbaijan
|
||||||
|
Bahamas
|
||||||
|
Bahrain
|
||||||
|
Bangladesh
|
||||||
|
Barbados
|
||||||
|
Belarus
|
||||||
|
Belgium
|
||||||
|
Belize
|
||||||
|
Benin
|
||||||
|
Bhutan
|
||||||
|
Bolivia
|
||||||
|
Bosnia & Herzegovina
|
||||||
|
Botswana
|
||||||
|
Brazil
|
||||||
|
Brunei
|
||||||
|
Bulgaria
|
||||||
|
Burkina Faso
|
||||||
|
Burundi
|
||||||
|
Cambodia
|
||||||
|
Cameroon
|
||||||
|
Canada
|
||||||
|
Cape Verde
|
||||||
|
Central African Republic
|
||||||
|
Chad
|
||||||
|
Chile
|
||||||
|
China
|
||||||
|
Colombia
|
||||||
|
Comoros
|
||||||
|
Congo
|
||||||
|
Congo Democratic Republic of
|
||||||
|
Costa Rica
|
||||||
|
Cote d'Ivoire
|
||||||
|
Croatia
|
||||||
|
Cuba
|
||||||
|
Cyprus
|
||||||
|
Czech Republic
|
||||||
|
Denmark
|
||||||
|
Djibouti
|
||||||
|
Dominica
|
||||||
|
Dominican Republic
|
||||||
|
Ecuador
|
||||||
|
East Timor
|
||||||
|
Egypt
|
||||||
|
El Salvador
|
||||||
|
Equatorial Guinea
|
||||||
|
Eritrea
|
||||||
|
Estonia
|
||||||
|
Ethiopia
|
||||||
|
Fiji
|
||||||
|
Finland
|
||||||
|
France
|
||||||
|
Gabon
|
||||||
|
Gambia
|
||||||
|
Georgia
|
||||||
|
Germany
|
||||||
|
Ghana
|
||||||
|
Greece
|
||||||
|
Grenada
|
||||||
|
Guatemala
|
||||||
|
Guinea
|
||||||
|
Guinea-Bissau
|
||||||
|
Guyana
|
||||||
|
Haiti
|
||||||
|
Honduras
|
||||||
|
Hungary
|
||||||
|
Iceland
|
||||||
|
India
|
||||||
|
Indonesia
|
||||||
|
Iran
|
||||||
|
Iraq
|
||||||
|
Ireland
|
||||||
|
Israel
|
||||||
|
Italy
|
||||||
|
Jamaica
|
||||||
|
Japan
|
||||||
|
Jordan
|
||||||
|
Kazakhstan
|
||||||
|
Kenya
|
||||||
|
Kiribati
|
||||||
|
Korea North
|
||||||
|
Korea South
|
||||||
|
Kosovo
|
||||||
|
Kuwait
|
||||||
|
Kyrgyzstan
|
||||||
|
Laos
|
||||||
|
Latvia
|
||||||
|
Lebanon
|
||||||
|
Lesotho
|
||||||
|
Liberia
|
||||||
|
Libya
|
||||||
|
Liechtenstein
|
||||||
|
Lithuania
|
||||||
|
Luxembourg
|
||||||
|
Macedonia
|
||||||
|
Madagascar
|
||||||
|
Malawi
|
||||||
|
Malaysia
|
||||||
|
Maldives
|
||||||
|
Mali
|
||||||
|
Malta
|
||||||
|
Marshall Islands
|
||||||
|
Mauritania
|
||||||
|
Mauritius
|
||||||
|
Mexico
|
||||||
|
Micronesia
|
||||||
|
Moldova
|
||||||
|
Monaco
|
||||||
|
Mongolia
|
||||||
|
Montenegro
|
||||||
|
Morocco
|
||||||
|
Mozambique
|
||||||
|
Myanmar (Burma)
|
||||||
|
Namibia
|
||||||
|
Nauru
|
||||||
|
Nepal
|
||||||
|
The Netherlands
|
||||||
|
New Zealand
|
||||||
|
Nicaragua
|
||||||
|
Niger
|
||||||
|
Nigeria
|
||||||
|
Norway
|
||||||
|
Oman
|
||||||
|
Pakistan
|
||||||
|
Palau
|
||||||
|
Palestinian State*
|
||||||
|
Panama
|
||||||
|
Papua New Guinea
|
||||||
|
Paraguay
|
||||||
|
Peru
|
||||||
|
The Philippines
|
||||||
|
Poland
|
||||||
|
Portugal
|
||||||
|
Qatar
|
||||||
|
Romania
|
||||||
|
Russia
|
||||||
|
Rwanda
|
||||||
|
St. Kitts & Nevis
|
||||||
|
St. Lucia
|
||||||
|
St. Vincent & The Grenadines
|
||||||
|
Samoa
|
||||||
|
San Marino
|
||||||
|
Sao Tome & Principe
|
||||||
|
Saudi Arabia
|
||||||
|
Senegal
|
||||||
|
Serbia
|
||||||
|
Seychelles
|
||||||
|
Sierra Leone
|
||||||
|
Singapore
|
||||||
|
Slovakia
|
||||||
|
Slovenia
|
||||||
|
Solomon Islands
|
||||||
|
Somalia
|
||||||
|
South Africa
|
||||||
|
Spain
|
||||||
|
Sri Lanka
|
||||||
|
Sudan
|
||||||
|
Suriname
|
||||||
|
Swaziland
|
||||||
|
Sweden
|
||||||
|
Switzerland
|
||||||
|
Syria
|
||||||
|
Taiwan
|
||||||
|
Tajikistan
|
||||||
|
Tanzania
|
||||||
|
Thailand
|
||||||
|
Togo
|
||||||
|
Tonga
|
||||||
|
Trinidad & Tobago
|
||||||
|
Tunisia
|
||||||
|
Turkey
|
||||||
|
Turkmenistan
|
||||||
|
Tuvalu
|
||||||
|
Uganda
|
||||||
|
Ukraine
|
||||||
|
United Arab Emirates
|
||||||
|
United Kingdom
|
||||||
|
United States of America
|
||||||
|
Uruguay
|
||||||
|
Uzbekistan
|
||||||
|
Vanuatu
|
||||||
|
Vatican City (Holy See)
|
||||||
|
Venezuela
|
||||||
|
Yemen
|
||||||
|
Zambia
|
||||||
|
Zimbabwe
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- * Licensed to the Apache Software Foundation (ASF) under one * or more
|
||||||
|
contributor license agreements. See the NOTICE file * distributed with this
|
||||||
|
work for additional information * regarding copyright ownership. The ASF
|
||||||
|
licenses this file * to you under the Apache License, Version 2.0 (the *
|
||||||
|
"License"); you may not use this file except in compliance * with the License.
|
||||||
|
You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* * Unless required by applicable law or agreed to in writing, * software
|
||||||
|
distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT
|
||||||
|
WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the
|
||||||
|
License for the * specific language governing permissions and limitations
|
||||||
|
* under the License. -->
|
||||||
|
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
|
||||||
|
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
|
||||||
|
xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
|
||||||
|
targetNamespace="http://samples" name="Chat">
|
||||||
|
|
||||||
|
<component name="CountryServiceComponent">
|
||||||
|
<implementation.java
|
||||||
|
class="org.apache.tuscany.sca.sample.comet.CountryServiceImpl" />
|
||||||
|
<service name="CountryService">
|
||||||
|
<interface.java interface="org.apache.tuscany.sca.sample.comet.CountryService" />
|
||||||
|
<tuscany:binding.comet />
|
||||||
|
</service>
|
||||||
|
<reference name="repository" target="CountryRepositoryComponent" />
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<component name="CountryRepositoryComponent">
|
||||||
|
<implementation.java
|
||||||
|
class="org.apache.tuscany.sca.sample.comet.CountryRepositoryImpl" />
|
||||||
|
<property name="fileName">/home/fmoga/coding/apache-tuscany/contrib/samples/learning-more/binding-comet/single-response-webapp/src/main/webapp/WEB-INF/countries.txt</property>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
</composite>
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
-->
|
||||||
|
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0">
|
||||||
|
<display-name>Apache Tuscany Stock Comet Sample</display-name>
|
||||||
|
<filter>
|
||||||
|
<filter-name>tuscany</filter-name>
|
||||||
|
<filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
|
||||||
|
<async-supported>true</async-supported>
|
||||||
|
</filter>
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>tuscany</filter-name>
|
||||||
|
<url-pattern>/*</url-pattern>
|
||||||
|
</filter-mapping>
|
||||||
|
<welcome-file-list>
|
||||||
|
<welcome-file>index.html</welcome-file>
|
||||||
|
</welcome-file-list>
|
||||||
|
</web-app>
|
|
@ -0,0 +1,69 @@
|
||||||
|
<!--
|
||||||
|
* 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.
|
||||||
|
-->
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Apache Tuscany Comet Sample</title>
|
||||||
|
<!-- Tuscany Comet Javascript Toolkit is dependent on jQuery -->
|
||||||
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
|
||||||
|
<script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var user = "";
|
||||||
|
|
||||||
|
$(document).ready(function()
|
||||||
|
{
|
||||||
|
// Tuscany Comet specific API
|
||||||
|
SCA.TuscanyComet.connect();
|
||||||
|
|
||||||
|
$("#country").keyup(function() {
|
||||||
|
var text = $("#country").val();
|
||||||
|
if (text != "") {
|
||||||
|
SCA.CometComponentContext.CountryService.getCountriesStartingWith(text, callback);
|
||||||
|
} else {
|
||||||
|
$("#suggestions").html("");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#country").focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
function callback(response) {
|
||||||
|
var html = '<ul>';
|
||||||
|
$.each(response, function(index, country) {
|
||||||
|
html += '<li>' + country.name + "</li>"
|
||||||
|
});
|
||||||
|
html += '</ul>'
|
||||||
|
$("#suggestions").html(html);
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h2>Apache Tuscany Comet Sample</h2>
|
||||||
|
<h3>Real-time suggestions</h3>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>Enter a country name</td>
|
||||||
|
<td><input type="text" id='country'/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div id="suggestions">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Add table
Reference in a new issue