1 22 23 package org.jboss.aspects.asynchronous.concurrent; 24 25 import EDU.oswego.cs.dl.util.concurrent.Callable; 26 import org.jboss.aspects.asynchronous.AsynchronousConstants; 27 import org.jboss.aspects.asynchronous.AsynchronousParameters; 28 import org.jboss.aspects.asynchronous.AsynchronousResponse; 29 import org.jboss.aspects.asynchronous.AsynchronousUserTask; 30 import org.jboss.aspects.asynchronous.ProcessingTime; 31 import org.jboss.aspects.asynchronous.ThreadManagerResponse; 32 import org.jboss.aspects.asynchronous.common.ThreadManagerResponseImpl; 33 34 38 39 final class AdapterTask 40 41 implements Callable, AsynchronousConstants, ProcessingTime 42 { 43 44 private AsynchronousParameters _inputParametersImpl = null; 45 46 private AsynchronousUserTask _taskImpl = null; 47 48 private String id = null; 49 50 private long startingTime = -1; 51 52 private long endingTime = -1; 53 54 AdapterTask(String id, 55 56 AsynchronousParameters inputParametersImpl, 57 58 AsynchronousUserTask taskImpl) 59 { 60 61 _inputParametersImpl = inputParametersImpl; 62 63 _taskImpl = taskImpl; 64 65 this.id = id; 66 67 } 68 69 public void cleanup() 70 { 71 72 _taskImpl.cleanup(_inputParametersImpl); 73 74 } 75 76 public java.lang.Object call() 77 { 78 79 try 80 { 81 82 startingTime = System.currentTimeMillis(); 83 84 AsynchronousResponse taskResult = 85 86 _taskImpl.process(_inputParametersImpl); 87 88 endingTime = System.currentTimeMillis(); 89 90 ThreadManagerResponse myResult = 91 92 new ThreadManagerResponseImpl(getId(), 93 94 OK, 95 96 null, 97 98 taskResult, 99 100 startingTime, 101 102 endingTime); 103 104 return myResult; 105 106 } 107 catch (Exception e) 108 { 109 110 try 111 { 112 113 endingTime = System.currentTimeMillis(); 114 115 return new ThreadManagerResponseImpl(getId(), 116 117 UNKNOWN, 118 119 e.getMessage(), 120 121 e); 122 123 } 124 catch (Exception ee) 125 { 126 127 endingTime = System.currentTimeMillis(); 128 129 return new ThreadManagerResponseImpl(getId(), 130 131 UNKNOWN, 132 133 e.getMessage(), 134 135 ee); 136 137 } 138 139 } 140 141 } 142 143 public String getId() 144 { 145 146 return id; 147 148 } 149 150 public long getStartingTime() 151 { 152 153 return startingTime; 154 155 } 156 157 public long getEndingTime() 158 { 159 160 return endingTime; 161 162 } 163 164 } 165 166 | Popular Tags |