Add the helloworld-jsp app that can be run on Google App Engine
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@816722 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
28185a3657
commit
c5bbbaa969
25 changed files with 537 additions and 0 deletions
10
sandbox/rfeng/helloworld-jsp-google-appengine/.classpath
Normal file
10
sandbox/rfeng/helloworld-jsp-google-appengine/.classpath
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="war/WEB-INF/lib/tuscany-sca-api-2.0-SNAPSHOT.jar"/>
|
||||
<classpathentry kind="lib" path="war/WEB-INF/lib/tuscany-implementation-web-2.0-SNAPSHOT.jar"/>
|
||||
<classpathentry kind="lib" path="war/WEB-INF/lib/tuscany-implementation-web-runtime-2.0-SNAPSHOT.jar"/>
|
||||
<classpathentry kind="output" path="war/WEB-INF/classes"/>
|
||||
</classpath>
|
34
sandbox/rfeng/helloworld-jsp-google-appengine/.project
Normal file
34
sandbox/rfeng/helloworld-jsp-google-appengine/.project
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>sample-helloworld-jsp-google-appengine</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.google.appengine.eclipse.core.enhancerbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.google.appengine.eclipse.core.projectValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>com.google.appengine.eclipse.core.gaeNature</nature>
|
||||
<nature>com.google.gdt.eclipse.core.webAppNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,3 @@
|
|||
#Thu Sep 17 15:10:38 PDT 2009
|
||||
eclipse.preferences.version=1
|
||||
filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.5.jar|appengine-api-labs-1.2.5.jar|datanucleus-appengine-1.0.3.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar
|
|
@ -0,0 +1,3 @@
|
|||
#Thu Sep 17 15:54:49 PDT 2009
|
||||
eclipse.preferences.version=1
|
||||
jarsExcludedFromWebInfLib=
|
107
sandbox/rfeng/helloworld-jsp-google-appengine/pom.xml
Normal file
107
sandbox/rfeng/helloworld-jsp-google-appengine/pom.xml
Normal file
|
@ -0,0 +1,107 @@
|
|||
<?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>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.apache.tuscany.sca</groupId>
|
||||
<artifactId>tuscany-sca</artifactId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>sample-helloworld-jsp-google-appengine</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<name>Apache Tuscany SCA Sample Helloworld JSP on Google App Engine</name>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.tuscany.sca</groupId>
|
||||
<artifactId>tuscany-sca-api</artifactId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.tuscany.sca</groupId>
|
||||
<artifactId>tuscany-implementation-web-runtime</artifactId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>${artifactId}</finalName>
|
||||
<!--
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
-->
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-eclipse-plugin</artifactId>
|
||||
<configuration>
|
||||
<projectnatures>
|
||||
<projectnature>org.eclipse.jdt.core.javanature</projectnature>
|
||||
<projectnature>com.google.appengine.eclipse.core.gaeNature</projectnature>
|
||||
<projectnature>com.google.gdt.eclipse.core.webAppNature</projectnature>
|
||||
</projectnatures>
|
||||
<buildcommands>
|
||||
<buildCommand>org.eclipse.jdt.core.javabuilder</buildCommand>
|
||||
<buildCommand>com.google.appengine.eclipse.core.enhancerbuilder</buildCommand>
|
||||
<buildCommand>com.google.appengine.eclipse.core.projectValidator> </buildCommand>
|
||||
<buildCommand>com.google.gdt.eclipse.core.webAppProjectValidator> </buildCommand>
|
||||
</buildcommands>
|
||||
<classpathContainers>
|
||||
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
|
||||
<classpathContainer>com.google.appengine.eclipse.core.GAE_CONTAINER</classpathContainer>
|
||||
</classpathContainers>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<version>2.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-dependencies</id>
|
||||
<phase>process-sources</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>war/WEB-INF/lib</outputDirectory>
|
||||
<overWriteIfNewer>true</overWriteIfNewer>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>2.1-beta-1</version>
|
||||
<configuration>
|
||||
<warSourceDirectory>war</warSourceDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
|
||||
|
||||
<persistence-manager-factory name="transactions-optional">
|
||||
<property name="javax.jdo.PersistenceManagerFactoryClass"
|
||||
value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
|
||||
<property name="javax.jdo.option.ConnectionURL" value="appengine"/>
|
||||
<property name="javax.jdo.option.NontransactionalRead" value="true"/>
|
||||
<property name="javax.jdo.option.NontransactionalWrite" value="true"/>
|
||||
<property name="javax.jdo.option.RetainValues" value="true"/>
|
||||
<property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
|
||||
</persistence-manager-factory>
|
||||
</jdoconfig>
|
|
@ -0,0 +1,24 @@
|
|||
# A default log4j configuration for log4j users.
|
||||
#
|
||||
# To use this configuration, deploy it into your application's WEB-INF/classes
|
||||
# directory. You are also encouraged to edit it as you like.
|
||||
|
||||
# Configure the console as our one appender
|
||||
log4j.appender.A1=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
|
||||
|
||||
# tighten logging on the DataNucleus Categories
|
||||
log4j.category.DataNucleus.JDO=WARN, A1
|
||||
log4j.category.DataNucleus.Persistence=WARN, A1
|
||||
log4j.category.DataNucleus.Cache=WARN, A1
|
||||
log4j.category.DataNucleus.MetaData=WARN, A1
|
||||
log4j.category.DataNucleus.General=WARN, A1
|
||||
log4j.category.DataNucleus.Utility=WARN, A1
|
||||
log4j.category.DataNucleus.Transaction=WARN, A1
|
||||
log4j.category.DataNucleus.Datastore=WARN, A1
|
||||
log4j.category.DataNucleus.ClassLoading=WARN, A1
|
||||
log4j.category.DataNucleus.Plugin=WARN, A1
|
||||
log4j.category.DataNucleus.ValueGeneration=WARN, A1
|
||||
log4j.category.DataNucleus.Enhancer=WARN, A1
|
||||
log4j.category.DataNucleus.SchemaTool=WARN, A1
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* 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 sample;
|
||||
|
||||
public interface HelloworldService {
|
||||
|
||||
String sayHello(String name);
|
||||
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package sample;
|
||||
|
||||
import org.oasisopen.sca.annotation.EagerInit;
|
||||
import org.oasisopen.sca.annotation.Init;
|
||||
import org.oasisopen.sca.annotation.Scope;
|
||||
|
||||
@EagerInit
|
||||
@Scope("COMPOSITE")
|
||||
public class HelloworldServiceImpl implements HelloworldService {
|
||||
|
||||
public String sayHello(String name) {
|
||||
return "Hello " + name;
|
||||
}
|
||||
|
||||
@Init
|
||||
public void init() {
|
||||
System.out.println("Starting..." + sayHello("world"));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package sample.appengine;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.google.appengine.api.users.User;
|
||||
import com.google.appengine.api.users.UserService;
|
||||
import com.google.appengine.api.users.UserServiceFactory;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class HelloWorldServlet extends HttpServlet {
|
||||
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
|
||||
resp.setContentType("text/html");
|
||||
UserService userService = UserServiceFactory.getUserService();
|
||||
User user = userService.getCurrentUser();
|
||||
if (user == null) {
|
||||
resp.sendRedirect(userService.createLoginURL(req.getRequestURI()));
|
||||
} else {
|
||||
PrintWriter pw = resp.getWriter();
|
||||
pw.println("<html><head><title>Test</title></head><body>");
|
||||
pw.println("<h1>");
|
||||
pw.println("Welcome to the SCA Cloud hosted by Google App Engine: " + user);
|
||||
if (user != null) {
|
||||
pw.println("User ID: " + user.getUserId() + " E-mail: " + user.getEmail());
|
||||
}
|
||||
pw.println("</h1></body></html>");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
|
||||
<application>scacloud</application>
|
||||
<version>2</version>
|
||||
|
||||
<!-- Configure java.util.logging -->
|
||||
<system-properties>
|
||||
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
|
||||
</system-properties>
|
||||
|
||||
</appengine-web-app>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,28 @@
|
|||
# A default java.util.logging configuration.
|
||||
# (All App Engine logging is through java.util.logging by default).
|
||||
#
|
||||
# To use this configuration, copy it into your application's WEB-INF
|
||||
# folder and add the following to your appengine-web.xml:
|
||||
#
|
||||
# <system-properties>
|
||||
# <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
|
||||
# </system-properties>
|
||||
#
|
||||
|
||||
# Set the default logging level for all loggers to WARNING
|
||||
.level = WARNING
|
||||
|
||||
# Set the default logging level for ORM, specifically, to WARNING
|
||||
DataNucleus.JDO.level=WARNING
|
||||
DataNucleus.Persistence.level=WARNING
|
||||
DataNucleus.Cache.level=WARNING
|
||||
DataNucleus.MetaData.level=WARNING
|
||||
DataNucleus.General.level=WARNING
|
||||
DataNucleus.Utility.level=WARNING
|
||||
DataNucleus.Transaction.level=WARNING
|
||||
DataNucleus.Datastore.level=WARNING
|
||||
DataNucleus.ClassLoading.level=WARNING
|
||||
DataNucleus.Plugin.level=WARNING
|
||||
DataNucleus.ValueGeneration.level=WARNING
|
||||
DataNucleus.Enhancer.level=WARNING
|
||||
DataNucleus.SchemaTool.level=WARNING
|
|
@ -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/200903"
|
||||
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
|
||||
targetNamespace="http://samples"
|
||||
name="Helloworld">
|
||||
|
||||
<component name="foo">
|
||||
<implementation.web web-uri=""/>
|
||||
<reference name="service" target="HelloworldComponent"/>
|
||||
</component>
|
||||
|
||||
<component name="HelloworldComponent">
|
||||
<implementation.java class="sample.HelloworldServiceImpl"/>
|
||||
</component>
|
||||
|
||||
</composite>
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="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/javaee
|
||||
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
|
||||
version="2.5">
|
||||
<servlet>
|
||||
<servlet-name>HelloWorld</servlet-name>
|
||||
<servlet-class>sample.appengine.HelloWorldServlet</servlet-class>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>HelloWorld</servlet-name>
|
||||
<url-pattern>/helloworld</url-pattern>
|
||||
</servlet-mapping>
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
<filter>
|
||||
<filter-name>tuscany</filter-name>
|
||||
<filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>tuscany</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
</web-app>
|
35
sandbox/rfeng/helloworld-jsp-google-appengine/war/error.jsp
Normal file
35
sandbox/rfeng/helloworld-jsp-google-appengine/war/error.jsp
Normal file
|
@ -0,0 +1,35 @@
|
|||
<%@ page isErrorPage="true" import="java.io.*"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>Exceptional Even Occurred!</title>
|
||||
<style>
|
||||
body,p {
|
||||
font-family: Tahoma;
|
||||
font-size: 10pt;
|
||||
padding-left: 30;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-size: 8pt;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<%-- Exception Handler --%>
|
||||
<font color="red"> <%=exception.toString()%><br>
|
||||
</font>
|
||||
|
||||
<%
|
||||
out.println("<!--");
|
||||
StringWriter sw = new StringWriter();
|
||||
PrintWriter pw = new PrintWriter(sw);
|
||||
exception.printStackTrace(pw);
|
||||
out.print(sw);
|
||||
sw.close();
|
||||
pw.close();
|
||||
out.println("-->");
|
||||
%>
|
||||
|
||||
</body>
|
||||
</html>
|
57
sandbox/rfeng/helloworld-jsp-google-appengine/war/hello.jsp
Normal file
57
sandbox/rfeng/helloworld-jsp-google-appengine/war/hello.jsp
Normal file
|
@ -0,0 +1,57 @@
|
|||
<!--
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
-->
|
||||
|
||||
<%@ page contentType="text/html;charset=UTF-8" language="java"
|
||||
errorPage="error.jsp"%>
|
||||
<%@ page import="com.google.appengine.api.users.User"%>
|
||||
<%@ page import="com.google.appengine.api.users.UserService"%>
|
||||
<%@ page import="com.google.appengine.api.users.UserServiceFactory"%>
|
||||
|
||||
<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca"%>
|
||||
|
||||
<sca:reference name="service" type="sample.HelloworldService" />
|
||||
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<%
|
||||
UserService userService = UserServiceFactory.getUserService();
|
||||
User user = userService.getCurrentUser();
|
||||
if (user != null) {
|
||||
%>
|
||||
<p>Hello, <%=user.getNickname()%>! (You can <a
|
||||
href="<%=userService.createLogoutURL(request.getRequestURI())%>">sign
|
||||
out</a>.)</p>
|
||||
<%
|
||||
} else {
|
||||
%>
|
||||
<p>Hello! <a
|
||||
href="<%=userService.createLoginURL(request.getRequestURI())%>">Sign
|
||||
in</a> to include your name with greetings you post.</p>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
<h2>Apache Tuscany Helloworld JSP Sample</h2>
|
||||
|
||||
Calling HelloworldService sayHello("world, "+$user) returns:
|
||||
|
||||
<p><%=service.sayHello("world ("+user+")")%>
|
||||
</body>
|
||||
</html>
|
36
sandbox/rfeng/helloworld-jsp-google-appengine/war/index.html
Normal file
36
sandbox/rfeng/helloworld-jsp-google-appengine/war/index.html
Normal file
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- The HTML 4.01 Transitional DOCTYPE declaration-->
|
||||
<!-- above set at the top of the file will set -->
|
||||
<!-- the browser's rendering engine into -->
|
||||
<!-- "Quirks Mode". Replacing this declaration -->
|
||||
<!-- with a "Standards Mode" doctype is supported, -->
|
||||
<!-- but may lead to some differences in layout. -->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title>SCA Cloud on Google App Engine</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Tuscany SCA on Google App Engine</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2" style="font-weight: bold;">Available Servlets:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="hello.jsp" />First SCA Application - Hello World!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="helloworld" />A Simple HelloWorld without SCA</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://appengine.google.com/">Admin</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Brought to you by: <a href="http://tuscany.apache.org">Apache Tuscany - http://tuscany.apache.org</a>
|
||||
<p>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue