From 835a2194bfbd177374e79fa43825d01eb537822f Mon Sep 17 00:00:00 2001 From: slaws Date: Mon, 6 Jun 2011 10:26:44 +0000 Subject: TUSCANY-3867 - Take account of different scopes and eager init git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1132579 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/helloworld/HelloworldClientImpl.java | 68 ------------------ .../java/helloworld/HelloworldClientImplC.java | 78 +++++++++++++++++++++ .../java/helloworld/HelloworldClientImplCE.java | 80 ++++++++++++++++++++++ .../java/helloworld/HelloworldClientImplS.java | 78 +++++++++++++++++++++ 4 files changed, 236 insertions(+), 68 deletions(-) delete mode 100644 sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImpl.java create mode 100644 sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplC.java create mode 100644 sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplCE.java create mode 100644 sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplS.java (limited to 'sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld') diff --git a/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImpl.java b/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImpl.java deleted file mode 100644 index d8a56eacde..0000000000 --- a/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImpl.java +++ /dev/null @@ -1,68 +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 helloworld; - -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; - -@EagerInit -@Scope("COMPOSITE") -public class HelloworldClientImpl implements Helloworld { - - public static boolean throwTestExceptionOnInit = false; - public static boolean throwTestExceptionOnDestroy = false; - - - @Reference - public Helloworld service; - - @Init - public void initialize() throws Exception{ - if (throwTestExceptionOnInit) { - StatusImpl.appendStatus("Exception on init", "HelloworldClientImpl"); - throw new Exception("Exception on init"); - } - - StatusImpl.appendStatus("Init", "HelloworldClientImpl"); - System.out.println(">>>>>> " + sayHello("init")); - } - - @Destroy - public void destroy() throws Exception{ - if (throwTestExceptionOnDestroy) { - StatusImpl.appendStatus("Exception on destroy", "HelloworldClientImpl"); - throw new Exception("Exception on destroy"); - } - - StatusImpl.appendStatus("Destroy", "HelloworldClientImpl"); - } - - public String sayHello(String name) throws Exception { - return "Hi " + service.sayHello(name); - } - - public String throwException(String name) throws Exception { - throw new Exception("test exception"); - } - -} diff --git a/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplC.java b/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplC.java new file mode 100644 index 0000000000..931e61677d --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplC.java @@ -0,0 +1,78 @@ +/* + * 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 helloworld; + +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; + +/* + * C = a composite scoped component that throws exceptions + */ + +@Scope("COMPOSITE") +public class HelloworldClientImplC implements Helloworld { + + public static boolean throwTestExceptionOnConstruction = false; + public static boolean throwTestExceptionOnInit = false; + public static boolean throwTestExceptionOnDestroy = false; + + + @Reference + public Helloworld service; + + public HelloworldClientImplC() throws Exception { + if(throwTestExceptionOnConstruction){ + StatusImpl.appendStatus("Exception on construction", "HelloworldClientImplC"); + throw new Exception("Exception on construction"); + } + } + + @Init + public void initialize() throws Exception{ + if (throwTestExceptionOnInit) { + StatusImpl.appendStatus("Exception on init", "HelloworldClientImplC"); + throw new Exception("Exception on init"); + } + + StatusImpl.appendStatus("Init", "HelloworldClientImplC"); + System.out.println(">>>>>> " + sayHello("init")); + } + + @Destroy + public void destroy() throws Exception{ + if (throwTestExceptionOnDestroy) { + StatusImpl.appendStatus("Exception on destroy", "HelloworldClientImplC"); + throw new Exception("Exception on destroy"); + } + + StatusImpl.appendStatus("Destroy", "HelloworldClientImplC"); + } + + public String sayHello(String name) throws Exception { + return "Hi " + service.sayHello(name); + } + + public String throwException(String name) throws Exception { + throw new Exception("test exception"); + } + +} diff --git a/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplCE.java b/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplCE.java new file mode 100644 index 0000000000..af97452ee9 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplCE.java @@ -0,0 +1,80 @@ +/* + * 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 helloworld; + +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.EagerInit; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; + +/* + * CE = a composite scoped component with EagerInit that throws exceptions + */ + +@EagerInit +@Scope("COMPOSITE") +public class HelloworldClientImplCE implements Helloworld { + + public static boolean throwTestExceptionOnConstruction = false; + public static boolean throwTestExceptionOnInit = false; + public static boolean throwTestExceptionOnDestroy = false; + + + @Reference + public Helloworld service; + + public HelloworldClientImplCE() throws Exception { + if(throwTestExceptionOnConstruction){ + StatusImpl.appendStatus("Exception on construction", "HelloworldClientImplCE"); + throw new Exception("Exception on construction"); + } + } + + @Init + public void initialize() throws Exception{ + if (throwTestExceptionOnInit) { + StatusImpl.appendStatus("Exception on init", "HelloworldClientImplCE"); + throw new Exception("Exception on init"); + } + + StatusImpl.appendStatus("Init", "HelloworldClientImplCE"); + System.out.println(">>>>>> " + sayHello("init")); + } + + @Destroy + public void destroy() throws Exception{ + if (throwTestExceptionOnDestroy) { + StatusImpl.appendStatus("Exception on destroy", "HelloworldClientImplCE"); + throw new Exception("Exception on destroy"); + } + + StatusImpl.appendStatus("Destroy", "HelloworldClientImplCE"); + } + + public String sayHello(String name) throws Exception { + return "Hi " + service.sayHello(name); + } + + public String throwException(String name) throws Exception { + throw new Exception("test exception"); + } + +} diff --git a/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplS.java b/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplS.java new file mode 100644 index 0000000000..493ccca972 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/lifecycle/src/main/java/helloworld/HelloworldClientImplS.java @@ -0,0 +1,78 @@ +/* + * 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 helloworld; + +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; + +/* + * S = a stateless scoped component that throws exceptions + */ + +@Scope("STATELESS") +public class HelloworldClientImplS implements Helloworld { + + public static boolean throwTestExceptionOnConstruction = false; + public static boolean throwTestExceptionOnInit = false; + public static boolean throwTestExceptionOnDestroy = false; + + + @Reference + public Helloworld service; + + public HelloworldClientImplS() throws Exception { + if(throwTestExceptionOnConstruction){ + StatusImpl.appendStatus("Exception on construction", "HelloworldClientImplS"); + throw new Exception("Exception on construction"); + } + } + + @Init + public void initialize() throws Exception{ + if (throwTestExceptionOnInit) { + StatusImpl.appendStatus("Exception on init", "HelloworldClientImplS"); + throw new Exception("Exception on init"); + } + + StatusImpl.appendStatus("Init", "HelloworldClientImplS"); + System.out.println(">>>>>> " + sayHello("init")); + } + + @Destroy + public void destroy() throws Exception{ + if (throwTestExceptionOnDestroy) { + StatusImpl.appendStatus("Exception on destroy", "HelloworldClientImplS"); + throw new Exception("Exception on destroy"); + } + + StatusImpl.appendStatus("Destroy", "HelloworldClientImplS"); + } + + public String sayHello(String name) throws Exception { + return "Hi " + service.sayHello(name); + } + + public String throwException(String name) throws Exception { + throw new Exception("test exception"); + } + +} -- cgit v1.2.3