Révision 1536
| tmp/org.txm.textsbalance.core/src/org/txm/textsbalance/core/functions/TextsBalance.java (revision 1536) | ||
|---|---|---|
| 125 | 125 |
* @param countTexts |
| 126 | 126 |
* @throws CqiClientException |
| 127 | 127 |
*/ |
| 128 |
protected boolean _compute() {
|
|
| 128 |
protected boolean __compute() {
|
|
| 129 | 129 |
|
| 130 | 130 |
this.subTask("Computing balance with metadata propertyName = " + this.structuralUnitProperty + ", structural unit = " + this.structuralUnit.getName() + " and groupByTexts = " + this.countTexts); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
| 131 | 131 |
try {
|
| tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java (revision 1536) | ||
|---|---|---|
| 29 | 29 |
import org.txm.chartsengine.rcp.editors.ChartEditor; |
| 30 | 30 |
import org.txm.chartsengine.rcp.messages.SWTComponentsProviderMessages; |
| 31 | 31 |
import org.txm.core.messages.TXMCoreMessages; |
| 32 |
import org.txm.core.preferences.TXMPreferences; |
|
| 32 | 33 |
import org.txm.core.results.Parameter; |
| 33 | 34 |
import org.txm.core.results.TXMResult; |
| 34 | 35 |
import org.txm.progression.core.functions.Progression; |
| ... | ... | |
| 90 | 91 |
|
| 91 | 92 |
|
| 92 | 93 |
|
| 93 |
|
|
| 94 |
|
|
| 95 | 94 |
/** |
| 96 | 95 |
* Queries. |
| 97 | 96 |
*/ |
| 98 |
@Parameter(key=ProgressionPreferences.QUERIES)
|
|
| 99 |
protected List<Query> queryList; |
|
| 97 |
@Parameter(key=TXMPreferences.QUERIES)
|
|
| 98 |
protected List<CQLQuery> queryList;
|
|
| 100 | 99 |
|
| 101 | 100 |
/** |
| 102 | 101 |
* Structural unit. |
| 103 | 102 |
*/ |
| 104 |
@Parameter(key=ProgressionPreferences.STRUCTURAL_UNIT)
|
|
| 103 |
@Parameter(key=TXMPreferences.STRUCTURAL_UNIT)
|
|
| 105 | 104 |
protected StructuralUnitsComboViewer structuralUnitsComboViewer; |
| 106 | 105 |
|
| 107 | 106 |
/** |
| 108 | 107 |
* Structural unit property. |
| 109 | 108 |
*/ |
| 110 |
@Parameter(key=ProgressionPreferences.STRUCTURAL_UNIT_PROPERTY)
|
|
| 109 |
@Parameter(key=TXMPreferences.STRUCTURAL_UNIT_PROPERTY)
|
|
| 111 | 110 |
protected StructuralUnitPropertiesComboViewer structuralUnitPropertiesComboViewer; |
| 112 | 111 |
|
| 113 | 112 |
/** |
| ... | ... | |
| 614 | 613 |
@Override |
| 615 | 614 |
public void updateEditorFromChart(boolean update) {
|
| 616 | 615 |
|
| 616 |
queryList = this.getResult().getQueries(); |
|
| 617 |
|
|
| 617 | 618 |
// initialize query fields |
| 618 | 619 |
if (queryWidgets.size() == 0 && queryList != null) {
|
| 619 | 620 |
for (Query q : queryList) {
|
| ... | ... | |
| 631 | 632 |
public void updateResultFromEditor() {
|
| 632 | 633 |
|
| 633 | 634 |
// create query list from widget |
| 634 |
queryList = new ArrayList<Query>(); |
|
| 635 |
queryList = new ArrayList<CQLQuery>();
|
|
| 635 | 636 |
for (QueryField wid : queryWidgets) {
|
| 636 | 637 |
if (!wid.getQuery().isEmpty()) {
|
| 637 |
queryList.add(wid.getQuery()); |
|
| 638 |
queryList.add((CQLQuery) wid.getQuery());
|
|
| 638 | 639 |
wid.memorize(); |
| 639 | 640 |
} |
| 640 | 641 |
} |
| tmp/org.txm.partition.core/src/org/txm/partition/core/functions/PartitionDimensions.java (revision 1536) | ||
|---|---|---|
| 88 | 88 |
|
| 89 | 89 |
|
| 90 | 90 |
@Override |
| 91 |
protected boolean _compute() throws Exception {
|
|
| 91 |
protected boolean __compute() throws Exception {
|
|
| 92 | 92 |
// retrieve the parts |
| 93 | 93 |
this.parts = this.getPartition().getParts(); |
| 94 | 94 |
|
| tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java (revision 1536) | ||
|---|---|---|
| 158 | 158 |
return compute(monitor, true); |
| 159 | 159 |
} |
| 160 | 160 |
|
| 161 |
// @Override |
|
| 162 |
// public boolean compute(IProgressMonitor monitor, boolean deepComputing) {
|
|
| 163 |
// |
|
| 164 |
// if (this.computing) {
|
|
| 165 |
// return true; |
|
| 166 |
// } |
|
| 167 |
// |
|
| 168 |
// try {
|
|
| 169 |
// Log.finest("*** ChartResult.compute(): " + this.getClass().getSimpleName() + ": starting computing process...");
|
|
| 170 |
// |
|
| 171 |
// // compute the result if needed |
|
| 172 |
// if(super.compute(monitor, deepComputing)) {
|
|
| 173 |
// this.altered = false; |
|
| 174 |
// // compute the chart |
|
| 175 |
// return renderChart(); |
|
| 176 |
// } |
|
| 177 |
// else {
|
|
| 178 |
// return false; |
|
| 179 |
// } |
|
| 180 |
// } |
|
| 181 |
// catch (Exception e) {
|
|
| 182 |
// e.printStackTrace(); |
|
| 183 |
// Log.severe("ChartResult.compute(): Exception occurs during computing.");
|
|
| 184 |
// return false; |
|
| 185 |
// } |
|
| 186 |
// } |
|
| 187 |
|
|
| 188 |
|
|
| 189 |
|
|
| 190 |
/** |
|
| 191 |
* This method is dedicated to be implemented by the inherited chart result classes to define the computing steps. |
|
| 192 |
* @return true if the result was computed |
|
| 193 |
* |
|
| 194 |
* @throws Exception |
|
| 195 |
*/ |
|
| 196 |
protected abstract boolean __compute() throws Exception; |
|
| 197 |
|
|
| 198 |
|
|
| 161 | 199 |
@Override |
| 162 |
public boolean compute(IProgressMonitor monitor, boolean deepComputing) {
|
|
| 163 |
if (computing) return true; |
|
| 200 |
protected final boolean _compute() {
|
|
| 164 | 201 |
|
| 202 |
boolean computingState = true; |
|
| 203 |
|
|
| 165 | 204 |
try {
|
| 166 |
Log.finest("*** ChartResult.compute(): " + this.getClass().getSimpleName() + ": starting computing process...");
|
|
| 167 |
|
|
| 168 |
// compute the result if needed |
|
| 169 |
if(super.compute(monitor, deepComputing)) {
|
|
| 170 |
this.altered = false; |
|
| 171 |
// compute the chart |
|
| 172 |
return renderChart(); |
|
| 173 |
} |
|
| 174 |
else {
|
|
| 175 |
return false; |
|
| 176 |
} |
|
| 205 |
Log.finest("*** ChartResult._compute(): " + this.getClass().getSimpleName() + ": starting computing process...");
|
|
| 206 |
|
|
| 207 |
// Computes the result only if at least one computing parameter has changed |
|
| 208 |
//if(this.hasParameterChanged()) {
|
|
| 209 |
computingState = this.__compute(); |
|
| 210 |
//} |
|
| 211 |
computingState = this.renderChart(); |
|
| 177 | 212 |
} |
| 178 | 213 |
catch (Exception e) {
|
| 179 | 214 |
e.printStackTrace(); |
| 180 |
Log.severe("ChartResult.compute(): Exception occurs during computing.");
|
|
| 181 |
return false;
|
|
| 215 |
Log.severe("ChartResult._compute(): Exception occurs during computing or rendering.");
|
|
| 216 |
computingState = false;
|
|
| 182 | 217 |
} |
| 218 |
|
|
| 219 |
return computingState; |
|
| 183 | 220 |
} |
| 184 | 221 |
|
| 185 | 222 |
/** |
| ... | ... | |
| 196 | 233 |
Log.finest("*** ChartResult.renderChart(): rendering chart for result " + this.getClass() + " and chart type " + this.getChartType() + "..."); //$NON-NLS-1$
|
| 197 | 234 |
|
| 198 | 235 |
|
| 236 |
// FIXME: SJ: need to clear the last computing parameters else we can't check if a computing parameter has changed in the chart creators |
|
| 199 | 237 |
// if(this.parametersHistory.size() > 2 |
| 200 |
// |
|
| 238 |
|
|
| 201 | 239 |
// || this.getLastParametersFromHistory().isEmpty() |
| 202 |
// ) {
|
|
| 203 |
// this.clearLastComputingParameters();
|
|
| 240 |
// ) {
|
|
| 241 |
//this.clearLastComputingParameters();
|
|
| 204 | 242 |
// } |
| 205 | 243 |
|
| 244 |
// update the chart dirty state from history if a parameter has changed since last computing |
|
| 245 |
this.updateChartDirtyFromHistory(); |
|
| 206 | 246 |
|
| 207 |
|
|
| 208 |
if (!this.chartDirty && !this.isChartDirtyFromHistory()) {
|
|
| 247 |
if (!this.chartDirty) {
|
|
| 209 | 248 |
Log.finest("--- ChartResult.renderChart(): chart rendering parameters have not changed since last rendering, rendering skipped."); //$NON-NLS-1$
|
| 210 | 249 |
return true; |
| 211 | 250 |
} |
| 212 |
else if (!this.chartDirty) {
|
|
| 213 |
Log.finest("--- ChartResult.renderChart(): chart is not dirty, rendering skipped."); //$NON-NLS-1$
|
|
| 214 |
return true; |
|
| 215 |
} |
|
| 216 | 251 |
|
| 217 |
|
|
| 218 | 252 |
ChartCreator chartCreator = this.getChartCreator(); |
| 219 | 253 |
|
| 220 | 254 |
// try to find a chart creator in other charts engines |
| ... | ... | |
| 242 | 276 |
// Solution 1: store two stacks, one for computing parameters and another for rendering parameters |
| 243 | 277 |
// Solution 2: stop to dissociate rendering parameters and computing parameters. Maybe the best way but need to check if this dissociation is very useless |
| 244 | 278 |
// clear the last computing parameters |
| 245 |
if(this.parametersHistory.size() > 2 |
|
| 246 |
|
|
| 247 |
//|| this.getLastParametersFromHistory().isEmpty() |
|
| 248 |
) {
|
|
| 249 |
this.clearLastComputingParameters(); |
|
| 250 |
} |
|
| 279 |
// if(this.parametersHistory.size() > 2
|
|
| 280 |
// |
|
| 281 |
// //|| this.getLastParametersFromHistory().isEmpty()
|
|
| 282 |
// ) {
|
|
| 283 |
// this.clearLastComputingParameters();
|
|
| 284 |
// }
|
|
| 251 | 285 |
|
| 252 | 286 |
// Creating, if needed. |
| 253 | 287 |
// The change of the chart type parameter can occur if: |
| 254 | 288 |
// - the chart has never been created |
| 255 | 289 |
// - the chart type has been changed, e.g. to dynamically change the type of chart or the current charts engine |
| 256 | 290 |
if (this.chart == null || |
| 257 |
//(this.getLastParametersFromHistory().get(ChartsEnginePreferences.CHART_TYPE) != null &&
|
|
| 258 |
this.hasParameterChanged(ChartsEnginePreferences.CHART_TYPE) |
|
| 291 |
(this.getLastParametersFromHistory().get(ChartsEnginePreferences.CHART_TYPE) != null && |
|
| 292 |
this.hasParameterChanged(ChartsEnginePreferences.CHART_TYPE))
|
|
| 259 | 293 |
//) |
| 260 | 294 |
|
| 261 | 295 |
) {
|
| 262 |
Log.finest("+++ ChartResult.renderChart(): creating chart."); //$NON-NLS-1$
|
|
| 296 |
Log.finest("+++ ChartResult.renderChart(): creating chart..."); //$NON-NLS-1$
|
|
| 263 | 297 |
|
| 264 | 298 |
this.chart = chartCreator.createChart(this); |
| 265 | 299 |
} |
| 266 | 300 |
|
| 267 | 301 |
// Updating |
| 268 |
Log.finest("ChartResult.renderChart(): updating chart.");
|
|
| 302 |
Log.finest("ChartResult.renderChart(): updating chart...");
|
|
| 269 | 303 |
|
| 270 | 304 |
// the update must be done here (BEFORE the call of this.updateLastRenderingParameters()) rather than in the SWTChartComponentsProvider => the problem is that for File based Engine, the file may be created twice, need to check this |
| 271 | 305 |
// also before the call of this.updateLastParameters() to be able to check if a computing parameter has changed in the chart creators |
| ... | ... | |
| 273 | 307 |
|
| 274 | 308 |
// FIXME: needed by the above fix #1 |
| 275 | 309 |
// reupdate the last computing parameters |
| 276 |
this.updateLastParameters(); |
|
| 310 |
//this.updateLastParameters();
|
|
| 277 | 311 |
|
| 278 |
this.updateLastRenderingParameters(); |
|
| 312 |
//this.updateLastRenderingParameters();
|
|
| 279 | 313 |
|
| 280 | 314 |
this.needsToClearItemsSelection = false; |
| 281 | 315 |
this.needsToResetView = false; |
| 282 | 316 |
|
| 283 | 317 |
this.chartDirty = false; |
| 284 | 318 |
|
| 319 |
// file persistence flush |
|
| 320 |
// if (this.mustBePersisted()) {
|
|
| 321 |
// TXMPreferences.flush(this); |
|
| 322 |
// } |
|
| 323 |
|
|
| 285 | 324 |
// Debug |
| 286 | 325 |
Log.finest("ChartResult.renderChart(): chart rendering done."); //$NON-NLS-1$
|
| 287 | 326 |
|
| ... | ... | |
| 295 | 334 |
} |
| 296 | 335 |
|
| 297 | 336 |
|
| 298 |
@Override |
|
| 299 |
public boolean hasParameterChanged(String key) {
|
|
| 300 |
if (key.isEmpty()) {
|
|
| 301 |
return false; |
|
| 302 |
} |
|
| 303 |
return super.hasParameterChanged(key); |
|
| 304 |
} |
|
| 337 |
// @Override
|
|
| 338 |
// public boolean hasParameterChanged(String key) {
|
|
| 339 |
// if (key.isEmpty()) {
|
|
| 340 |
// return false;
|
|
| 341 |
// }
|
|
| 342 |
// return super.hasParameterChanged(key);
|
|
| 343 |
// }
|
|
| 305 | 344 |
|
| 306 | 345 |
|
| 307 |
|
|
| 308 | 346 |
@Override |
| 309 | 347 |
public String dumpParameters() {
|
| 310 | 348 |
return super.dumpParameters() + "\n" + this.dumpParameters(Parameter.RENDERING); //$NON-NLS-1$ |
| 311 | 349 |
} |
| 312 | 350 |
|
| 313 |
/** |
|
| 314 |
* Updates the parameters used for last rendering. |
|
| 315 |
* |
|
| 316 |
* @throws Exception |
|
| 317 |
*/ |
|
| 318 |
protected void updateLastRenderingParameters() throws Exception {
|
|
| 319 |
this.updateLastParameters(Parameter.RENDERING, true); |
|
| 320 |
} |
|
| 351 |
// /**
|
|
| 352 |
// * Updates the parameters used for last rendering.
|
|
| 353 |
// *
|
|
| 354 |
// * @throws Exception
|
|
| 355 |
// */
|
|
| 356 |
// protected void updateLastRenderingParameters() throws Exception {
|
|
| 357 |
// this.updateLastParameters(Parameter.RENDERING, true);
|
|
| 358 |
// }
|
|
| 321 | 359 |
|
| 322 | 360 |
/** |
| 323 | 361 |
* Clears the parameters used for last rendering. |
| ... | ... | |
| 329 | 367 |
} |
| 330 | 368 |
|
| 331 | 369 |
|
| 370 |
|
|
| 332 | 371 |
/** |
| 333 |
* |
|
| 372 |
* Checks if at least one rendering parameter value has changed since last computing.
|
|
| 334 | 373 |
* @return |
| 335 | 374 |
* @throws Exception |
| 336 | 375 |
*/ |
| 337 |
public final boolean isChartDirtyFromHistory() throws Exception {
|
|
| 338 |
|
|
| 339 |
List<Field> fields = this.getAllFields(); |
|
| 340 |
|
|
| 341 |
for (Field f : fields) {
|
|
| 342 |
Parameter parameter = f.getAnnotation(Parameter.class); |
|
| 343 |
if (parameter == null || parameter.type() != Parameter.RENDERING) {
|
|
| 344 |
continue; |
|
| 345 |
} |
|
| 346 |
|
|
| 347 |
String name; |
|
| 348 |
if(!parameter.key().isEmpty()) {
|
|
| 349 |
name = parameter.key(); |
|
| 350 |
} |
|
| 351 |
else {
|
|
| 352 |
name = f.getName(); |
|
| 353 |
} |
|
| 354 |
|
|
| 355 |
f.setAccessible(true); // not to set accessible to test the field values |
|
| 356 |
|
|
| 357 |
// FIXME: old version |
|
| 358 |
//Object previousValue = this.lastParameters.get(name); |
|
| 359 |
// FIXME: new version with stack |
|
| 360 |
Object previousValue = this.getLastParametersFromHistory().get(name); |
|
| 361 |
|
|
| 362 |
|
|
| 363 |
Object newValue = f.get(this); |
|
| 364 |
this.updateChartDirty(previousValue, newValue); |
|
| 365 |
if (this.chartDirty) {
|
|
| 366 |
// FIXME: debug |
|
| 367 |
Log.finest("ChartResult.isChartDirtyFromHistory(): parameter " + name + " has changed.");
|
|
| 368 |
return this.chartDirty; // no need to go further |
|
| 369 |
} |
|
| 376 |
public boolean hasRenderingParameterChanged() throws Exception {
|
|
| 377 |
return this.hasParameterChanged(this.getLastParametersFromHistory(), Parameter.RENDERING); |
|
| 378 |
} |
|
| 379 |
|
|
| 380 |
@Override |
|
| 381 |
public void updateDirtyFromHistory() throws Exception {
|
|
| 382 |
this.dirty = super.hasParameterChanged(); |
|
| 383 |
if(!this.dirty) {
|
|
| 384 |
this.dirty = this.hasRenderingParameterChanged(); |
|
| 370 | 385 |
} |
| 371 |
return this.chartDirty; |
|
| 372 | 386 |
} |
| 373 |
|
|
| 374 |
|
|
| 387 |
|
|
| 388 |
|
|
| 375 | 389 |
/** |
| 376 |
* Updates the chart dirty state by comparing an old parameter with a new one. |
|
| 377 |
* |
|
| 378 |
* @param lastValue may be null |
|
| 379 |
* @param newValue may be null |
|
| 390 |
* Sets the chart dirty state to true if a rendering parameter has changed since last computing. |
|
| 391 |
* @return |
|
| 392 |
* @throws Exception |
|
| 380 | 393 |
*/ |
| 381 |
protected void updateChartDirty(Object lastValue, Object newValue) {
|
|
| 382 |
if(lastValue == null && newValue == null) {
|
|
| 383 |
return; |
|
| 384 |
} |
|
| 385 |
if (lastValue == null || !lastValue.equals(newValue)) {
|
|
| 386 |
Log.info("ChartResult.updateChartDirty(): " + this.getClass().getSimpleName() + ": setting chart dirty to true: last = "+ lastValue + " / new = " + newValue);
|
|
| 394 |
public void updateChartDirtyFromHistory() throws Exception {
|
|
| 395 |
|
|
| 396 |
if(this.hasRenderingParameterChanged()) {
|
|
| 387 | 397 |
this.chartDirty = true; |
| 388 | 398 |
} |
| 389 | 399 |
} |
| 390 | 400 |
|
| 401 |
|
|
| 402 |
// /** |
|
| 403 |
// * Updates the chart dirty state by comparing an old parameter with a new one. |
|
| 404 |
// * |
|
| 405 |
// * @param lastValue may be null |
|
| 406 |
// * @param newValue may be null |
|
| 407 |
// */ |
|
| 408 |
// protected void updateChartDirty(Object lastValue, Object newValue) {
|
|
| 409 |
// if(lastValue == null && newValue == null) {
|
|
| 410 |
// return; |
|
| 411 |
// } |
|
| 412 |
// if (lastValue == null || !lastValue.equals(newValue)) {
|
|
| 413 |
// Log.info("ChartResult.updateChartDirty(): " + this.getClass().getSimpleName() + ": setting chart dirty to true: last = "+ lastValue + " / new = " + newValue);
|
|
| 414 |
// this.chartDirty = true; |
|
| 415 |
// } |
|
| 416 |
// } |
|
| 417 |
|
|
| 418 |
|
|
| 391 | 419 |
@Override |
| 392 | 420 |
public ChartResult clone() {
|
| 393 | 421 |
ChartResult clone = null; |
| ... | ... | |
| 395 | 423 |
clone.chart = null; |
| 396 | 424 |
// FIXME: would be nice to clone the chart if possible instead of clearing the last rendering parameters? |
| 397 | 425 |
//clone.chart = this.chart.clone(); |
| 398 |
clone.clearLastRenderingParameters(); // to force recreation of the chart at next computing |
|
| 426 |
clone.clearLastRenderingParameters(); // to force recreation of the chart at next computing // FIXME: SJ: need to see if it's necessary, the chartDirty state may be sufficient
|
|
| 399 | 427 |
clone.chartDirty = true; |
| 400 | 428 |
clone.hasBeenComputedOnce = false; |
| 401 | 429 |
return clone; |
| tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java (revision 1536) | ||
|---|---|---|
| 165 | 165 |
} |
| 166 | 166 |
|
| 167 | 167 |
@Override |
| 168 |
protected boolean _compute() throws Exception {
|
|
| 168 |
protected boolean __compute() throws Exception {
|
|
| 169 | 169 |
|
| 170 | 170 |
try {
|
| 171 | 171 |
// clear cache |
| tmp/org.txm.ca.core/src/org/txm/ca/core/functions/Eigenvalues.java (revision 1536) | ||
|---|---|---|
| 98 | 98 |
|
| 99 | 99 |
|
| 100 | 100 |
@Override |
| 101 |
protected boolean _compute() throws Exception {
|
|
| 101 |
protected boolean __compute() throws Exception {
|
|
| 102 | 102 |
// nothing to do |
| 103 | 103 |
return true; |
| 104 | 104 |
} |
| tmp/org.txm.wordcloud.core/src/org/txm/wordcloud/core/functions/WordCloud.java (revision 1536) | ||
|---|---|---|
| 93 | 93 |
|
| 94 | 94 |
|
| 95 | 95 |
@Override |
| 96 |
protected boolean _compute() {
|
|
| 96 |
protected boolean __compute() {
|
|
| 97 | 97 |
// // FIXME: source must always be an Index because the corpus source produces an Index |
| 98 | 98 |
// // from corpus |
| 99 | 99 |
// if (source instanceof Corpus) {
|
| tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java (revision 1536) | ||
|---|---|---|
| 111 | 111 |
/** |
| 112 | 112 |
* Queries. |
| 113 | 113 |
*/ |
| 114 |
@Parameter(key=TBXPreferences.QUERIES)
|
|
| 114 |
@Parameter(key=TXMPreferences.QUERIES)
|
|
| 115 | 115 |
protected List<CQLQuery> queries; |
| 116 | 116 |
|
| 117 | 117 |
/** |
| 118 | 118 |
* Structural unit. |
| 119 | 119 |
*/ |
| 120 |
@Parameter(key=TBXPreferences.STRUCTURAL_UNIT)
|
|
| 120 |
@Parameter(key=TXMPreferences.STRUCTURAL_UNIT, type=Parameter.RENDERING)
|
|
| 121 | 121 |
protected StructuralUnit structuralUnit; |
| 122 | 122 |
|
| 123 | 123 |
/** |
| 124 | 124 |
* Structural unit property. |
| 125 | 125 |
*/ |
| 126 |
@Parameter(key=TBXPreferences.STRUCTURAL_UNIT_PROPERTY)
|
|
| 126 |
@Parameter(key=TXMPreferences.STRUCTURAL_UNIT_PROPERTY, type=Parameter.RENDERING)
|
|
| 127 | 127 |
protected StructuralUnitProperty structuralUnitProperty; |
| 128 | 128 |
|
| 129 | 129 |
/** |
| 130 | 130 |
* Repeats or not the same value when displaying the section markers. |
| 131 | 131 |
*/ |
| 132 |
@Parameter(key=ProgressionPreferences.REPEAT_SAME_VALUES) |
|
| 132 |
@Parameter(key=ProgressionPreferences.REPEAT_SAME_VALUES, type=Parameter.RENDERING)
|
|
| 133 | 133 |
protected boolean repeatValues; |
| 134 | 134 |
|
| 135 | 135 |
/** |
| ... | ... | |
| 141 | 141 |
/** |
| 142 | 142 |
* Regex to display only the property that match it. |
| 143 | 143 |
*/ |
| 144 |
@Parameter(key=ProgressionPreferences.PROPERTY_REGEX) |
|
| 144 |
@Parameter(key=ProgressionPreferences.PROPERTY_REGEX, type=Parameter.RENDERING)
|
|
| 145 | 145 |
protected String propertyRegex; |
| 146 | 146 |
|
| 147 | 147 |
|
| ... | ... | |
| 292 | 292 |
* @throws CqiServerError |
| 293 | 293 |
* @throws IOException |
| 294 | 294 |
*/ |
| 295 |
protected boolean _compute() throws Exception {
|
|
| 295 |
protected boolean __compute() throws Exception {
|
|
| 296 | 296 |
|
| 297 | 297 |
// Queries |
| 298 | 298 |
if(this.hasParameterChanged(ProgressionPreferences.QUERIES)) {
|
| tmp/org.txm.progression.core/src/org/txm/progression/core/chartsengine/jfreechart/JFCProgressionCumulativeChartCreator.java (revision 1536) | ||
|---|---|---|
| 126 | 126 |
// System.err.println("*******************************JFCProgressionCumulativeChartCreator.updateChart(): has query parameter change = " + t1 + " / older = " + t2);
|
| 127 | 127 |
if( |
| 128 | 128 |
progression.hasParameterChanged(TXMPreferences.QUERIES) |
| 129 |
|| |
|
| 130 |
progression.hasParameterChanged(TXMPreferences.QUERIES, true) |
|
| 129 |
// ||
|
|
| 130 |
// progression.hasParameterChanged(TXMPreferences.QUERIES, true)
|
|
| 131 | 131 |
) {
|
| 132 | 132 |
XYSeriesCollection dataset = (XYSeriesCollection) chart.getXYPlot().getDataset(); |
| 133 | 133 |
dataset.removeAllSeries(); |
| tmp/org.txm.cooccurrence.chartsengine/src/org/txm/cooccurrence/functions/CooccurrenceGraph.java (revision 1536) | ||
|---|---|---|
| 132 | 132 |
* @see org.txm.core.results.TXMResult#_compute() |
| 133 | 133 |
*/ |
| 134 | 134 |
@Override |
| 135 |
protected boolean _compute() throws Exception {
|
|
| 135 |
protected boolean __compute() throws Exception {
|
|
| 136 | 136 |
// TODO Auto-generated method stub |
| 137 | 137 |
return true; |
| 138 | 138 |
} |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java (revision 1536) | ||
|---|---|---|
| 1193 | 1193 |
else if(object instanceof NewNavigationWidget) {
|
| 1194 | 1194 |
((NewNavigationWidget)object).setCurrentPosition((Integer) value); |
| 1195 | 1195 |
} |
| 1196 |
else if(object instanceof AssistedQueryWidget) {
|
|
| 1197 |
if(!((CQLQuery)value).getQueryString().isEmpty()) {
|
|
| 1198 |
((AssistedQueryWidget)object).setText(((CQLQuery)value).getQueryString()); |
|
| 1199 |
} |
|
| 1200 |
} |
|
| 1201 | 1196 |
else if(object instanceof AssistedChoiceQueryWidget) {
|
| 1202 | 1197 |
if(!((Query)value).getQueryString().isEmpty()) {
|
| 1203 | 1198 |
((AssistedChoiceQueryWidget)object).setText(((Query)value).getQueryString()); |
| tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java (revision 1536) | ||
|---|---|---|
| 145 | 145 |
throw new IllegalArgumentException(NLS.bind(TXMUIMessages.theNumberOfEditorsP0AndNumberOfInputsP1MustBeEqual, editors.size(), inputs.size())); |
| 146 | 146 |
} |
| 147 | 147 |
|
| 148 |
// put first editor in the left panel and set is as "main" editor
|
|
| 148 |
// put first editor in the left panel and set it as "main" editor
|
|
| 149 | 149 |
try {
|
| 150 | 150 |
|
| 151 | 151 |
final CAFactorialMapChartEditor caFactorialMapEditorPart = (CAFactorialMapChartEditor) editors.get(0); |
| tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/SpecificitiesSelection.java (revision 1536) | ||
|---|---|---|
| 77 | 77 |
super(parametersNodePath); |
| 78 | 78 |
} |
| 79 | 79 |
@Override |
| 80 |
protected boolean _compute() throws Exception {
|
|
| 80 |
protected boolean __compute() throws Exception {
|
|
| 81 | 81 |
Specificities specificities = this.getParent(); |
| 82 | 82 |
double[][] tableLines = specificities.getSpecificitesIndex(); |
| 83 | 83 |
String[] partNames = specificities.getColumnsNames(); |
| tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java (revision 1536) | ||
|---|---|---|
| 310 | 310 |
* Saves all preferences and session results in the default app directory. |
| 311 | 311 |
*/ |
| 312 | 312 |
public static void saveAll() {
|
| 313 |
|
|
| 314 |
Log.info("Saving preferences and session results...");
|
|
| 313 | 315 |
|
| 314 |
Log.info("Saving preferences and session results.");
|
|
| 315 |
|
|
| 316 | 316 |
try {
|
| 317 | 317 |
preferencesRootNode.flush(); |
| 318 | 318 |
} catch(Exception e) {
|
| tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java (revision 1536) | ||
|---|---|---|
| 308 | 308 |
Log.finest("Warning: the TXMResult of " + this.getClass() + " is attached to no parent. (uuid = " + this.parametersNodePath + ")"); //$NON-NLS-1$ //$NON-NLS-2$
|
| 309 | 309 |
} |
| 310 | 310 |
|
| 311 |
try {
|
|
| 312 |
this.parametersHistory.add(new HashMap<String, Object>()); |
|
| 313 |
//this.updateLastParameters(); |
|
| 314 |
} |
|
| 315 |
catch (Exception e) {
|
|
| 316 |
// TODO Auto-generated catch block |
|
| 317 |
e.printStackTrace(); |
|
| 318 |
} |
|
| 311 |
// try {
|
|
| 312 |
// this.parametersHistory.add(new HashMap<String, Object>());
|
|
| 313 |
// //this.updateLastParameters();
|
|
| 314 |
// }
|
|
| 315 |
// catch (Exception e) {
|
|
| 316 |
// // TODO Auto-generated catch block
|
|
| 317 |
// e.printStackTrace();
|
|
| 318 |
// }
|
|
| 319 | 319 |
} |
| 320 | 320 |
|
| 321 | 321 |
/** |
| ... | ... | |
| 464 | 464 |
} |
| 465 | 465 |
|
| 466 | 466 |
/** |
| 467 |
* Returns all the member fields of the class instance. |
|
| 467 |
* Returns all the member fields of the class instance (from all inherited classes).
|
|
| 468 | 468 |
* @return the list of declared fields |
| 469 | 469 |
*/ |
| 470 | 470 |
public List<Field> getAllFields() {
|
| ... | ... | |
| 495 | 495 |
* @param appendToLastParameters |
| 496 | 496 |
* @throws Exception |
| 497 | 497 |
*/ |
| 498 |
// FIXME: SJ: should become useless after ChartResult changes |
|
| 498 | 499 |
protected void updateLastParameters(int parameterType, boolean appendToLastParameters) throws Exception {
|
| 499 | 500 |
|
| 500 | 501 |
HashMap<String, Object> lastParameters; |
| ... | ... | |
| 533 | 534 |
} |
| 534 | 535 |
|
| 535 | 536 |
// truncate the stack to the max count |
| 536 |
// FIXME: store this in a TBX preference |
|
| 537 |
// FIXME: SJ: later, store this in a TBX preference
|
|
| 537 | 538 |
if(this.parametersHistory.size() > 5) {
|
| 538 | 539 |
this.parametersHistory.remove(0); |
| 539 | 540 |
this.parametersHistory.remove(0); |
| ... | ... | |
| 552 | 553 |
|
| 553 | 554 |
|
| 554 | 555 |
/** |
| 555 |
* |
|
| 556 |
* Removes all the parameters of the specified type from the last parameters history.
|
|
| 556 | 557 |
* @param parameterType |
| 557 | 558 |
* @throws Exception |
| 558 | 559 |
*/ |
| ... | ... | |
| 583 | 584 |
} |
| 584 | 585 |
|
| 585 | 586 |
|
| 586 |
/** |
|
| 587 |
* Clears the parameters used for last computing. |
|
| 588 |
* Dedicated to force a full recomputing. |
|
| 589 |
* @throws Exception |
|
| 590 |
*/ |
|
| 591 |
protected void clearLastComputingParameters() {
|
|
| 592 |
this.clearLastParameters(Parameter.COMPUTING); |
|
| 593 |
} |
|
| 587 |
// /**
|
|
| 588 |
// * Clears the parameters used for last computing.
|
|
| 589 |
// * Dedicated to force a full recomputing.
|
|
| 590 |
// * @throws Exception
|
|
| 591 |
// */
|
|
| 592 |
// protected void clearLastParameters() {
|
|
| 593 |
// this.clearLastParameters(Parameter.COMPUTING);
|
|
| 594 |
// }
|
|
| 594 | 595 |
|
| 595 | 596 |
|
| 596 | 597 |
/** |
| ... | ... | |
| 601 | 602 |
* @param older |
| 602 | 603 |
* @return |
| 603 | 604 |
*/ |
| 604 |
public boolean hasParameterChanged(String key, boolean older) {
|
|
| 605 |
if(older) {
|
|
| 606 |
return this.hasParameterChanged(key, this.parametersHistory.get(this.parametersHistory.size() - 2)); |
|
| 607 |
} |
|
| 608 |
else {
|
|
| 609 |
return this.hasParameterChanged(key); |
|
| 610 |
} |
|
| 611 |
} |
|
| 605 |
// FIXME: SJ: should become useless after ChartResult changes |
|
| 606 |
// @Deprecated |
|
| 607 |
// public boolean hasParameterChanged(String key, boolean older) {
|
|
| 608 |
// if(older) {
|
|
| 609 |
// return this.hasParameterChanged(key, this.parametersHistory.get(this.parametersHistory.size() - 2)); |
|
| 610 |
// } |
|
| 611 |
// else {
|
|
| 612 |
// return this.hasParameterChanged(key); |
|
| 613 |
// } |
|
| 614 |
// } |
|
| 612 | 615 |
|
| 613 | 616 |
/** |
| 614 | 617 |
* Checks if a parameter value has changed since last computing. |
| ... | ... | |
| 627 | 630 |
* @return |
| 628 | 631 |
*/ |
| 629 | 632 |
public boolean hasParameterChanged(String key, HashMap<String, Object> lastParameters) {
|
| 633 |
|
|
| 634 |
if(lastParameters == null) {
|
|
| 635 |
return true; |
|
| 636 |
} |
|
| 637 |
|
|
| 630 | 638 |
if (key.isEmpty()) {
|
| 631 | 639 |
return false; |
| 632 | 640 |
} |
| 633 |
// if (this.isDirty()) {
|
|
| 634 |
// return true; |
|
| 635 |
// } |
|
| 636 | 641 |
|
| 637 | 642 |
Object lastValue = lastParameters.get(key); |
| 638 | 643 |
Object newValue = this.getParameter(key); |
| ... | ... | |
| 649 | 654 |
} |
| 650 | 655 |
} |
| 651 | 656 |
|
| 657 |
/** |
|
| 658 |
* Checks if at least one parameter value of the specified parameter type has changed since last computing according to the specified external map. |
|
| 659 |
* @param lastParameters |
|
| 660 |
* @param parameterType |
|
| 661 |
* @return |
|
| 662 |
*/ |
|
| 663 |
public boolean hasParameterChanged(HashMap<String, Object> lastParameters, int parameterType) throws Exception {
|
|
| 652 | 664 |
|
| 665 |
// result has never been computed |
|
| 666 |
if(lastParameters == null) {
|
|
| 667 |
return true; |
|
| 668 |
} |
|
| 653 | 669 |
|
| 670 |
boolean hasParameterChanged = false; |
|
| 671 |
|
|
| 672 |
List<Field> fields = this.getAllFields(); |
|
| 673 |
|
|
| 674 |
for (Field f : fields) {
|
|
| 675 |
Parameter parameter = f.getAnnotation(Parameter.class); |
|
| 676 |
if (parameter == null || parameter.type() != parameterType) {
|
|
| 677 |
continue; |
|
| 678 |
} |
|
| 679 |
String name; |
|
| 680 |
if (!parameter.key().isEmpty()) {
|
|
| 681 |
name = parameter.key(); |
|
| 682 |
} |
|
| 683 |
else {
|
|
| 684 |
name = f.getName(); |
|
| 685 |
} |
|
| 686 |
|
|
| 687 |
f.setAccessible(true); // to be able to test the field values |
|
| 688 |
|
|
| 689 |
hasParameterChanged = this.hasParameterChanged(name, lastParameters); |
|
| 690 |
|
|
| 691 |
if (hasParameterChanged) {
|
|
| 692 |
Log.finest("TXMResult.hasParameterChanged(): " + this.getClass().getSimpleName() + ": parameter " + name + " has changed.");
|
|
| 693 |
break; |
|
| 694 |
} |
|
| 695 |
} |
|
| 696 |
|
|
| 697 |
return hasParameterChanged; |
|
| 698 |
} |
|
| 699 |
|
|
| 700 |
|
|
| 654 | 701 |
/** |
| 702 |
* Checks if at least one computing parameter value has changed since last computing. |
|
| 703 |
* @return |
|
| 704 |
* @throws Exception |
|
| 705 |
*/ |
|
| 706 |
public boolean hasParameterChanged() throws Exception {
|
|
| 707 |
return this.hasParameterChanged(this.getLastParametersFromHistory(), Parameter.COMPUTING); |
|
| 708 |
} |
|
| 709 |
|
|
| 710 |
|
|
| 711 |
/** |
|
| 655 | 712 |
* Dumps the command and default preferences of the result preferences node qualifier. |
| 656 | 713 |
* @return |
| 657 | 714 |
*/ |
| ... | ... | |
| 733 | 790 |
|
| 734 | 791 |
|
| 735 | 792 |
|
| 736 |
/** |
|
| 737 |
* Updates the dirty state by comparing an old parameter with a new one. |
|
| 738 |
* |
|
| 739 |
* @param lastValue may be null |
|
| 740 |
* @param newValue may be null |
|
| 741 |
*/ |
|
| 742 |
protected void updateDirty(Object lastValue, Object newValue) {
|
|
| 743 |
if(lastValue == null && newValue == null) {
|
|
| 744 |
return; |
|
| 745 |
} |
|
| 746 |
if (lastValue == null || !lastValue.equals(newValue)) {
|
|
| 747 |
Log.info("TXMResult.updateDirty(): " + this.getClass().getSimpleName() + ": setting dirty to true: last = "+ lastValue + " / new = " + newValue);
|
|
| 748 |
this.setDirty(); |
|
| 749 |
} |
|
| 750 |
} |
|
| 793 |
// /**
|
|
| 794 |
// * Updates the dirty state by comparing an old parameter with a new one.
|
|
| 795 |
// *
|
|
| 796 |
// * @param lastValue may be null
|
|
| 797 |
// * @param newValue may be null
|
|
| 798 |
// */
|
|
| 799 |
// protected void updateDirty(Object lastValue, Object newValue) {
|
|
| 800 |
// if(lastValue == null && newValue == null) {
|
|
| 801 |
// return;
|
|
| 802 |
// }
|
|
| 803 |
// if (lastValue == null || !lastValue.equals(newValue)) {
|
|
| 804 |
// Log.info("TXMResult.updateDirty(): " + this.getClass().getSimpleName() + ": setting dirty to true: last = "+ lastValue + " / new = " + newValue);
|
|
| 805 |
// this.setDirty();
|
|
| 806 |
// }
|
|
| 807 |
// }
|
|
| 751 | 808 |
|
| 752 | 809 |
/** |
| 753 |
* Updates the dirty states by comparing TXMResult @Parameter with previously used parameters in the compute() method.
|
|
| 810 |
* Sets the dirty state to true if a parameter has changed since last computing.
|
|
| 754 | 811 |
* |
| 755 |
* To work correctly : |
|
| 756 |
* - the equals method of the TXMResult parameters must be correctly implemented. |
|
| 757 |
* - the @Parameter member must be another variable (the previous is stored in the lastParameters protected variable) (e.g editing a List @Parameter is not enough for this test) |
|
| 758 |
* |
|
| 759 |
* The method is final and don't need to be re-implemented. To ignore this method, don't use the @Parameter annotations |
|
| 760 |
* |
|
| 761 |
* Implement isDirty if you need more test |
|
| 762 |
* |
|
| 763 |
* @return |
|
| 764 |
* @throws IllegalAccessException |
|
| 765 |
* @throws IllegalArgumentException |
|
| 812 |
* @throws Exception |
|
| 766 | 813 |
*/ |
| 767 |
public final boolean isDirtyFromHistory() throws Exception {
|
|
| 768 |
|
|
| 769 |
List<Field> fields = this.getAllFields(); |
|
| 814 |
public void updateDirtyFromHistory() throws Exception {
|
|
| 815 |
// |
|
| 816 |
//// // result has never been computed |
|
| 817 |
//// if(this.getLastParametersFromHistory() == null) {
|
|
| 818 |
//// this.dirty = true; |
|
| 819 |
//// return true; |
|
| 820 |
//// } |
|
| 821 |
//// |
|
| 822 |
//// List<Field> fields = this.getAllFields(); |
|
| 823 |
//// |
|
| 824 |
//// for (Field f : fields) {
|
|
| 825 |
//// Parameter parameter = f.getAnnotation(Parameter.class); |
|
| 826 |
//// if (parameter == null |
|
| 827 |
//// || parameter.type() == Parameter.INTERNAL |
|
| 828 |
//// //|| parameter.type() != Parameter.COMPUTING |
|
| 829 |
//// ) {
|
|
| 830 |
//// continue; |
|
| 831 |
//// } |
|
| 832 |
//// String name; |
|
| 833 |
//// if (!parameter.key().isEmpty()) {
|
|
| 834 |
//// name = parameter.key(); |
|
| 835 |
//// } |
|
| 836 |
//// else {
|
|
| 837 |
//// name = f.getName(); |
|
| 838 |
//// } |
|
| 839 |
//// |
|
| 840 |
//// f.setAccessible(true); // to be able to test the field values |
|
| 841 |
//// |
|
| 842 |
//// Object previousValue = this.getLastParametersFromHistory().get(name); |
|
| 843 |
//// Object newValue = f.get(this); |
|
| 844 |
//// |
|
| 845 |
//// // // FIXME: debug |
|
| 846 |
//// // Log.finest("TXMResult.isDirtyFromHistory(): checking parameter: " + name);
|
|
| 847 |
//// |
|
| 848 |
//// this.updateDirty(previousValue, newValue); |
|
| 849 |
//// if (this.dirty) {
|
|
| 850 |
//// Log.finest("TXMResult.isDirtyFromHistory(): " + this.getClass().getSimpleName() + ": parameter " + name + " has changed.");
|
|
| 851 |
//// return this.dirty; // no need to go further |
|
| 852 |
//// } |
|
| 853 |
//// } |
|
| 854 |
//// return this.dirty; |
|
| 855 |
// |
|
| 856 |
// this.dirty = this.hasParameterChanged(); |
|
| 857 |
//// if (this.chartDirty) {
|
|
| 858 |
//// // FIXME: debug |
|
| 859 |
//// Log.finest("ChartResult.isChartDirtyFromHistory(): parameter " + name + " has changed.");
|
|
| 860 |
//// return this.chartDirty; // no need to go further |
|
| 861 |
//// } |
|
| 862 |
//// return this.dirty; |
|
| 863 |
// if(this.dirty) {
|
|
| 864 |
// return true; |
|
| 865 |
// } |
|
| 866 |
// else {
|
|
| 867 |
//return this.hasParameterChanged(); |
|
| 868 |
// } |
|
| 770 | 869 |
|
| 771 |
for (Field f : fields) {
|
|
| 772 |
Parameter parameter = f.getAnnotation(Parameter.class); |
|
| 773 |
if (parameter == null |
|
| 774 |
|| parameter.type() != Parameter.COMPUTING |
|
| 775 |
// FIXME: non electric mode tests |
|
| 776 |
//|| parameter.electric() == false |
|
| 777 |
) {
|
|
| 778 |
continue; |
|
| 779 |
} |
|
| 780 |
String name; |
|
| 781 |
if (!parameter.key().isEmpty()) {
|
|
| 782 |
name = parameter.key(); |
|
| 783 |
} |
|
| 784 |
else {
|
|
| 785 |
name = f.getName(); |
|
| 786 |
} |
|
| 787 |
|
|
| 788 |
f.setAccessible(true); // to be able to test the field values |
|
| 789 |
|
|
| 790 |
Object previousValue = this.getLastParametersFromHistory().get(name); |
|
| 791 |
Object newValue = f.get(this); |
|
| 792 |
|
|
| 793 |
// // FIXME: debug |
|
| 794 |
// Log.finest("TXMResult.isDirtyFromHistory(): checking parameter: " + name);
|
|
| 795 |
|
|
| 796 |
this.updateDirty(previousValue, newValue); |
|
| 797 |
if (this.dirty) {
|
|
| 798 |
Log.finest("TXMResult.isDirtyFromHistory(): " + this.getClass().getSimpleName() + ": parameter " + name + " has changed.");
|
|
| 799 |
return this.dirty; // no need to go further |
|
| 800 |
} |
|
| 870 |
if(this.hasParameterChanged()) {
|
|
| 871 |
this.dirty = true; |
|
| 801 | 872 |
} |
| 802 |
return this.dirty; |
|
| 873 |
|
|
| 803 | 874 |
} |
| 804 | 875 |
|
| 805 | 876 |
|
| 806 | 877 |
public HashMap<String, Object> getLastParametersFromHistory() {
|
| 807 |
return this.parametersHistory.get(this.parametersHistory.size() - 1); |
|
| 878 |
try {
|
|
| 879 |
return this.parametersHistory.get(this.parametersHistory.size() - 1); |
|
| 880 |
} |
|
| 881 |
catch (Exception e) {
|
|
| 882 |
return null; |
|
| 883 |
} |
|
| 808 | 884 |
} |
| 809 | 885 |
|
| 810 | 886 |
/** |
| ... | ... | |
| 2166 | 2242 |
} |
| 2167 | 2243 |
} |
| 2168 | 2244 |
|
| 2169 |
// check if the result is dirty (manually dirty or have some parameters changed since last computing) |
|
| 2170 |
boolean d1 = this.isDirtyFromHistory(); |
|
| 2171 |
boolean d2 = this.isDirty(); |
|
| 2172 |
if (!d1 && !d2) {
|
|
| 2245 |
// update the dirty state from history if a parameter has changed since last computing |
|
| 2246 |
this.updateDirtyFromHistory(); |
|
| 2247 |
|
|
| 2248 |
// check if the result is dirty |
|
| 2249 |
if (!this.isDirty()) {
|
|
| 2173 | 2250 |
Log.finest("--- TXMResult.compute(): " + this.getClass().getSimpleName() + ": result parameters have not changed since last computing, computing skipped.");
|
| 2174 | 2251 |
skipComputing = true; |
| 2175 | 2252 |
} |
| ... | ... | |
| 2192 | 2269 |
this.computing = false; |
| 2193 | 2270 |
return false; |
| 2194 | 2271 |
} |
| 2272 |
|
|
| 2273 |
|
|
| 2274 |
// // clear the lazy name, no more needed since the object has been computed and getSimpleName() can now work |
|
| 2275 |
// this.lazyName = null; |
|
| 2276 |
// |
|
| 2277 |
// // store last used parameters |
|
| 2278 |
// this.updateLastParameters(); |
|
| 2279 |
|
|
| 2280 |
|
|
| 2281 |
|
|
| 2195 | 2282 |
} |
| 2196 | 2283 |
|
| 2197 | 2284 |
// clear the lazy name, no more needed since the object has been computed and getSimpleName() can now work |
| ... | ... | |
| 2205 | 2292 |
|
| 2206 | 2293 |
// store last used parameters |
| 2207 | 2294 |
// this.updateLastParameters(); |
| 2208 |
if (this.hasBeenComputedOnce// don't update the compute date if the object has been lazy loaded
|
|
| 2295 |
if (this.hasBeenComputedOnce// don't update the computing date if the object has been lazy loaded
|
|
| 2209 | 2296 |
|| this.lastComputingDate == null) { // set the update date if never computed once
|
| 2210 | 2297 |
this.lastComputingDate = Calendar.getInstance().getTime(); // update this internal parameter before saving parameters |
| 2211 | 2298 |
} |
| ... | ... | |
| 2276 | 2363 |
} |
| 2277 | 2364 |
|
| 2278 | 2365 |
/** |
| 2279 |
* |
|
| 2366 |
* This method is dedicated to be implemented by the inherited result classes to define the computing steps.
|
|
| 2280 | 2367 |
* @return true if the result was computed |
| 2281 | 2368 |
* |
| 2282 | 2369 |
* @throws Exception |
| tmp/org.txm.ahc.core/src/org/txm/ahc/core/functions/AHC.java (revision 1536) | ||
|---|---|---|
| 185 | 185 |
} |
| 186 | 186 |
|
| 187 | 187 |
@Override |
| 188 |
protected boolean _compute() {
|
|
| 188 |
protected boolean __compute() {
|
|
| 189 | 189 |
|
| 190 | 190 |
Log.info("Computing AHC...");
|
| 191 | 191 |
try {
|
Formats disponibles : Unified diff