|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
InternalServiceJobImpl | Line # 35 | 73 | 53 | 38.4% |
0.38405797
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
(99) | |||
Result | |||
0.36956522
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_09d
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testNegative04
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_03
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative07
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqSetTheoryScript1
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_06
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegativeGeneration2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive02
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_09
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_12
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPluginFast
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L003
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration7
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegativeGeneration2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqLogicScript1
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_04
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive03b
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration4
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_03
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_04
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L001_v1
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration3c
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_02
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_08
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testProof_003
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_11
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive03
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive06
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_07
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive04
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_10
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck6
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind3
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_09
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative05
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_01
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration5
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative08
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqLogicScript2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_09b
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive05
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L001_v2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative06
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerTest.testCheckModule
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.Qedeq2LatexTest.testQ2L002
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative02
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative02
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.SimpleProofFinderPluginTest.testPlugin
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration1
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck1
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_07
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testPositive01
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_08
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.heuristic.DynamicHeuristicCheckerPluginTest.testQedeqSampleScript1
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.proof.checker.ProofCheckerTest.testCheck4
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration5
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative07
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration1
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative08
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.heuristic.HeuristicCheckerPluginTest.testQedeqSetTheoryScript2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_11
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin3
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration6
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative06
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3c
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration3b
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_10
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_09c
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.GenerateUtf8Test.testGeneration1b
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration1b
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.LoadRequiredModulesTest.testLoadRequiredModules_02
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration3b
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.logic.FormalProofCheckerPluginTest.testPlugin4
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.logic.proof.finder.ProofFinderImplTest.testFind2
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative05
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration6
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration4
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.unicode.Qedeq2UnicodeTextExecutorTest.testGeneration3
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.basis.ModuleConstantsExistenceCheckerTest.testModuleConstantsExistenceChecker_05
![]() |
1 PASS | |
0.36231884
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testGeneration
![]() |
1 PASS | |
0.3478261
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative03
![]() |
1 PASS | |
0.3478261
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative03
![]() |
1 PASS | |
0.3478261
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative04
![]() |
1 PASS | |
0.3478261
|
org.qedeq.kernel.bo.service.latex.GenerateLatexTest.testNegative04
![]() |
1 PASS | |
0.10144927
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testNegative03
![]() |
1 PASS | |
0.10144927
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerDirectTest.testNegative03
![]() |
1 PASS | |
0.10144927
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerDirectTest.testNegative04
![]() |
1 PASS | |
0.10144927
|
org.qedeq.kernel.bo.service.logic.QedeqBoFormalLogicCheckerDirectTest.testNegative02
![]() |
1 PASS | |
0.10144927
|
org.qedeq.kernel.bo.logic.wf.FormulaCheckerContextTest.testNegative02
![]() |
1 PASS | |
1 | /* This file is part of the project "Hilbert II" - http://www.qedeq.org | |
2 | * | |
3 | * Copyright 2000-2014, Michael Meyling <mime@qedeq.org>. | |
4 | * | |
5 | * "Hilbert II" is free software; you can redistribute | |
6 | * it and/or modify it under the terms of the GNU General Public | |
7 | * License as published by the Free Software Foundation; either | |
8 | * version 2 of the License, or (at your option) any later version. | |
9 | * | |
10 | * This program is distributed in the hope that it will be useful, | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | * GNU General Public License for more details. | |
14 | */ | |
15 | ||
16 | package org.qedeq.kernel.bo.job; | |
17 | ||
18 | import java.util.ArrayList; | |
19 | import java.util.List; | |
20 | ||
21 | import org.qedeq.base.trace.Trace; | |
22 | import org.qedeq.kernel.bo.common.ModuleServiceCall; | |
23 | import org.qedeq.kernel.bo.common.QedeqBo; | |
24 | import org.qedeq.kernel.bo.common.QedeqBoSet; | |
25 | import org.qedeq.kernel.bo.common.ServiceJob; | |
26 | import org.qedeq.kernel.bo.module.InternalModuleServiceCall; | |
27 | import org.qedeq.kernel.bo.module.InternalServiceJob; | |
28 | import org.qedeq.kernel.bo.module.ModuleArbiter; | |
29 | ||
30 | /** | |
31 | * Process info for a kernel service. | |
32 | * | |
33 | * @author Michael Meyling | |
34 | */ | |
35 | public class InternalServiceJobImpl implements InternalServiceJob { | |
36 | ||
37 | /** This class. */ | |
38 | private static final Class CLASS = InternalServiceJobImpl.class; | |
39 | ||
40 | /** Counter for each service process. */ | |
41 | private static long globalCounter; | |
42 | ||
43 | /** The service call the process currently works for. */ | |
44 | private InternalModuleServiceCall call; | |
45 | ||
46 | /** The thread the service is done within. */ | |
47 | private final Thread thread; | |
48 | ||
49 | /** Start time for process. */ | |
50 | private long start; | |
51 | ||
52 | /** End time for process. */ | |
53 | private long stop; | |
54 | ||
55 | /** State for process. -1 = interrupted, 0 = running, 1 = success, 2 failure. */ | |
56 | private int state; | |
57 | ||
58 | /** Action name. */ | |
59 | private final String actionName; | |
60 | ||
61 | /** Percentage of currently running plugin execution. */ | |
62 | private double executionPercentage; | |
63 | ||
64 | /** Percentage of currently running plugin execution. */ | |
65 | private String executionActionDescription = "not yet started"; | |
66 | ||
67 | /** Is this process blocked? */ | |
68 | private boolean blocked; | |
69 | ||
70 | /** Process id. */ | |
71 | private final long id; | |
72 | ||
73 | /** This arbiter can lock and unlock modules. */ | |
74 | private ModuleArbiter arbiter; | |
75 | ||
76 | /** | |
77 | * A new service process within the current thread. | |
78 | * | |
79 | * @param arbiter Remember module arbiter. | |
80 | * @param actionName Main process purpose. | |
81 | */ | |
82 | 732 |
![]() |
83 | 732 | this.id = inc(); |
84 | 732 | this.thread = Thread.currentThread(); |
85 | 732 | this.call = null; |
86 | 732 | this.arbiter = arbiter; |
87 | 732 | this.actionName = actionName; |
88 | 732 | start(); |
89 | } | |
90 | ||
91 | 732 |
![]() |
92 | 732 | return globalCounter++; |
93 | } | |
94 | ||
95 | 2560 |
![]() |
96 | 2560 | this.call = call; |
97 | } | |
98 | ||
99 | 1445 |
![]() |
100 | 1445 | return call; |
101 | } | |
102 | ||
103 | 1487 |
![]() |
104 | 1487 | return call; |
105 | } | |
106 | ||
107 | 1439 |
![]() |
108 | 1439 | return thread; |
109 | } | |
110 | ||
111 | 0 |
![]() |
112 | 0 | if (call != null) { |
113 | 0 | return call.getQedeq().getName(); |
114 | } | |
115 | 0 | return ""; |
116 | } | |
117 | ||
118 | 0 |
![]() |
119 | 0 | if (call != null) { |
120 | 0 | return call.getQedeq().getUrl(); |
121 | } | |
122 | 0 | return ""; |
123 | } | |
124 | ||
125 | 0 |
![]() |
126 | 0 | return start; |
127 | } | |
128 | ||
129 | 0 |
![]() |
130 | 0 | return stop; |
131 | } | |
132 | ||
133 | 732 |
![]() |
134 | 732 | start = System.currentTimeMillis(); |
135 | 732 | executionActionDescription = "started"; |
136 | } | |
137 | ||
138 | 565 |
![]() |
139 | 565 | stop = System.currentTimeMillis(); |
140 | } | |
141 | ||
142 | 565 |
![]() |
143 | 565 | if (isRunning()) { |
144 | 565 | state = 1; |
145 | 565 | stop(); |
146 | 565 | executionActionDescription = "finished"; |
147 | 565 | executionPercentage = 100; |
148 | } | |
149 | } | |
150 | ||
151 | 0 |
![]() |
152 | 0 | if (isRunning()) { |
153 | 0 | state = -1; |
154 | 0 | stop(); |
155 | } | |
156 | } | |
157 | ||
158 | 0 |
![]() |
159 | 0 | if (isRunning()) { |
160 | 0 | state = 2; |
161 | 0 | stop(); |
162 | } | |
163 | } | |
164 | ||
165 | 3125 |
![]() |
166 | 3125 | if (state == 0) { |
167 | 3125 | if (!thread.isAlive()) { |
168 | 0 | Trace.fatal(CLASS, this, "isRunning()", "Thread has unexpectly died", |
169 | new RuntimeException()); | |
170 | 0 | state = -1; |
171 | 0 | stop(); |
172 | 0 | return false; |
173 | } | |
174 | 3125 | return true; |
175 | } | |
176 | 0 | return false; |
177 | } | |
178 | ||
179 | 0 |
![]() |
180 | 0 | if (isRunning()) { |
181 | 0 | return blocked; |
182 | } | |
183 | 0 | return false; |
184 | } | |
185 | ||
186 | 4770 |
![]() |
187 | 4770 | this.blocked = blocked; |
188 | } | |
189 | ||
190 | 0 |
![]() |
191 | 0 | return state == 1; |
192 | } | |
193 | ||
194 | 0 |
![]() |
195 | 0 | return state == -1 || state == 2; |
196 | } | |
197 | ||
198 | 0 |
![]() |
199 | 0 | return state == -1; |
200 | } | |
201 | ||
202 | ||
203 | 692 |
![]() |
204 | 692 | thread.interrupt(); |
205 | } | |
206 | ||
207 | 0 |
![]() |
208 | 0 | if (isRunning() || isBlocked()) { |
209 | 0 | if (call != null) { |
210 | 0 | executionPercentage = call.getExecutionPercentage(); |
211 | } | |
212 | } | |
213 | 0 | return executionPercentage; |
214 | } | |
215 | ||
216 | 0 |
![]() |
217 | 0 | return actionName; |
218 | } | |
219 | ||
220 | 0 |
![]() |
221 | 0 | if (isRunning() || isBlocked()) { |
222 | 0 | if (call != null) { |
223 | 0 | executionActionDescription = call.getLocation(); |
224 | } | |
225 | } | |
226 | 0 | return executionActionDescription; |
227 | } | |
228 | ||
229 | 0 |
![]() |
230 | 0 | return arbiter.getBlockedModules(this); |
231 | } | |
232 | ||
233 | ||
234 | 5760 |
![]() |
235 | 5760 | return id; |
236 | } | |
237 | ||
238 | 0 |
![]() |
239 | 0 | return (int) id; |
240 | } | |
241 | ||
242 | 2385 |
![]() |
243 | 2385 | return 0 == compareTo(obj); |
244 | } | |
245 | ||
246 | 2385 |
![]() |
247 | 2385 | if (!(o instanceof ServiceJob)) { |
248 | 945 | return -1; |
249 | } | |
250 | 1440 | final ServiceJob s = (ServiceJob) o; |
251 | 1440 | return (getId() < s.getId() ? -1 : (getId() == s.getId() ? 0 : 1)); |
252 | } | |
253 | ||
254 | 0 |
![]() |
255 | 0 | final List result = new ArrayList(); |
256 | 0 | ModuleServiceCall parent = call; |
257 | 0 | while (parent != null) { |
258 | 0 | if (parent.getQedeq() != null && (result.size() == 0 |
259 | || (result.size() > 0 && !parent.getQedeq().equals(result.get(0))))) { | |
260 | 0 | result.add(0, parent.getQedeq()); |
261 | } | |
262 | 0 | parent = parent.getParentServiceCall(); |
263 | } | |
264 | 0 | return (QedeqBo[]) result.toArray(new QedeqBo[]{}); |
265 | } | |
266 | ||
267 | } |
|