summaryrefslogtreecommitdiffstats
path: root/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca-contrib/samples/calculator-ws-secure-webapp/src/main')
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddService.java31
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddServiceImpl.java35
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorClient.java47
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorService.java35
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorServiceImpl.java69
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideService.java28
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideServiceImpl.java30
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyService.java28
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyServiceImpl.java30
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractService.java31
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractServiceImpl.java30
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ClientPWCBHandler.java58
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ServerPWCBHandler.java59
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/Calculator.composite67
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler21
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/calculatorKeys.jksbin2706 -> 0 bytes
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/definitions.xml198
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/security.properties20
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/META-INF/sca-contribution.xml24
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/geronimo-web.xml33
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/web.xml41
-rw-r--r--java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/calc.jsp50
22 files changed, 0 insertions, 965 deletions
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddService.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddService.java
deleted file mode 100644
index c7e6383559..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddService.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the add service
- */
-@Remotable
-public interface AddService {
-
- double add(double n1, double n2);
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddServiceImpl.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddServiceImpl.java
deleted file mode 100644
index c79c7b0395..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/AddServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-import org.oasisopen.sca.annotation.Service;
-
-/**
- * An implementation of the Add service
- */
-@Service(AddService.class)
-public class AddServiceImpl implements AddService {
-
- public double add(double n1, double n2) {
- System.err.println("********* Adding ***** " + n1 + " to " + n2);
- System.err.println("Adding " + n1 + " to " + n2);
- return n1 + n2;
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorClient.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorClient.java
deleted file mode 100644
index 4787b728f4..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorClient.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package calculator;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-/**
- * This client program shows how to create an SCA runtime, start it,
- * and locate and invoke a SCA component
- *
- * (not really necessary as this sample runs in a webapp)
- */
-public class CalculatorClient {
- public static void main(String[] args) throws Exception {
-
- SCADomain scaDomain = SCADomain.newInstance("Calculator.composite");
- CalculatorService calculatorService =
- scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent");
-
- // Calculate
- System.out.println("3 + 2=" + calculatorService.add(3, 2));
- System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
- System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
- System.out.println("3 / 2=" + calculatorService.divide(3, 2));
-
- scaDomain.close();
-
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorService.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorService.java
deleted file mode 100644
index ad87375529..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorService.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-
-/**
- * The Calculator service interface.
- */
-public interface CalculatorService {
-
- double add(double n1, double n2);
-
- double subtract(double n1, double n2);
-
- double multiply(double n1, double n2);
-
- double divide(double n1, double n2);
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorServiceImpl.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorServiceImpl.java
deleted file mode 100644
index 0f03d6e7a1..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/CalculatorServiceImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-import org.oasisopen.sca.annotation.Reference;
-
-/**
- * An implementation of the Calculator service.
- */
-public class CalculatorServiceImpl implements CalculatorService {
-
- private AddService addService;
- private SubtractService subtractService;
- private MultiplyService multiplyService;
- private DivideService divideService;
-
- @Reference
- public void setAddService(AddService addService) {
- this.addService = addService;
- }
-
- @Reference
- public void setSubtractService(SubtractService subtractService) {
- this.subtractService = subtractService;
- }
-
- @Reference
- public void setDivideService(DivideService divideService) {
- this.divideService = divideService;
- }
-
- @Reference
- public void setMultiplyService(MultiplyService multiplyService) {
- this.multiplyService = multiplyService;
- }
-
- public double add(double n1, double n2) {
- return addService.add(n1, n2);
- }
-
- public double subtract(double n1, double n2) {
- return subtractService.subtract(n1, n2);
- }
-
- public double multiply(double n1, double n2) {
- return multiplyService.multiply(n1, n2);
- }
-
- public double divide(double n1, double n2) {
- return divideService.divide(n1, n2);
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideService.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideService.java
deleted file mode 100644
index 835e4fda6d..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-/**
- * The interface for the divide service
- */
-public interface DivideService {
-
- double divide(double n1, double n2);
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideServiceImpl.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideServiceImpl.java
deleted file mode 100644
index 8c33862f6d..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/DivideServiceImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-/**
- * An implementation of the Divide service.
- */
-public class DivideServiceImpl implements DivideService {
-
- public double divide(double n1, double n2) {
- return n1 / n2;
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyService.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyService.java
deleted file mode 100644
index db568cc762..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-/**
- * The interface for the multiply service
- */
-public interface MultiplyService {
-
- double multiply(double n1, double n2);
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyServiceImpl.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyServiceImpl.java
deleted file mode 100644
index c7fbc73c00..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/MultiplyServiceImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-/**
- * An implementation of the Multiply service.
- */
-public class MultiplyServiceImpl implements MultiplyService {
-
- public double multiply(double n1, double n2) {
- return n1 * n2;
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractService.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractService.java
deleted file mode 100644
index 8f6af2f224..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractService.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the subtract service
- */
-@Remotable
-public interface SubtractService {
-
- double subtract(double n1, double n2);
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractServiceImpl.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractServiceImpl.java
deleted file mode 100644
index 1a7f145ad8..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/SubtractServiceImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-/**
- * An implementation of the subtract service.
- */
-public class SubtractServiceImpl implements SubtractService {
-
- public double subtract(double n1, double n2) {
- return n1 - n2;
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ClientPWCBHandler.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ClientPWCBHandler.java
deleted file mode 100644
index 9625c0d692..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ClientPWCBHandler.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator.security;
-
-import java.io.IOException;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-/**
- * Sample userid passwd generation class
- */
-public class ClientPWCBHandler implements CallbackHandler {
-
- public void handle(Callback[] callbacks) throws IOException,
- UnsupportedCallbackException {
- for (int i = 0; i < callbacks.length; i++) {
- System.out.println("*** Calling Client UserId/Password Handler .... ");
- WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
- System.out.println("User Id = " + pwcb.getIdentifer());
- System.out.println("Set Password = " + pwcb.getPassword());
- System.out.println("Usage = " + pwcb.getUsage());
- if ( pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN ) {
- if ( pwcb.getIdentifer().equals("CalculatorUser")){
- pwcb.setPassword("CalculatorUserPasswd");
- } else {
- throw new UnsupportedCallbackException(pwcb, "Authentication Failed : UserId - Password mismatch");
- }
- } else if ( pwcb.getUsage() == WSPasswordCallback.SIGNATURE ) {
- if ( pwcb.getIdentifer().equals("CalculatorUser")) {
- pwcb.setPassword("CalculatorUserPasswd");
- } else {
- pwcb.setPassword("CalculatorAdmin");
- }
- }
- }
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ServerPWCBHandler.java b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ServerPWCBHandler.java
deleted file mode 100644
index 23a62680c5..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/java/calculator/security/ServerPWCBHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator.security;
-
-import java.io.IOException;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-/**
- * Sample userid passwd generation class
- */
-public class ServerPWCBHandler implements CallbackHandler {
-
- public void handle(Callback[] callbacks) throws IOException,
- UnsupportedCallbackException {
- for (int i = 0; i < callbacks.length; i++) {
- System.out.println("*** Calling Server User/Passwd Handler....");
- WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
- System.out.println("User Id = " + pwcb.getIdentifer());
- System.out.println("Password = " + pwcb.getPassword());
- System.out.println("Usage = " + pwcb.getUsage());
- if ( pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN ) {
- if ( pwcb.getIdentifer().equals("CalculatorUser") &&
- pwcb.getPassword().equals("CalculatorUserPasswd") ){
- return;
- } else {
- throw new UnsupportedCallbackException(pwcb, "Authentication Failed : UserId - Password mismatch");
- }
- } else if ( pwcb.getUsage() == WSPasswordCallback.SIGNATURE ) {
- if ( pwcb.getIdentifer().equals("CalculatorUser")) {
- pwcb.setPassword("CalculatorUserPasswd");
- } else {
- pwcb.setPassword("CalculatorAdmin");
- }
- }
- }
- }
-
-}
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/Calculator.composite b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/Calculator.composite
deleted file mode 100644
index 4d511f887e..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/Calculator.composite
+++ /dev/null
@@ -1,67 +0,0 @@
-<?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://www.osoa.org/xmlns/sca/1.0"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- xmlns:calc="http://calculator"
- name="Calculator">
-
- <component name="CalculatorServiceComponent">
- <implementation.java class="calculator.CalculatorServiceImpl"/>
- <reference name="addService" >
- <interface.java interface="calculator.AddService" />
- <binding.ws uri="http://localhost:8080/sample-calculator-ws-secure-webapp/AddServiceComponent"
- requires="authentication" />
- </reference>
- <reference name="subtractService">
- <interface.java interface="calculator.SubtractService" />
- <binding.ws uri="http://localhost:8080/sample-calculator-ws-secure-webapp/SubtractServiceComponent"
- requires="integrity" />
- </reference>
- <reference name="multiplyService" target="MultiplyServiceComponent"></reference>
- <reference name="divideService" target="DivideServiceComponent"></reference>
- </component>
-
- <component name="AddServiceComponent">
- <implementation.java class="calculator.AddServiceImpl"/>
- <service name="AddService">
- <interface.java interface="calculator.AddService" />
- <binding.ws requires="authentication"/>
- </service>
- </component>
-
- <component name="SubtractServiceComponent">
- <implementation.java class="calculator.SubtractServiceImpl"/>
- <service name="SubtractService">
- <interface.java interface="calculator.SubtractService" />
- <binding.ws requires="integrity"/>
- </service>
- </component>
-
- <component name="MultiplyServiceComponent">
- <implementation.java class="calculator.MultiplyServiceImpl"/>
- </component>
-
- <component name="DivideServiceComponent">
- <implementation.java class="calculator.DivideServiceImpl"/>
- </component>
-
-</composite>
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler
deleted file mode 100644
index 858e87a34f..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# PolicyHandlerClasses to interpret specific PolicyModels against specific QoS infrastructures
-# handler classname;qname=<policy intent addressed>;model=<policy model class>
-org.apache.tuscany.sca.policy.security.ws.Axis2ConfigParamPolicyHandler;intent=http://calculator#wsAuthentication,model=org.apache.tuscany.sca.policy.security.ws.Axis2ConfigParamPolicy
-org.apache.tuscany.sca.policy.security.ws.WSSecurityPolicyHandler;intent=http://calculator#wsIntegrity,model=org.apache.neethi.Policy \ No newline at end of file
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/calculatorKeys.jks b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/calculatorKeys.jks
deleted file mode 100644
index b6b244244b..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/calculatorKeys.jks
+++ /dev/null
Binary files differ
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/definitions.xml b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/definitions.xml
deleted file mode 100644
index 4611669bbd..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/definitions.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * 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.
--->
-<sca:definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- xmlns:calc="http://calculator">
-
-
- <!-- WS Security POLICY SETS -->
- <sca:policySet name="calc:wsAuthenticationPolicy"
- provides="sca:authentication"
- appliesTo="sca:service/sca:binding.ws"
- >
- <tuscany:wsConfigParam>
- <parameter name="InflowSecurity">
- <action>
- <items>UsernameToken</items>
- <passwordCallbackClass>calculator.security.ServerPWCBHandler</passwordCallbackClass>
- </action>
- </parameter>
- </tuscany:wsConfigParam>
- </sca:policySet>
-
- <sca:policySet name="calc:wsClientAuthenticationPolicy"
- provides="sca:authentication"
- appliesTo="sca:reference/sca:binding.ws">
- <tuscany:wsConfigParam>
- <parameter name="OutflowSecurity">
- <action>
- <items>UsernameToken</items>
- <user>CalculatorUser</user>
- <passwordCallbackClass>calculator.security.ClientPWCBHandler</passwordCallbackClass>" +
- <passwordType>PasswordText</passwordType>
- </action>
- </parameter>
- </tuscany:wsConfigParam>
- </sca:policySet>
-
-
- <sca:policySet name="tuscany:wsSecurityPolicyForIntegrity"
- provides="sca:integrity"
- appliesTo="sca:service/sca:binding.ws">
- <wsp:Policy wsu:Id="SignOnly"
- xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <wsp:Policy>
- <sp:InitiatorToken>
- <wsp:Policy>
- <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
- <wsp:Policy>
- <sp:WssX509V3Token10/>
- </wsp:Policy>
- </sp:X509Token>
- </wsp:Policy>
- </sp:InitiatorToken>
- <sp:RecipientToken>
- <wsp:Policy>
- <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
- <wsp:Policy>
- <sp:WssX509V3Token10/>
- </wsp:Policy>
- </sp:X509Token>
- </wsp:Policy>
- </sp:RecipientToken>
- <sp:AlgorithmSuite>
- <wsp:Policy>
- <sp:TripleDesRsa15/>
- </wsp:Policy>
- </sp:AlgorithmSuite>
- <sp:Layout>
- <wsp:Policy>
- <sp:Strict/>
- </wsp:Policy>
- </sp:Layout>
- <sp:IncludeTimestamp/>
- <sp:OnlySignEntireHeadersAndBody/>
- </wsp:Policy>
- </sp:AsymmetricBinding>
- <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <wsp:Policy>
- <sp:MustSupportRefKeyIdentifier/>
- <sp:MustSupportRefIssuerSerial/>
- </wsp:Policy>
- </sp:Wss10>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body/>
- </sp:SignedParts>
-
- <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
- <ramp:user>CalculatorAdmin</ramp:user>
- <ramp:encryptionUser>CalculatorAdmin</ramp:encryptionUser>
- <ramp:passwordCallbackClass>calculator.security.ServerPWCBHandler</ramp:passwordCallbackClass>
-
- <ramp:signatureCrypto>
- <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
- <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
- <ramp:property name="org.apache.ws.security.crypto.merlin.file">calculatorKeys.jks</ramp:property>
- <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">CalculatorAdmin</ramp:property>
- </ramp:crypto>
- </ramp:signatureCrypto>
- </ramp:RampartConfig>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- </sca:policySet>
-
- <sca:policySet name="tuscany:wsSecurityPolicyForClientIntegrity"
- provides="sca:integrity"
- appliesTo="sca:reference/sca:binding.ws">
- <wsp:Policy wsu:Id="SignOnly"
- xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <wsp:Policy>
- <sp:InitiatorToken>
- <wsp:Policy>
- <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
- <wsp:Policy>
- <sp:WssX509V3Token10/>
- </wsp:Policy>
- </sp:X509Token>
- </wsp:Policy>
- </sp:InitiatorToken>
- <sp:RecipientToken>
- <wsp:Policy>
- <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
- <wsp:Policy>
- <sp:WssX509V3Token10/>
- </wsp:Policy>
- </sp:X509Token>
- </wsp:Policy>
- </sp:RecipientToken>
- <sp:AlgorithmSuite>
- <wsp:Policy>
- <sp:TripleDesRsa15/>
- </wsp:Policy>
- </sp:AlgorithmSuite>
- <sp:Layout>
- <wsp:Policy>
- <sp:Strict/>
- </wsp:Policy>
- </sp:Layout>
- <sp:IncludeTimestamp/>
- <sp:OnlySignEntireHeadersAndBody/>
- </wsp:Policy>
- </sp:AsymmetricBinding>
- <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <wsp:Policy>
- <sp:MustSupportRefKeyIdentifier/>
- <sp:MustSupportRefIssuerSerial/>
- </wsp:Policy>
- </sp:Wss10>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body/>
- </sp:SignedParts>
-
- <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
- <ramp:user>CalculatorAdmin</ramp:user>
- <ramp:encryptionUser>CalculatorAdmin</ramp:encryptionUser>
- <ramp:passwordCallbackClass>calculator.security.ClientPWCBHandler</ramp:passwordCallbackClass>
-
- <ramp:signatureCrypto>
- <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
- <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
- <ramp:property name="org.apache.ws.security.crypto.merlin.file">calculatorKeys.jks</ramp:property>
- <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">CalculatorAdmin</ramp:property>
- </ramp:crypto>
- </ramp:signatureCrypto>
- </ramp:RampartConfig>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- </sca:policySet>
-
- </sca:definitions> \ No newline at end of file
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/security.properties b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/security.properties
deleted file mode 100644
index 8ef9928018..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/resources/security.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
-org.apache.ws.security.crypto.merlin.keystore.type=jks
-org.apache.ws.security.crypto.merlin.keystore.password=CalculatorAdmin
-org.apache.ws.security.crypto.merlin.file=calculatorKeys.jks
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/META-INF/sca-contribution.xml b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/META-INF/sca-contribution.xml
deleted file mode 100644
index fe09ab2e1b..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/META-INF/sca-contribution.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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.
--->
-<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample">
- <deployable composite="sample:Calculator"/>
-</contribution> \ No newline at end of file
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/geronimo-web.xml b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/geronimo-web.xml
deleted file mode 100644
index d5c02e354d..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/geronimo-web.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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="http://geronimo.apache.org/xml/ns/j2ee/web-2.0"
- xmlns:d="http://geronimo.apache.org/xml/ns/deployment-1.2">
-
- <d:environment>
- <d:moduleId>
- <d:groupId>org.apache.tuscany.sca</d:groupId>
- <d:artifactId>sample-calculator-ws-webapp</d:artifactId>
- <d:version>2.0-SNAPSHOT</d:version>
- <d:type>war</d:type>
- </d:moduleId>
- <!-- TUSCANY-1986 -->
- <d:inverse-classloading />
- </d:environment>
-</web-app>
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/web.xml b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index d3a62d39f4..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
-Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
-
- <display-name>Apache Tuscany Calculator Web Service Sample</display-name>
-
- <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>
-
- <welcome-file-list id="WelcomeFileList">
- <welcome-file>calc.jsp</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/calc.jsp b/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/calc.jsp
deleted file mode 100644
index 4c4366747d..0000000000
--- a/java/sca-contrib/samples/calculator-ws-secure-webapp/src/main/webapp/calc.jsp
+++ /dev/null
@@ -1,50 +0,0 @@
-<%--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
---%>
-
-<%@ page import="org.apache.tuscany.sca.host.embedded.SCADomain"%>
-<%@ page import="calculator.CalculatorService" %>
-
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%
- SCADomain scaDomain = (SCADomain) application.getAttribute("org.apache.tuscany.sca.SCADomain");
- CalculatorService calculatorService = (CalculatorService)scaDomain.getService(CalculatorService.class, "CalculatorServiceComponent");
-%>
-<html>
-<head><title>Calculator sample</title></head>
-
-<body>
-<table>
- <tr>
- <th>Expression</th><th>Result</th>
- </tr>
- <tr>
- <td>2 + 3</td><td><%= calculatorService.add(2, 3) %></td>
- </tr>
- <tr>
- <td>3 - 2</td><td><%= calculatorService.subtract(3, 2) %></td>
- </tr>
- <tr>
- <td>3 * 2</td><td><%= calculatorService.multiply(3, 2) %></td>
- </tr>
- <tr>
- <td>3 / 2</td><td><%= calculatorService.divide(3, 2) %></td>
- </tr>
-</table>
-</body>
-</html>