/** * Copyright 2011-2012 Universite Joseph Fourier, LIG, ADELE team * Licensed 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 fr.imag.adele.apam.test.s1Impl; import java.util.List; import java.util.Set; import fr.imag.adele.apam.ApamComponent; import fr.imag.adele.apam.Implementation; import fr.imag.adele.apam.Instance; import fr.imag.adele.apam.Link; import fr.imag.adele.apam.Specification; import fr.imag.adele.apam.test.s1.S1; import fr.imag.adele.apam.test.s2.S2; import fr.imag.adele.apam.test.s3.S3_1; import fr.imag.adele.apam.test.s3.S3_2; public class S1Impl implements S1, Runnable, ApamComponent { // Apam handler injected S2 s2Spec; S2 s2Interf; S2 s2Msg; S3_1 s3_1; S3_2 s3_2; List<S3_1> s3List; S3_1[] s3ListBis; S2 lastS2; //Injected Links Instance s2Inst ; Implementation s2Impl ; Specification s2Specif ; Set<Instance> s3Insts ; Instance thisInst ; public void callS1(String s) { System.out.println("=== In fr.imag.adele.apam.test.s1Impl; S2 s2Spec; " + s2Spec.getName()); System.out.println("=== In fr.imag.adele.apam.test.s1Impl; S2 s2Interf; " + s2Interf.getName()); System.out.println("=== In fr.imag.adele.apam.test.s1Impl; S3_1 " + s3_1.getName()); System.out.println("=== In fr.imag.adele.apam.test.s1Impl; S3_2 " + s3_2.getName()); System.out.println("=== In fr.imag.adele.apam.test.s1Impl; S2Inst " + s2Inst); System.out.println("=== In fr.imag.adele.apam.test.s1Impl; s2Impl " + s2Impl); System.out.println("=== In fr.imag.adele.apam.test.s1Impl; s2Specif " + s2Specif); System.out.print("=== In S1Impl; s3Insts :"); if (s3Insts == null) { System.out.print(" s3Insts is null " ); } else for (Instance s3 : s3Insts) { System.out.println(" =======" + s3); } Link lk = thisInst.getLink("linkS2") ; System.out.println("linkS2 : " + lk); lk = thisInst.getLink("testID") ; System.out.println("testId : " + lk); lk = thisInst.getLink("testIDS3") ; System.out.println("testId : " + lk); lk = thisInst.getLink("spec2interf") ; System.out.println("spec2interf : " + lk); Set<Link>lks = thisInst.getLinks("towardInterfS2") ; for (Link mk : lks) System.out.println("towardInterfS2 : " + mk); lk = thisInst.getLink("withoutkinds") ; System.out.println("withoutkinds : " + lk); lk = thisInst.getLink("s2Impl") ; System.out.println("S2Impl : " + lk); // // System.out.println("===========before calling S2 ========="); // // s2Spec.callS2("============= From S1Impl to S2 ...") ; // // System.out.print("=== In S1Impl; S3_1 s3List :"); // for (S3_1 s3 : s3List) { // System.out.print(" =======" + s3.getName()); // s3.callS3_1("======from S1Impl, s3List ") ; // } // System.out.println(""); // System.out.print("=== In S1Impl; S3_1 s3ListBis :"); // for (S3_1 s3 : s3ListBis) { // System.out.print(" " + s3.getName()); // } // System.out.println(""); // // System.out.println("=== In S1Impl; lastS2 " + lastS2.getName()); // System.out.println("S2 s2Spec; " + s2Spec); // System.out.println("S1 called " + s); // s2.callS2("from S1Impl internal"); // s4.callS4_final("From S1Impl external"); } @Override public String getName () { return "S1Impl" ; } public void run() { System.out.println("=== executing s1.callS1(\"From S1Impl \") "); callS1("From SImpl itself "); System.out.println("End of S1Impl"); } public void apamInit(Instance inst) { thisInst = inst ; System.out.println("S1Impl Started : " + inst.getName()); new Thread(this, "APAM test").start(); } public void apamRemove() { } }