Révision 1138
| tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java (revision 1138) | ||
|---|---|---|
| 76 | 76 |
protected boolean hasBeenComputedOnce = false; |
| 77 | 77 |
|
| 78 | 78 |
/** |
| 79 |
* Can be used to know if an object needs a full recomputing. |
|
| 80 |
*/ |
|
| 81 |
protected boolean needsFullRecomputing = false; |
|
| 82 |
|
|
| 83 |
/** |
|
| 79 | 84 |
* The weight, essentially used for sorting purpose. |
| 80 | 85 |
*/ |
| 81 | 86 |
protected int weight; |
| ... | ... | |
| 139 | 144 |
*/ |
| 140 | 145 |
protected HashMap<String, Object> lastParameters = new HashMap<String, Object>(); |
| 141 | 146 |
|
| 147 |
// FIXME: SJ: actually only used by the chart results. Purpose here is that the chart creators need to know if a computing parameter has changed to recreate or not some entity. |
|
| 148 |
// The problem is since the result is already computing, the parameters are already updated and the method hasParameterChanged() will always return false. Using this stack fix the problem. |
|
| 149 |
// But this stack is also the start for an UNDO command on TXMResult. |
|
| 150 |
protected ArrayList<HashMap<String, Object>> parametersHistory = new ArrayList<HashMap<String, Object>>(); |
|
| 151 |
|
|
| 142 | 152 |
|
| 143 | 153 |
/** |
| 144 | 154 |
* Internal persistable state. |
| ... | ... | |
| 282 | 292 |
if (this.parent == null) {
|
| 283 | 293 |
Log.warning("Warning: the TXMResult of " + this.getClass() + " is attached to no parent. (uuid = " + this.getUUID() + ")");
|
| 284 | 294 |
} |
| 295 |
|
|
| 296 |
try {
|
|
| 297 |
this.updateLastParameters(); |
|
| 298 |
} |
|
| 299 |
catch (Exception e) {
|
|
| 300 |
// TODO Auto-generated catch block |
|
| 301 |
e.printStackTrace(); |
|
| 302 |
} |
|
| 285 | 303 |
} |
| 286 | 304 |
|
| 287 | 305 |
public void setUserName(String name) {
|
| ... | ... | |
| 399 | 417 |
*/ |
| 400 | 418 |
protected void updateLastParameters(int parameterType) throws Exception {
|
| 401 | 419 |
|
| 420 |
// FIXME: SJ store in the history stack |
|
| 421 |
HashMap<String, Object> lastParametersHistory = new HashMap<>(); |
|
| 422 |
|
|
| 402 | 423 |
List<Field> fields = this.getAllFields(); |
| 403 | 424 |
|
| 404 | 425 |
for (Field f : fields) {
|
| ... | ... | |
| 417 | 438 |
|
| 418 | 439 |
f.setAccessible(true); |
| 419 | 440 |
this.lastParameters.put(name, f.get(this)); |
| 441 |
|
|
| 442 |
lastParametersHistory.put(name, f.get(this)); |
|
| 420 | 443 |
} |
| 444 |
|
|
| 445 |
this.parametersHistory.add(lastParametersHistory); |
|
| 421 | 446 |
} |
| 422 | 447 |
|
| 423 | 448 |
|
| ... | ... | |
| 764 | 789 |
return TXMPreferences.keyExists(this.parametersNodePath, key); |
| 765 | 790 |
} |
| 766 | 791 |
|
| 792 |
/** |
|
| 793 |
* Checks if a preference is empty (equals to "") in the command preference node. |
|
| 794 |
* An empty preference can be used to disable a functionality for a kind of result |
|
| 795 |
* (eg. A partition dimension bar chart does not have a legend so it can be used to not offer the hide/show legend button in UI). |
|
| 796 |
* @param key |
|
| 797 |
* @return |
|
| 798 |
*/ |
|
| 799 |
public boolean isEmptyPreference(String key) {
|
|
| 800 |
return TXMPreferences.isEmpty(this.commandPreferencesNodePath, key); |
|
| 801 |
} |
|
| 767 | 802 |
|
| 803 |
|
|
| 804 |
|
|
| 768 | 805 |
/** |
| 769 | 806 |
* Stores the specified parameters pairs of key/value in a local node dedicated to the specified result. The node qualifier is generated by the <code>TXMResult.getUUID</code> method. |
| 770 | 807 |
* |
| ... | ... | |
| 964 | 1001 |
return setParameters(new TXMParameters(parameters)); |
| 965 | 1002 |
} |
| 966 | 1003 |
|
| 1004 |
/** |
|
| 1005 |
* Sets a parameters from its parameter annotation "key". |
|
| 1006 |
* @param key |
|
| 1007 |
* @param value |
|
| 1008 |
* @return |
|
| 1009 |
* @throws Exception |
|
| 1010 |
*/ |
|
| 967 | 1011 |
public boolean setParameter(String key, Object value) throws Exception {
|
| 968 |
return setParameter(key, value, false);
|
|
| 1012 |
return setParameter(key, value, true);
|
|
| 969 | 1013 |
} |
| 970 | 1014 |
|
| 971 | 1015 |
/** |
| ... | ... | |
| 998 | 1042 |
targetField.setAccessible(true); |
| 999 | 1043 |
|
| 1000 | 1044 |
// FIXME: debug |
| 1001 |
// if(value != null) {
|
|
| 1002 |
// Log.info("TXMResult.setParameter(): setting parameter " + key + " = " + value + " for " + this.getClass() + " (" + value.getClass() + ")");
|
|
| 1003 |
// }
|
|
| 1045 |
//if(value != null) {
|
|
| 1046 |
// Log.info("TXMResult.setParameter(): setting parameter " + key + " = " + value + " for " + this.getClass() + " (" + value.getClass() + ")");
|
|
| 1047 |
//} |
|
| 1004 | 1048 |
|
| 1005 | 1049 |
targetField.set(this, value); |
| 1006 |
} else if (bubble) {
|
|
| 1007 |
getParent().setParameter(key, value); |
|
| 1008 | 1050 |
} |
| 1051 |
//else |
|
| 1052 |
if (this.parent != null && bubble) {
|
|
| 1053 |
this.parent.setParameter(key, value); |
|
| 1054 |
} |
|
| 1009 | 1055 |
|
| 1010 | 1056 |
return true; |
| 1011 | 1057 |
} |
| ... | ... | |
| 1233 | 1279 |
} |
| 1234 | 1280 |
} |
| 1235 | 1281 |
|
| 1282 |
/** |
|
| 1283 |
* Deletes the children of the specified class. |
|
| 1284 |
* @param type |
|
| 1285 |
* @return |
|
| 1286 |
*/ |
|
| 1287 |
synchronized public void deleteChildren(Class type) {
|
|
| 1288 |
ArrayList<TXMResult> children = (ArrayList<TXMResult>) this.getChildren(type); |
|
| 1289 |
for (int i = 0; i < children.size(); i++) {
|
|
| 1290 |
children.get(i).delete(); |
|
| 1291 |
} |
|
| 1292 |
} |
|
| 1293 |
|
|
| 1236 | 1294 |
|
| 1237 | 1295 |
/** |
| 1238 | 1296 |
* Gets the first child. |
| ... | ... | |
| 1684 | 1742 |
|
| 1685 | 1743 |
|
| 1686 | 1744 |
/** |
| 1687 |
* |
|
| 1688 |
* @param monitor |
|
| 1689 |
* @param deepComputing |
|
| 1690 |
* @return |
|
| 1691 |
* @throws Exception |
|
| 1692 |
*/ |
|
| 1693 |
public boolean compute(IProgressMonitor monitor, boolean deepComputing) throws Exception {
|
|
| 1694 |
return this.compute(monitor, deepComputing, true); |
|
| 1695 |
} |
|
| 1696 |
|
|
| 1697 |
/** |
|
| 1698 | 1745 |
* Computes the result if |
| 1699 | 1746 |
* it can be computed |
| 1700 | 1747 |
* it is dirty |
| ... | ... | |
| 1709 | 1756 |
* @throws CqiClientExceptio |
| 1710 | 1757 |
* @throws IOException |
| 1711 | 1758 |
*/ |
| 1712 |
protected boolean compute(IProgressMonitor monitor, boolean deepComputing, boolean updateLastParameters) throws Exception {
|
|
| 1759 |
public boolean compute(IProgressMonitor monitor, boolean deepComputing) throws Exception {
|
|
| 1713 | 1760 |
|
| 1714 | 1761 |
// FIXME: see if this skipComputing tests is still useful? is it possible to directly return instead? |
| 1715 | 1762 |
// en fait voir ChartResult.compute() if(super.compute(monitor, true, false)), je pense que le prob vient du fait que si on retourne false dans TXMResult.compute() alors renderChart() ne sera pas appelé |
| ... | ... | |
| 1717 | 1764 |
|
| 1718 | 1765 |
this.monitor = monitor; |
| 1719 | 1766 |
|
| 1720 |
if (!this.isDirtyFromHistory() && !this.isDirty()) {
|
|
| 1767 |
if (!this.needsFullRecomputing && !this.isDirtyFromHistory() && !this.isDirty()) {
|
|
| 1721 | 1768 |
Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": result parameters have not changed since last computing, computing skipped.");
|
| 1722 | 1769 |
skipComputing = true; |
| 1723 | 1770 |
} |
| ... | ... | |
| 1733 | 1780 |
// if (parent != null && !parent.getHasBeenComputedOnce()) { // parent must be computed at least one time
|
| 1734 | 1781 |
// SJ: other way, test the object itself |
| 1735 | 1782 |
if (this.parent != null && !(this.parent instanceof Project)) {
|
| 1736 |
if (!this.parent.compute(monitor, false, updateLastParameters)) {
|
|
| 1783 |
if (!this.parent.compute(monitor, true)) {
|
|
| 1737 | 1784 |
Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to compute parent result.");
|
| 1738 | 1785 |
|
| 1739 | 1786 |
//return false; |
| ... | ... | |
| 1756 | 1803 |
// clear the lazy name, no more needed since the object has been computed and getSimpleName() can now work |
| 1757 | 1804 |
this.lazyName = null; |
| 1758 | 1805 |
|
| 1759 |
// store last used parameters |
|
| 1760 |
if (updateLastParameters) {
|
|
| 1806 |
// // store last used parameters |
|
| 1807 |
// if (updateLastParameters) {
|
|
| 1808 |
// this.updateLastParameters(); |
|
| 1809 |
// } |
|
| 1810 |
// |
|
| 1811 |
// if (!this.autoSaveParametersFromAnnotations()) {
|
|
| 1812 |
// Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to save parameters from annotations for " + this.getName() + ".");
|
|
| 1813 |
// } |
|
| 1814 |
// if (!this.saveParameters()) {
|
|
| 1815 |
// Log.severe("TXMResult.compute():" + this.getClass().getSimpleName() + ": failed to save parameters for " + this.getName() + ".");
|
|
| 1816 |
// } |
|
| 1817 |
// |
|
| 1818 |
// // file persistence flush |
|
| 1819 |
// // FIXME: to do only if !skipComputing? |
|
| 1820 |
// if (this.mustBePersisted()) {
|
|
| 1821 |
// TXMPreferences.flush(this); |
|
| 1822 |
// } |
|
| 1823 |
|
|
| 1824 |
if(!skipComputing) {
|
|
| 1825 |
|
|
| 1826 |
// store last used parameters |
|
| 1761 | 1827 |
this.updateLastParameters(); |
| 1762 |
} |
|
| 1763 | 1828 |
|
| 1764 |
if (!this.autoSaveParametersFromAnnotations()) {
|
|
| 1765 |
Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to save parameters from annotations for " + this.getName() + ".");
|
|
| 1766 |
} |
|
| 1767 |
if (!this.saveParameters()) {
|
|
| 1768 |
Log.severe("TXMResult.compute():" + this.getClass().getSimpleName() + ": failed to save parameters for " + this.getName() + ".");
|
|
| 1769 |
} |
|
| 1829 |
if (!this.autoSaveParametersFromAnnotations()) {
|
|
| 1830 |
Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to save parameters from annotations for " + this.getName() + ".");
|
|
| 1831 |
}
|
|
| 1832 |
if (!this.saveParameters()) {
|
|
| 1833 |
Log.severe("TXMResult.compute():" + this.getClass().getSimpleName() + ": failed to save parameters for " + this.getName() + ".");
|
|
| 1834 |
}
|
|
| 1770 | 1835 |
|
| 1771 |
// file persistence flush |
|
| 1772 |
if (this.mustBePersisted()) {
|
|
| 1773 |
TXMPreferences.flush(this); |
|
| 1774 |
} |
|
| 1775 |
|
|
| 1776 |
if(!skipComputing) {
|
|
| 1836 |
// file persistence flush
|
|
| 1837 |
if (this.mustBePersisted()) {
|
|
| 1838 |
TXMPreferences.flush(this);
|
|
| 1839 |
}
|
|
| 1840 |
|
|
| 1841 |
|
|
| 1777 | 1842 |
this.dirty = false; // the computing was successful, the result is no more dirty |
| 1778 | 1843 |
this.hasBeenComputedOnce = true; |
| 1844 |
this.needsFullRecomputing = false; |
|
| 1845 |
|
|
| 1779 | 1846 |
Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing of result type " + this.getClass() + " done.");
|
| 1780 | 1847 |
|
| 1848 |
// set the children as dirty since the result has changed |
|
| 1781 | 1849 |
for (int i = 0; i < this.children.size(); i++) {
|
| 1782 |
this.getChild(i).setDirty(); // force recomputing even if some parameters of the result itself have not changed
|
|
| 1850 |
this.getChild(i).setDirty(); |
|
| 1783 | 1851 |
} |
| 1784 | 1852 |
|
| 1785 | 1853 |
// Children cascade computing |
| ... | ... | |
| 1787 | 1855 |
|
| 1788 | 1856 |
Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": cascade computing of " + this.children.size() + " children.");
|
| 1789 | 1857 |
|
| 1790 |
for (TXMResult child : getChildren()) {
|
|
| 1858 |
for (TXMResult child : this.getChildren()) {
|
|
| 1791 | 1859 |
// FIXME: may be better to add a member needFullRecomputing in TXMResult? |
| 1792 | 1860 |
// this.getChild(i).setDirty(); // force recomputing even if some parameters of the result itself have not changed |
| 1793 |
//this.getChild(i).setHasBeenComputedOnce(false); // force recomputing even if some parameters of the result itself have not changed |
|
| 1861 |
child.setNeedsFullRecomputing(true); // force recomputing even if some parameters of the result itself have not changed |
|
| 1862 |
|
|
| 1863 |
// recompute only children that has been opened once |
|
| 1794 | 1864 |
//if (child.hasBeenComputedOnce()) {
|
| 1795 |
child.compute(monitor, deepComputing, updateLastParameters);
|
|
| 1865 |
child.compute(monitor, deepComputing); |
|
| 1796 | 1866 |
//} |
| 1797 | 1867 |
} |
| 1798 | 1868 |
} |
| ... | ... | |
| 2092 | 2162 |
public String getParametersNodePath() {
|
| 2093 | 2163 |
return parametersNodePath; |
| 2094 | 2164 |
} |
| 2165 |
|
|
| 2166 |
/** |
|
| 2167 |
* @return the needsFullRecomputing |
|
| 2168 |
*/ |
|
| 2169 |
public boolean needsFullRecomputing() {
|
|
| 2170 |
return needsFullRecomputing; |
|
| 2171 |
} |
|
| 2172 |
|
|
| 2173 |
/** |
|
| 2174 |
* @param needsFullRecomputing the needsFullRecomputing to set |
|
| 2175 |
*/ |
|
| 2176 |
public void setNeedsFullRecomputing(boolean needsFullRecomputing) {
|
|
| 2177 |
this.needsFullRecomputing = needsFullRecomputing; |
|
| 2178 |
} |
|
| 2179 |
|
|
| 2180 |
/** |
|
| 2181 |
* @return the parametersHistory |
|
| 2182 |
*/ |
|
| 2183 |
public ArrayList<HashMap<String, Object>> getParametersHistory() {
|
|
| 2184 |
return parametersHistory; |
|
| 2185 |
} |
|
| 2095 | 2186 |
} |
| tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java (revision 1138) | ||
|---|---|---|
| 4 | 4 |
package org.txm.chartsengine.core.results; |
| 5 | 5 |
|
| 6 | 6 |
import java.lang.reflect.Field; |
| 7 |
import java.util.HashMap; |
|
| 7 | 8 |
import java.util.List; |
| 8 | 9 |
|
| 9 | 10 |
import org.eclipse.core.runtime.IProgressMonitor; |
| ... | ... | |
| 141 | 142 |
@Override |
| 142 | 143 |
public void setDirty() {
|
| 143 | 144 |
super.setDirty(); |
| 144 |
// this.chart = null;
|
|
| 145 |
this.chart = null; |
|
| 145 | 146 |
this.setChartDirty(); |
| 146 | 147 |
} |
| 147 | 148 |
|
| ... | ... | |
| 154 | 155 |
|
| 155 | 156 |
|
| 156 | 157 |
@Override |
| 157 |
public void setHasBeenComputedOnce(boolean hasBeenComputedOnce) {
|
|
| 158 |
super.setHasBeenComputedOnce(hasBeenComputedOnce);
|
|
| 158 |
public void setNeedsFullRecomputing(boolean needsFullRecomputing) {
|
|
| 159 |
super.setNeedsFullRecomputing(needsFullRecomputing);
|
|
| 159 | 160 |
this.chart = null; |
| 160 | 161 |
} |
| 161 | 162 |
|
| ... | ... | |
| 165 | 166 |
Log.finest("ChartResult.compute(): computing result of type " + this.getClass() + "...");
|
| 166 | 167 |
|
| 167 | 168 |
// compute the result if needed |
| 168 |
if(super.compute(monitor, true, false)) {
|
|
| 169 |
if(super.compute(monitor, true)) {
|
|
| 169 | 170 |
// compute the chart |
| 170 | 171 |
return renderChart(); |
| 171 | 172 |
} |
| ... | ... | |
| 175 | 176 |
|
| 176 | 177 |
} |
| 177 | 178 |
|
| 179 |
|
|
| 180 |
@Override |
|
| 181 |
public boolean hasParameterChanged(String key) {
|
|
| 182 |
HashMap<String, Object> lastParameters = this.lastParameters; |
|
| 183 |
if(this.parametersHistory.size() > 1) {
|
|
| 184 |
lastParameters = this.parametersHistory.get(this.parametersHistory.size() - 2); |
|
| 185 |
} |
|
| 186 |
|
|
| 187 |
return this.hasParameterChanged(key, lastParameters); |
|
| 188 |
} |
|
| 189 |
|
|
| 178 | 190 |
/** |
| 191 |
* Renders the chart using the right chart creator. |
|
| 192 |
* The chart is created if needed then it is updated. |
|
| 179 | 193 |
* |
| 180 | 194 |
* @return true if the chart has been rendered |
| 181 | 195 |
* @throws Exception |
| ... | ... | |
| 512 | 526 |
} |
| 513 | 527 |
|
| 514 | 528 |
|
| 515 |
/** |
|
| 516 |
* Checks if a preference is empty (equals to "") in the command preference node. |
|
| 517 |
* An empty preference can be used to disable a functionality for a kind of result |
|
| 518 |
* (eg. A partition dimension bar chart does not have a legend so it can be used to not offer the hide/show legend button in UI). |
|
| 519 |
* @param key |
|
| 520 |
* @return |
|
| 521 |
*/ |
|
| 522 |
public boolean isEmptyPreference(String key) {
|
|
| 523 |
return TXMPreferences.isEmpty(this.commandPreferencesNodePath, key); |
|
| 524 |
} |
|
| 525 | 529 |
|
| 526 |
|
|
| 527 |
|
|
| 528 |
|
|
| 529 | 530 |
/** |
| 530 | 531 |
* @return the monoStyle |
| 531 | 532 |
*/ |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreatePartitionDialog.java (revision 1138) | ||
|---|---|---|
| 632 | 632 |
return null; |
| 633 | 633 |
} |
| 634 | 634 |
|
| 635 |
if (p.getNPart() == 0) {
|
|
| 635 |
if (p.getPartsCount() == 0) {
|
|
| 636 | 636 |
Log.severe(TXMUIMessages.CreatePartitionDialog_10); |
| 637 | 637 |
return null; |
| 638 | 638 |
} |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java (revision 1138) | ||
|---|---|---|
| 67 | 67 |
Color color = display.getSystemColor(SWT.COLOR_DARK_GRAY); |
| 68 | 68 |
return color.getRGB(); |
| 69 | 69 |
} |
| 70 |
// FIXME: DEbug |
|
| 71 |
// else if(element instanceof TXMResult && ((TXMResult)element).isDirty()) {
|
|
| 72 |
// Display display = Display.getCurrent(); |
|
| 73 |
// Color color = display.getSystemColor(SWT.COLOR_YELLOW); |
|
| 74 |
// return color.getRGB(); |
|
| 75 |
// } |
|
| 76 |
|
|
| 70 | 77 |
return null; |
| 71 | 78 |
} |
| 72 | 79 |
|
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java (revision 1138) | ||
|---|---|---|
| 44 | 44 |
import org.eclipse.swt.widgets.ToolItem; |
| 45 | 45 |
import org.eclipse.ui.IEditorInput; |
| 46 | 46 |
import org.eclipse.ui.IEditorPart; |
| 47 |
import org.eclipse.ui.IEditorReference; |
|
| 47 | 48 |
import org.eclipse.ui.IEditorSite; |
| 48 | 49 |
import org.eclipse.ui.IPartListener; |
| 49 | 50 |
import org.eclipse.ui.IPartListener2; |
| ... | ... | |
| 626 | 627 |
public void run() {
|
| 627 | 628 |
if(update) {
|
| 628 | 629 |
// FIXME: DEbug |
| 629 |
System.err.println("TXMEditor.compute(): manually updating result from editor."); //$NON-NLS-1$
|
|
| 630 |
Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": manually updating result from editor."); //$NON-NLS-1$
|
|
| 630 | 631 |
updateResultFromEditor(); // subclasses manual result updating from editor fields |
| 631 | 632 |
// FIXME: DEbug |
| 632 |
System.err.println("TXMEditor.compute(): auto updating result from editor."); //$NON-NLS-1$
|
|
| 633 |
Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$
|
|
| 633 | 634 |
autoUpdateResultFromEditorParameters(); // auto updating result from Parameter annotations in result <=> editor |
| 634 | 635 |
|
| 635 | 636 |
// Stores the last parameters before the computing to later auto-update the Widgets only if some parameters have changed |
| ... | ... | |
| 773 | 774 |
CorporaView.refreshObject(this); |
| 774 | 775 |
TXMResultDebugView.refreshView(); |
| 775 | 776 |
|
| 777 |
// FIXME: debug test to not draw while updating the widgets |
|
| 778 |
this.getContainer().setRedraw(true); |
|
| 779 |
|
|
| 780 |
|
|
| 776 | 781 |
// FIXME: update all open editors of the children result |
| 777 | 782 |
// FIXME: prob here is that updateEditorFromResult() doesn't enough because the compute() method does some other stuff |
| 778 | 783 |
// so the cascade computing may be done here rather than in TXMResult.compute() or we need to move some stuff from TXMEditor.compute() to |
| 779 | 784 |
// TXMEditor.updateEditorFromResult(), eg. the chart loading |
| 780 | 785 |
// WARNING: At This moment, with this code, TXMResult.compute() of the children is called twice |
| 781 |
// for (IEditorReference reference : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()) {
|
|
| 782 |
// IEditorPart editor = reference.getEditor(false); |
|
| 783 |
// if(editor != null && editor instanceof TXMEditor) {
|
|
| 784 |
// TXMEditor txmEditor = ((TXMEditor)editor); |
|
| 785 |
// if(txmEditor.getResult().getParent() == this.getResult()) {
|
|
| 786 |
// Log.finest("TXMEditor.refresh(): updating editor for result: " + txmEditor.getResult().getSimpleName());
|
|
| 787 |
// txmEditor.compute(true); |
|
| 788 |
// //txmEditor.updateEditorFromResult(false); |
|
| 789 |
// } |
|
| 790 |
// } |
|
| 791 |
// } |
|
| 786 |
// for (IEditorReference reference : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()) {
|
|
| 787 |
// IEditorPart editor = reference.getEditor(false); |
|
| 788 |
// if(editor != null && editor instanceof TXMEditor) {
|
|
| 789 |
// TXMEditor txmEditor = ((TXMEditor)editor); |
|
| 790 |
// if(txmEditor.getResult().getParent() == this.getResult()) {
|
|
| 791 |
// Log.finest("TXMEditor.refresh(): updating editor for result: " + txmEditor.getResult().getSimpleName());
|
|
| 792 |
// txmEditor.compute(false); |
|
| 793 |
// //txmEditor.updateEditorFromResult(false); |
|
| 794 |
// //txmEditor.refresh(false); |
|
| 795 |
// } |
|
| 796 |
// } |
|
| 797 |
// } |
|
| 792 | 798 |
|
| 793 | 799 |
|
| 794 |
// FIXME: debug test to not draw while updating the widgets |
|
| 795 |
this.getContainer().setRedraw(true); |
|
| 796 | 800 |
|
| 797 | 801 |
|
| 798 | 802 |
} |
| tmp/org.txm.index.core/src/org/txm/index/core/functions/Lexicon.java (revision 1138) | ||
|---|---|---|
| 135 | 135 |
@Override |
| 136 | 136 |
public boolean loadParameters() throws Exception {
|
| 137 | 137 |
try {
|
| 138 |
//this.persistable = false; // FIXME: remove that later |
|
| 139 | 138 |
String p = this.getStringParameterValue(TXMPreferences.UNIT_PROPERTY); |
| 140 | 139 |
if (p != null && p.length() > 0) {
|
| 141 | 140 |
CQPCorpus parent = getParent(); |
| tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/CreatePartition.java (revision 1138) | ||
|---|---|---|
| 103 | 103 |
} |
| 104 | 104 |
monitor.worked(95); |
| 105 | 105 |
|
| 106 |
Log.info(NLS.bind(TXMUIMessages.CreatePartition_6, partition.getNPart()));
|
|
| 106 |
Log.info(NLS.bind(TXMUIMessages.CreatePartition_6, partition.getPartsCount()));
|
|
| 107 | 107 |
|
| 108 | 108 |
monitor.subTask(TXMUIMessages.RefreshingCorporaView); |
| 109 | 109 |
syncExec(new Runnable() {
|
| tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java (revision 1138) | ||
|---|---|---|
| 148 | 148 |
|
| 149 | 149 |
|
| 150 | 150 |
// create 2nd column: Frequency |
| 151 |
this.typeFrequencyColumn = new TableColumn(viewer.getTable(), SWT.NONE);
|
|
| 151 |
this.typeFrequencyColumn = new TableColumn(specificitesTable, SWT.NONE);
|
|
| 152 | 152 |
this.typeFrequencyColumn.setAlignment(SWT.RIGHT); |
| 153 | 153 |
this.typeFrequencyColumn.setText(TXMCoreMessages.common_frequency); |
| 154 | 154 |
|
| ... | ... | |
| 203 | 203 |
return; |
| 204 | 204 |
} |
| 205 | 205 |
|
| 206 |
// remove part columns if exist |
|
| 207 |
// for (int firstPartColumnIndex = 3; firstPartColumnIndex < specificitesTable.getColumnCount(); firstPartColumnIndex++) {
|
|
| 208 |
// specificitesTable.getColumn(firstPartColumnIndex).dispose(); |
|
| 209 |
// } |
|
| 210 |
|
|
| 206 | 211 |
// System.out.println("partnames: "+Arrays.toString(partNames));
|
| 207 |
for (int i = 0, columnIndex = 2; i < partNames.length ; i++) { // for each part
|
|
| 212 |
// for each part |
|
| 213 |
for (int i = 0, firstPartColumnIndex = 2; i < partNames.length ; i++) {
|
|
| 208 | 214 |
|
| 209 | 215 |
//FREQ COLUMN |
| 210 | 216 |
final TableColumn freqpartTableColumn = new TableColumn(specificitesTable, SWT.NONE); |
| ... | ... | |
| 214 | 220 |
freqpartTableColumn.setAlignment(SWT.RIGHT); |
| 215 | 221 |
freqpartTableColumn.pack(); |
| 216 | 222 |
|
| 217 |
viewerComparator.addSelectionAdapter(viewer, freqpartTableColumn, ++columnIndex);
|
|
| 223 |
viewerComparator.addSelectionAdapter(viewer, freqpartTableColumn, ++firstPartColumnIndex);
|
|
| 218 | 224 |
|
| 219 | 225 |
//SCORE COLUMN |
| 220 | 226 |
final TableColumn partTableColumn = new TableColumn(specificitesTable, SWT.NONE); |
| ... | ... | |
| 224 | 230 |
partTableColumn.setAlignment(SWT.RIGHT); |
| 225 | 231 |
partTableColumn.pack(); |
| 226 | 232 |
|
| 227 |
viewerComparator.addSelectionAdapter(viewer, partTableColumn, ++columnIndex);
|
|
| 233 |
viewerComparator.addSelectionAdapter(viewer, partTableColumn, ++firstPartColumnIndex);
|
|
| 228 | 234 |
|
| 229 | 235 |
} |
| 230 | 236 |
} |
| ... | ... | |
| 248 | 254 |
//final int[] sortedPartIndexes = specificitesResult.getSortedPartIndexes(); |
| 249 | 255 |
|
| 250 | 256 |
// Create an array of lines to fill the tables |
| 251 |
// System.out.println("len types: "+typeNames.length);
|
|
| 252 |
// System.out.println("len freq: "+typeFreq.length);
|
|
| 253 |
// System.out.println("len spec: "+specFreqs.length);
|
|
| 254 |
// System.out.println("len specidx: "+specIndex.length);
|
|
| 257 |
System.out.println("len types: "+typeNames.length);
|
|
| 258 |
System.out.println("len freq: "+typeFreq.length);
|
|
| 259 |
System.out.println("len specfreqs: "+specFreqs.length);
|
|
| 260 |
System.out.println("len specidx: "+specIndex.length);
|
|
| 255 | 261 |
Object[] tableLines = new Object[typeNames.length]; |
| 256 | 262 |
for (int j = 0; j < tableLines.length; j++) {
|
| 257 | 263 |
tableLines[j] = new Object[] { typeNames[j], new Integer(typeFreq[j]), specFreqs[j], specIndex[j] };
|
| tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/handlers/ComputeCA.java (revision 1138) | ||
|---|---|---|
| 81 | 81 |
|
| 82 | 82 |
Partition partition = (Partition) selection; |
| 83 | 83 |
|
| 84 |
if (partition.getNPart() < 4) { // error to few parts
|
|
| 84 |
if (partition.getPartsCount() < 4) { // error to few parts
|
|
| 85 | 85 |
MessageDialog d = new MessageDialog(window.getShell(), "", null, //$NON-NLS-1$ |
| 86 |
NLS.bind(CAUIMessages.ComputeCorrespondanceAnalysis_4, partition.getNPart()), 0, new String[] { ""}, 0); //$NON-NLS-1$
|
|
| 86 |
NLS.bind(CAUIMessages.ComputeCorrespondanceAnalysis_4, partition.getPartsCount()), 0, new String[] { ""}, 0); //$NON-NLS-1$
|
|
| 87 | 87 |
d.open(); |
| 88 | 88 |
return null; |
| 89 | 89 |
} |
| tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java (revision 1138) | ||
|---|---|---|
| 34 | 34 |
import java.io.IOException; |
| 35 | 35 |
import java.io.OutputStreamWriter; |
| 36 | 36 |
import java.io.UnsupportedEncodingException; |
| 37 |
import java.util.ArrayList; |
|
| 37 | 38 |
import java.util.Arrays; |
| 38 | 39 |
import java.util.List; |
| 39 | 40 |
|
| ... | ... | |
| 185 | 186 |
|
| 186 | 187 |
@Override |
| 187 | 188 |
protected boolean _compute() throws Exception {
|
| 189 |
|
|
| 190 |
this.frequencies = null; |
|
| 191 |
|
|
| 188 | 192 |
|
| 189 | 193 |
// recompute the lexical table |
| 190 |
if(this.hasParameterChanged(TBXPreferences.UNIT_PROPERTY)) {
|
|
| 191 |
this.lexicalTable.setUnitProperty(this.unitProperty); |
|
| 192 |
this.lexicalTable.compute(this, false); |
|
| 194 |
// if(this.hasParameterChanged(TBXPreferences.UNIT_PROPERTY)) {
|
|
| 195 |
// this.lexicalTable.setUnitProperty(this.unitProperty); |
|
| 196 |
// this.lexicalTable.compute(this, false); |
|
| 197 |
// } |
|
| 198 |
|
|
| 199 |
// delete the specificities selection chart children since they can not be valid anymore |
|
| 200 |
if(this.needsFullRecomputing || this.hasParameterChanged(TBXPreferences.UNIT_PROPERTY)) {
|
|
| 201 |
this.deleteChildren(SpecificitiesSelection.class); |
|
| 193 | 202 |
} |
| 203 |
|
|
| 194 | 204 |
|
| 195 | 205 |
// essentially for cascade computing from the parent lexical table |
| 196 | 206 |
this.unitProperty = this.lexicalTable.getProperty(); |
| ... | ... | |
| 206 | 216 |
init(rSpecificities.getSymbol(), specIndex, "TLNONAME: " + this.unitProperty.getName()); //$NON-NLS-1$ |
| 207 | 217 |
} |
| 208 | 218 |
} |
| 219 |
|
|
| 209 | 220 |
return true; |
| 210 | 221 |
} |
| 211 | 222 |
|
| ... | ... | |
| 452 | 463 |
//System.out.println("FROM TABLE");
|
| 453 | 464 |
frequencies = RWorkspace.getRWorkspaceInstance().evalToInt2D(lexicalTable.getData().getSymbol()); |
| 454 | 465 |
|
| 455 |
} else {// if table == null : subcorpus specif
|
|
| 466 |
} |
|
| 467 |
else {// if table == null : subcorpus specif
|
|
| 456 | 468 |
//System.out.println("FROM LEXICON");
|
| 457 | 469 |
frequencies = new int[lexicon.getFreq().length][2]; // build a frequency table from lexicons |
| 458 | 470 |
String[] corpusforms = lexicon.getForms(); // all the forms |
| ... | ... | |
| 462 | 474 |
|
| 463 | 475 |
// System.out.println("len subforms: "+subcorpusforms.length);
|
| 464 | 476 |
// System.out.println("len subfreqs: "+subcorpusfreq.length);
|
| 465 |
for (int i = 0 ; i < corpusforms.length ; i++) //get all forms
|
|
| 466 |
{
|
|
| 477 |
//get all forms |
|
| 478 |
for (int i = 0 ; i < corpusforms.length ; i++) {
|
|
| 467 | 479 |
int j = 0; // find the index of the form in the subcorpus arrays |
| 468 | 480 |
for (j = 0; j < subcorpusforms.length; j++) {
|
| 469 | 481 |
if (subcorpusforms[j].equals(corpusforms[i])) |
| tmp/org.txm.progression.core/src/org/txm/progression/core/chartsengine/jfreechart/JFCProgressionCumulativeChartCreator.java (revision 1138) | ||
|---|---|---|
| 19 | 19 |
import org.txm.chartsengine.jfreechart.core.renderers.MultipleItemsSelector; |
| 20 | 20 |
import org.txm.chartsengine.jfreechart.core.renderers.interfaces.IRendererWithItemSelection; |
| 21 | 21 |
import org.txm.chartsengine.jfreechart.core.themes.base.ExtendedNumberAxis; |
| 22 |
import org.txm.core.preferences.TXMPreferences; |
|
| 22 | 23 |
import org.txm.progression.core.chartsengine.base.ProgressionChartCreator; |
| 23 | 24 |
import org.txm.progression.core.chartsengine.base.Utils; |
| 24 | 25 |
import org.txm.progression.core.chartsengine.jfreechart.themes.highcharts.renderers.ProgressionItemSelectionRenderer; |
| ... | ... | |
| 119 | 120 |
|
| 120 | 121 |
|
| 121 | 122 |
// Fill the data set from the result |
| 122 |
if(progression.hasParameterChanged(ProgressionPreferences.QUERIES)) {
|
|
| 123 |
if(progression.hasParameterChanged(TXMPreferences.QUERIES)) {
|
|
| 123 | 124 |
XYSeriesCollection dataset = (XYSeriesCollection) chart.getXYPlot().getDataset(); |
| 124 | 125 |
dataset.removeAllSeries(); |
| 125 | 126 |
|
| tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Part.java (revision 1138) | ||
|---|---|---|
| 29 | 29 |
|
| 30 | 30 |
import java.io.File; |
| 31 | 31 |
|
| 32 |
import org.eclipse.osgi.util.NLS; |
|
| 33 |
import org.txm.core.messages.TXMCoreMessages; |
|
| 34 |
import org.txm.searchengine.cqp.CQPSearchEngine; |
|
| 32 | 35 |
import org.txm.searchengine.cqp.clientExceptions.CqiClientException; |
| 36 |
import org.txm.searchengine.cqp.corpus.query.CQLQuery; |
|
| 37 |
import org.txm.utils.logger.Log; |
|
| 33 | 38 |
|
| 34 | 39 |
/** |
| 35 | 40 |
* A Part is related to the {@link Partition} and is a CQP this.
|
| ... | ... | |
| 45 | 50 |
* |
| 46 | 51 |
* @param partition |
| 47 | 52 |
*/ |
| 48 |
public Part(Partition partition) {
|
|
| 53 |
public Part(Partition partition, String partName, String query) {
|
|
| 49 | 54 |
super(partition); |
| 50 | 55 |
|
| 56 |
this.userName = partName; |
|
| 57 |
this.pQuery = new CQLQuery(query); |
|
| 58 |
this.pID = CqpObject.partNamePrefix + CQPCorpus.getNextSubcorpusCounter(); |
|
| 59 |
|
|
| 51 | 60 |
this.setVisible(false); |
| 52 | 61 |
this.internalPersistable = true; |
| 53 | 62 |
this.userPersistable = false; |
| ... | ... | |
| 65 | 74 |
this.userPersistable = false; |
| 66 | 75 |
} |
| 67 | 76 |
|
| 68 |
public Partition getParent() {
|
|
| 69 |
return (Partition)super.getParent(); |
|
| 77 |
@Override |
|
| 78 |
public boolean loadParameters() throws Exception {
|
|
| 79 |
return super.loadParameters(); |
|
| 70 | 80 |
} |
| 81 |
|
|
| 82 |
@Override |
|
| 83 |
protected boolean _compute() throws Exception {
|
|
| 71 | 84 |
|
| 85 |
Log.finest(NLS.bind(TXMCoreMessages.CREATING_PART, this.getName(), this.pQuery)); |
|
| 86 |
long start = System.currentTimeMillis(); |
|
| 87 |
try {
|
|
| 88 |
super._compute(); |
|
| 89 |
|
|
| 90 |
} catch (Exception e) {
|
|
| 91 |
try {
|
|
| 92 |
throw new CqiClientException(TXMCoreMessages.Partition_9 + this.getParent().getName() + "_" + this.getName() + e + " last error: " + CQPSearchEngine.getCqiClient().getLastCQPError()); //$NON-NLS-1$ //$NON-NLS-2$ |
|
| 93 |
} catch (Exception e1) {
|
|
| 94 |
Log.severe(TXMCoreMessages.Partition_18 + e1); |
|
| 95 |
org.txm.utils.logger.Log.printStackTrace(e1); |
|
| 96 |
return false; |
|
| 97 |
} |
|
| 98 |
} |
|
| 99 |
long end = System.currentTimeMillis(); |
|
| 100 |
Log.finest(NLS.bind(TXMCoreMessages.info_partCreatedInXMs, this.getParent().getName() + "_" + this.getName(), (end - start))); //$NON-NLS-1 |
|
| 101 |
|
|
| 102 |
return true; |
|
| 103 |
} |
|
| 104 |
|
|
| 105 |
|
|
| 106 |
// public Part createPart(String partitionName, String partName, String query) throws CqiClientException {
|
|
| 107 |
// Part part; |
|
| 108 |
// String partCqpId = CqpObject.partNamePrefix + CQPCorpus.getNextSubcorpusCounter(); |
|
| 109 |
// Log.finest(NLS.bind(TXMCoreMessages.CREATING_PART, partName, query)); |
|
| 110 |
// long start = System.currentTimeMillis(); |
|
| 111 |
// try {
|
|
| 112 |
// CorpusManager.getCorpusManager().getCqiClient().cqpQuery(this.getParent().getQualifiedCqpId(), partCqpId, query); |
|
| 113 |
// part = new Part(this); |
|
| 114 |
// part.setParameters(partCqpId, partName, new CQLQuery(query)); |
|
| 115 |
// part.compute(); |
|
| 116 |
// // FIXME: persistence tests: define the UUID as the concatenation of all part CQP id |
|
| 117 |
//// this.uniqueID += partCqpId; |
|
| 118 |
// |
|
| 119 |
// } catch (Exception e) {
|
|
| 120 |
// try {
|
|
| 121 |
// throw new CqiClientException(TXMCoreMessages.Partition_9 + partitionName + "_" + partName + e + " last error: " + CQPSearchEngine.getCqiClient().getLastCQPError()); //$NON-NLS-1$ //$NON-NLS-2$ |
|
| 122 |
// } catch (Exception e1) {
|
|
| 123 |
// Log.severe(TXMCoreMessages.Partition_18 + e1); |
|
| 124 |
// org.txm.utils.logger.Log.printStackTrace(e1); |
|
| 125 |
// return null; |
|
| 126 |
// } |
|
| 127 |
// } |
|
| 128 |
// long end = System.currentTimeMillis(); |
|
| 129 |
// Log.finest(NLS.bind(TXMCoreMessages.info_partCreatedInXMs, partitionName + "_" + partName, (end - start))); //$NON-NLS-1 |
|
| 130 |
// |
|
| 131 |
// return part; |
|
| 132 |
// } |
|
| 133 |
// |
|
| 134 |
|
|
| 135 |
|
|
| 136 |
|
|
| 72 | 137 |
/** |
| 73 | 138 |
* Gets the number of texts in this part. |
| 74 | 139 |
* |
| 75 | 140 |
* @return the n texts |
| 76 | 141 |
* |
| 77 |
* @throws CqiClientException |
|
| 78 |
* the cqi client exception |
|
| 142 |
* @throws CqiClientException the cqi client exception |
|
| 79 | 143 |
*/ |
| 80 | 144 |
public int getNTexts() throws CqiClientException {
|
| 81 | 145 |
if (nTexts < 0) {
|
| tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Partition.java (revision 1138) | ||
|---|---|---|
| 82 | 82 |
protected StructuralUnitProperty pProperty; |
| 83 | 83 |
|
| 84 | 84 |
/** |
| 85 |
* the parts property values to use, may be null
|
|
| 85 |
* The parts property values to use, may be null.
|
|
| 86 | 86 |
*/ |
| 87 | 87 |
@Parameter(key=TXMPreferences.VALUES) |
| 88 | 88 |
protected List<String> pValues; |
| 89 | 89 |
|
| 90 | 90 |
/** |
| 91 |
* the parts queries
|
|
| 91 |
* The parts queries
|
|
| 92 | 92 |
*/ |
| 93 | 93 |
@Parameter(key=TXMPreferences.QUERIES) |
| 94 | 94 |
protected List<String> pQueries; |
| 95 | 95 |
|
| 96 | 96 |
/** |
| 97 |
* the parts names -> do the parts order
|
|
| 97 |
* The parts names -> do the parts order
|
|
| 98 | 98 |
*/ |
| 99 | 99 |
@Parameter(key=CQPPreferences.PART_NAMES) |
| 100 | 100 |
protected List<String> pPartNames; |
| 101 | 101 |
|
| 102 |
/** |
|
| 103 |
* the partition name to set |
|
| 104 |
*/ |
|
| 105 |
@Parameter(key=TXMPreferences.LAZY_NAME) |
|
| 106 |
protected String pName; |
|
| 107 | 102 |
|
| 108 |
// /** |
|
| 109 |
// * Create a partition with a set of raw queries. |
|
| 110 |
// * |
|
| 111 |
// * @param corpus the corpus |
|
| 112 |
// * @param name the name |
|
| 113 |
// * @param queries the queries |
|
| 114 |
// * @throws CqiClientException the cqi client exception |
|
| 115 |
// * @author Sylvain Loiseau |
|
| 116 |
// */ |
|
| 117 |
// protected Partition(Corpus corpus, String name, List<String> queries) throws CqiClientException {
|
|
| 118 |
// this(corpus, name, queries, null); |
|
| 119 |
// } |
|
| 120 |
|
|
| 121 | 103 |
/** |
| 122 | 104 |
* |
| 123 | 105 |
* @param parent |
| ... | ... | |
| 146 | 128 |
*/ |
| 147 | 129 |
public boolean _compute_with_lists() throws Exception {
|
| 148 | 130 |
|
| 149 |
if (pName == null || pName.length() == 0) {
|
|
| 150 |
pName = "no_name";
|
|
| 131 |
if (this.userName == null || this.userName.length() == 0) {
|
|
| 132 |
this.userName = "no_name";
|
|
| 151 | 133 |
} |
| 152 | 134 |
|
| 153 |
Log.info(NLS.bind(TXMCoreMessages.info_creatingNewPartition, this.getParent(), this.pName));
|
|
| 135 |
Log.info(NLS.bind(TXMCoreMessages.info_creatingNewPartition, this.getParent(), this.userName));
|
|
| 154 | 136 |
long start = System.currentTimeMillis(); |
| 155 | 137 |
for (int i = 0; i < pQueries.size(); i++) {
|
| 156 | 138 |
String queryS = pQueries.get(i); |
| ... | ... | |
| 163 | 145 |
partName = "-"; //$NON-NLS-1$ |
| 164 | 146 |
} |
| 165 | 147 |
|
| 166 |
Part part = this.createPart(this.getName(), partName, queryS); // lazy
|
|
| 148 |
this.addChild(new Part(this, partName, queryS));
|
|
| 167 | 149 |
} |
| 168 | 150 |
long end = System.currentTimeMillis(); |
| 169 |
Log.info(NLS.bind(TXMCoreMessages.info_partitionCreatedInXMs, this.pName, (end - start)));
|
|
| 151 |
Log.info(NLS.bind(TXMCoreMessages.info_partitionCreatedInXMs, this.userName, (end - start)));
|
|
| 170 | 152 |
|
| 171 | 153 |
return pQueries.size() > 0; |
| 172 | 154 |
} |
| ... | ... | |
| 179 | 161 |
* part is composed by all the structure <code>structure</code> such as |
| 180 | 162 |
* <code>strucutre.getValue(property) == values.get(i)<code> |
| 181 | 163 |
* |
| 182 |
* @param corpus |
|
| 183 |
* the corpus |
|
| 184 |
* @param structure |
|
| 185 |
* the structure |
|
| 186 |
* @param property |
|
| 187 |
* the property |
|
| 188 |
* @param values |
|
| 189 |
* the values, raw values special chars will be backslashed |
|
| 164 |
* @param corpus the corpus |
|
| 165 |
* @param structure the structure |
|
| 166 |
* @param property the property |
|
| 167 |
* @param values the values, raw values special chars will be backslashed |
|
| 190 | 168 |
* @throws Exception |
| 191 | 169 |
*/ |
| 192 | 170 |
|
| 193 | 171 |
protected boolean _compute_with_property() throws Exception {
|
| 194 | 172 |
|
| 195 |
CQPCorpus corpus = getParent(); |
|
| 196 |
if (pName == null || pName.length() == 0) {
|
|
| 197 |
pName = corpus.getName() + "_" + pProperty.getFullName(); //$NON-NLS-1$
|
|
| 173 |
CQPCorpus corpus = this.getParent();
|
|
| 174 |
if (this.userName == null || this.userName.length() == 0) {
|
|
| 175 |
this.userName = corpus.getName() + "_" + pProperty.getFullName(); //$NON-NLS-1$
|
|
| 198 | 176 |
} |
| 199 | 177 |
|
| 200 | 178 |
if (pValues == null) {
|
| ... | ... | |
| 210 | 188 |
} |
| 211 | 189 |
if (type == null || type.trim().length() == 0 || type.equals("String")) { //$NON-NLS-1$
|
| 212 | 190 |
Collections.sort(pValues, Collator.getInstance(Locale.getDefault())); // alpha sort |
| 213 |
} else if (type.equals("Integer")) { //$NON-NLS-1$
|
|
| 191 |
} |
|
| 192 |
else if (type.equals("Integer")) { //$NON-NLS-1$
|
|
| 214 | 193 |
Collections.sort(pValues, new Comparator<String>() {
|
| 215 | 194 |
@Override |
| 216 | 195 |
public int compare(String arg0, String arg1) {
|
| ... | ... | |
| 219 | 198 |
return i0 - i1; |
| 220 | 199 |
} |
| 221 | 200 |
}); |
| 222 |
} else if (type.equals("Date")) { //$NON-NLS-1$
|
|
| 201 |
} |
|
| 202 |
else if (type.equals("Date")) { //$NON-NLS-1$
|
|
| 223 | 203 |
String format = infos.get("inputFormat"); //$NON-NLS-1$
|
| 224 | 204 |
final DateFormat formater = new SimpleDateFormat(format); |
| 225 | 205 |
Collections.sort(pValues, new Comparator<String>() {
|
| ... | ... | |
| 234 | 214 |
} |
| 235 | 215 |
} |
| 236 | 216 |
}); |
| 237 |
} else if (type.contains("|")){ //$NON-NLS-1$
|
|
| 217 |
} |
|
| 218 |
else if (type.contains("|")){ //$NON-NLS-1$
|
|
| 238 | 219 |
final List<String> sortedValues = Arrays.asList(type.split("\\|")); //$NON-NLS-1$
|
| 239 | 220 |
Collections.sort(pValues, new Comparator<String>() {
|
| 240 | 221 |
@Override |
| ... | ... | |
| 262 | 243 |
@Override |
| 263 | 244 |
protected boolean _compute() throws Exception {
|
| 264 | 245 |
|
| 265 |
if (getParts().size() > 0) return true; // Parts already created |
|
| 246 |
// Parts already created |
|
| 247 |
if (this.getParts().size() > 0) {
|
|
| 248 |
// //FIXME: temporary fix, compute all the children parts |
|
| 249 |
// List<Part> parts = (List<Part>)getChildren(Part.class); |
|
| 250 |
// for (int i = 0; i < parts.size(); i++) {
|
|
| 251 |
// if(!parts.get(i).hasBeenComputedOnce()) {
|
|
| 252 |
// parts.get(i).compute(this, true); |
|
| 253 |
// } |
|
| 254 |
// } |
|
| 255 |
return true; |
|
| 256 |
} |
|
| 266 | 257 |
|
| 267 |
Log.finest(NLS.bind(TXMCoreMessages.info_creatingNewPartition, this.getParent(), this.pName));
|
|
| 258 |
Log.finest(NLS.bind(TXMCoreMessages.info_creatingNewPartition, this.getParent(), this.userName));
|
|
| 268 | 259 |
|
| 269 |
if (pProperty != null) {
|
|
| 260 |
if (this.pProperty != null) {
|
|
| 270 | 261 |
_compute_with_property(); |
| 271 |
} else {
|
|
| 262 |
} |
|
| 263 |
else {
|
|
| 272 | 264 |
_compute_with_lists(); |
| 273 | 265 |
} |
| 274 | 266 |
|
| 275 |
//FIXME: temporary fix, compute all the children parts |
|
| 276 |
// List<Part> parts = (List<Part>)getChildren(Part.class); |
|
| 277 |
// for (int i = 0; i < parts.size(); i++) {
|
|
| 278 |
// parts.get(i).compute(this, true); |
|
| 279 |
// } |
|
| 280 | 267 |
|
| 281 | 268 |
return true; |
| 282 | 269 |
} |
| ... | ... | |
| 318 | 305 |
|
| 319 | 306 |
@Override |
| 320 | 307 |
public boolean canCompute() {
|
| 321 |
return getParent() != null && (pProperty != null || (pQueries != null && pQueries.size() > 0));
|
|
| 308 |
return this.getParent() != null && (this.pProperty != null || (this.pQueries != null && this.pQueries.size() > 0));
|
|
| 322 | 309 |
} |
| 323 | 310 |
|
| 324 | 311 |
@Override |
| ... | ... | |
| 337 | 324 |
return output; |
| 338 | 325 |
} |
| 339 | 326 |
|
| 340 |
/** |
|
| 341 |
* TODO Part should be create lazily |
|
| 342 |
* |
|
| 343 |
* Create a part with a raw query. |
|
| 344 |
* |
|
| 345 |
* @param partitionName the partition name |
|
| 346 |
* @param partName the part name |
|
| 347 |
* @param query the query |
|
| 348 |
* @return the part |
|
| 349 |
* @throws CqiClientException the cqi client exception |
|
| 350 |
* |
|
| 351 |
* @author Sylvain Loiseau, mdecorde |
|
| 352 |
*/ |
|
| 353 |
public Part createPart(String partitionName, String partName, String query) throws CqiClientException {
|
|
| 354 |
Part part; |
|
| 355 |
String partCqpId = CqpObject.partNamePrefix + CQPCorpus.getNextSubcorpusCounter(); |
|
| 356 |
Log.finest(NLS.bind(TXMCoreMessages.CREATING_PART, partName, query)); |
|
| 357 |
long start = System.currentTimeMillis(); |
|
| 358 |
try {
|
|
| 359 |
CorpusManager.getCorpusManager().getCqiClient().cqpQuery(this.getParent().getQualifiedCqpId(), partCqpId, query); |
|
| 360 |
part = new Part(this); |
|
| 361 |
part.setParameters(partCqpId, partName, new CQLQuery(query)); |
|
| 362 |
part.compute(); |
|
| 363 |
// FIXME: persistence tests: define the UUID as the concatenation of all part CQP id |
|
| 364 |
// this.uniqueID += partCqpId; |
|
| 365 |
|
|
| 366 |
} catch (Exception e) {
|
|
| 367 |
try {
|
|
| 368 |
throw new CqiClientException(TXMCoreMessages.Partition_9 + partitionName + "_" + partName + e + " last error: " + CQPSearchEngine.getCqiClient().getLastCQPError()); //$NON-NLS-1$ //$NON-NLS-2$ |
|
| 369 |
} catch (Exception e1) {
|
|
| 370 |
Log.severe(TXMCoreMessages.Partition_18 + e1); |
|
| 371 |
org.txm.utils.logger.Log.printStackTrace(e1); |
|
| 372 |
return null; |
|
| 373 |
} |
|
| 374 |
} |
|
| 375 |
long end = System.currentTimeMillis(); |
|
| 376 |
Log.finest(NLS.bind(TXMCoreMessages.info_partCreatedInXMs, partitionName + "_" + partName, (end - start))); //$NON-NLS-1 |
|
| 377 |
|
|
| 378 |
return part; |
|
| 379 |
} |
|
| 327 |
// /**
|
|
| 328 |
// * TODO Part should be create lazily
|
|
| 329 |
// *
|
|
| 330 |
// * Create a part with a raw query.
|
|
| 331 |
// *
|
|
| 332 |
// * @param partitionName the partition name
|
|
| 333 |
// * @param partName the part name
|
|
| 334 |
// * @param query the query
|
|
| 335 |
// * @return the part
|
|
| 336 |
// * @throws CqiClientException the cqi client exception
|
|
| 337 |
// *
|
|
| 338 |
// * @author Sylvain Loiseau, mdecorde
|
|
| 339 |
// */
|
|
| 340 |
// public Part createPart(String partitionName, String partName, String query) throws CqiClientException {
|
|
| 341 |
// Part part;
|
|
| 342 |
// String partCqpId = CqpObject.partNamePrefix + CQPCorpus.getNextSubcorpusCounter();
|
|
| 343 |
// Log.finest(NLS.bind(TXMCoreMessages.CREATING_PART, partName, query));
|
|
| 344 |
// long start = System.currentTimeMillis();
|
|
| 345 |
// try {
|
|
| 346 |
// CorpusManager.getCorpusManager().getCqiClient().cqpQuery(this.getParent().getQualifiedCqpId(), partCqpId, query);
|
|
| 347 |
// part = new Part(this);
|
|
| 348 |
// part.setParameters(partCqpId, partName, new CQLQuery(query));
|
|
| 349 |
// part.compute();
|
|
| 350 |
// // FIXME: persistence tests: define the UUID as the concatenation of all part CQP id
|
|
| 351 |
//// this.uniqueID += partCqpId;
|
|
| 352 |
// |
|
| 353 |
// } catch (Exception e) {
|
|
| 354 |
// try {
|
|
| 355 |
// throw new CqiClientException(TXMCoreMessages.Partition_9 + partitionName + "_" + partName + e + " last error: " + CQPSearchEngine.getCqiClient().getLastCQPError()); //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 356 |
// } catch (Exception e1) {
|
|
| 357 |
// Log.severe(TXMCoreMessages.Partition_18 + e1);
|
|
| 358 |
// org.txm.utils.logger.Log.printStackTrace(e1);
|
|
| 359 |
// return null;
|
|
| 360 |
// }
|
|
| 361 |
// }
|
|
| 362 |
// long end = System.currentTimeMillis();
|
|
| 363 |
// Log.finest(NLS.bind(TXMCoreMessages.info_partCreatedInXMs, partitionName + "_" + partName, (end - start))); //$NON-NLS-1
|
|
| 364 |
// |
|
| 365 |
// return part;
|
|
| 366 |
// }
|
|
| 380 | 367 |
|
| 381 |
/** |
|
| 382 |
* Gets the dirty states. |
|
| 383 |
* |
|
| 384 |
* @return |
|
| 385 |
*/ |
|
| 386 |
public boolean isDirty() {
|
|
| 387 |
return this.dirty; |
|
| 388 |
} |
|
| 389 | 368 |
|
| 390 | 369 |
@Override |
| 391 | 370 |
public String getDetails() {
|
| 392 | 371 |
return getName(); |
| 393 | 372 |
} |
| 394 | 373 |
|
| 395 |
@Override |
|
| 396 |
public String getName() {
|
|
| 397 |
return this.pName; |
|
| 398 |
} |
|
| 399 |
|
|
| 400 | 374 |
/** |
| 401 | 375 |
* Gets the number of parts. |
| 402 | 376 |
* |
| 403 | 377 |
* @return the the number of parts. |
| 404 | 378 |
*/ |
| 405 |
public int getNPart() {
|
|
| 379 |
public int getPartsCount() {
|
|
| 406 | 380 |
// FIXME: later should just return the direct children count |
| 407 | 381 |
try {
|
| 408 | 382 |
if (!hasBeenComputedOnce()) {
|
| ... | ... | |
| 480 | 454 |
|
| 481 | 455 |
@Override |
| 482 | 456 |
public String getSimpleName() {
|
| 483 |
return this.pName;
|
|
| 457 |
return this.userName;
|
|
| 484 | 458 |
} |
| 485 | 459 |
|
| 486 | 460 |
/** |
| ... | ... | |
| 531 | 505 |
* the cqi client exception |
| 532 | 506 |
*/ |
| 533 | 507 |
public List<QueryResult> query(CQLQuery query, String name) throws CqiClientException {
|
| 534 |
Log.finest(TXMCoreMessages.QUERYING_PARTITION + this.pName);
|
|
| 508 |
Log.finest(TXMCoreMessages.QUERYING_PARTITION + this.userName);
|
|
| 535 | 509 |
List<Part> parts = getParts(); |
| 536 | 510 |
List<QueryResult> results = new ArrayList<QueryResult>(parts.size()); |
| 537 | 511 |
for (Subcorpus part : parts) {
|
| ... | ... | |
| 605 | 579 |
//p.dropSubcorpus(p.getSubCorpus()); |
| 606 | 580 |
} |
| 607 | 581 |
|
| 608 |
/** |
|
| 609 |
* Sets the name. |
|
| 610 |
* |
|
| 611 |
* @param name the new name |
|
| 612 |
*/ |
|
| 613 |
public void setName(String name) {
|
|
| 614 |
this.pName = name; |
|
| 615 |
// if(this.getSelfElement() != null) |
|
| 616 |
// this.getSelfElement().setAttribute("name", name); //$NON-NLS-1$
|
|
| 617 |
} |
|
| 618 | 582 |
|
| 619 |
|
|
| 583 |
@Override |
|
| 620 | 584 |
public String toString() {
|
| 621 |
if (pName != null) {
|
|
| 622 |
return pName;
|
|
| 585 |
if (this.userName != null) {
|
|
| 586 |
return this.userName;
|
|
| 623 | 587 |
} |
| 624 | 588 |
return super.toString(); |
| 625 | 589 |
} |
| ... | ... | |
| 634 | 598 |
public boolean setParameters(String name, StructuralUnitProperty property, List<String> values) {
|
| 635 | 599 |
this.pProperty = property; |
| 636 | 600 |
this.pValues = values; |
| 637 |
this.pName = name;
|
|
| 601 |
this.userName = name;
|
|
| 638 | 602 |
this.pQueries = null; |
| 639 | 603 |
this.pPartNames = null; |
| 640 | 604 |
return true; |
| ... | ... | |
| 643 | 607 |
public boolean setParameters(String name, List<String> queries, List<String> names) {
|
| 644 | 608 |
this.pProperty = null; |
| 645 | 609 |
this.pValues = null; |
| 646 |
this.pName = name;
|
|
| 610 |
this.userName = name;
|
|
| 647 | 611 |
this.pQueries = queries; |
| 648 | 612 |
this.pPartNames = names; |
| 649 | 613 |
return true; |
| ... | ... | |
| 651 | 615 |
|
| 652 | 616 |
@Override |
| 653 | 617 |
public boolean setParameters(TXMParameters parameters) {
|
| 654 |
this.pName = parameters.getString(TXMPreferences.LAZY_NAME);
|
|
| 618 |
this.userName = parameters.getString(TXMPreferences.USER_NAME);
|
|
| 655 | 619 |
String tmp = parameters.getString(CQPPreferences.PART_NAMES); |
| 656 | 620 |
if (tmp != null) {
|
| 657 | 621 |
this.pPartNames = Arrays.asList(tmp.split("\t"));
|
| ... | ... | |
| 723 | 687 |
public boolean saveParameters() {
|
| 724 | 688 |
|
| 725 | 689 |
if (this.pProperty != null) {
|
| 726 |
this.saveParameter(TBXPreferences.STRUCTURAL_UNIT_PROPERTY, this.pProperty.getName());
|
|
| 690 |
this.saveParameter(TXMPreferences.STRUCTURAL_UNIT_PROPERTY, this.pProperty.getName());
|
|
| 727 | 691 |
} |
| 728 | 692 |
|
| 729 | 693 |
if (this.pPartNames != null) {
|
| ... | ... | |
| 731 | 695 |
} |
| 732 | 696 |
|
| 733 | 697 |
if (this.pQueries != null) {
|
| 734 |
this.saveParameter(TBXPreferences.QUERIES, StringUtils.join(pQueries, "\t"));
|
|
| 698 |
this.saveParameter(TXMPreferences.QUERIES, StringUtils.join(pQueries, "\t"));
|
|
| 735 | 699 |
} |
| 736 | 700 |
|
| 737 | 701 |
if (this.pValues != null) {
|
| ... | ... | |
| 761 | 725 |
public String getResultype() {
|
| 762 | 726 |
return "Partition"; |
| 763 | 727 |
} |
| 728 |
|
|
| 729 |
/** |
|
| 730 |
* Gets the parent Partition of the specified result if exists. |
|
| 731 |
* @param result |
|
| 732 |
* @return the parent Partition if exists otherwise null |
|
| 733 |
*/ |
|
| 764 | 734 |
synchronized public static Partition getFirstParentPartition(TXMResult result) {
|
| 765 | 735 |
return (Partition) result.getFirstParent(Partition.class); |
| 766 | 736 |
} |
| 737 |
|
|
| 738 |
@Override |
|
| 739 |
public String getName() {
|
|
| 740 |
return this.userName; |
|
| 741 |
} |
|
| 767 | 742 |
} |
| tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/query/PartitionFocus.java (revision 1138) | ||
|---|---|---|
| 105 | 105 |
*/ |
| 106 | 106 |
public List<Part> getFocusedParts() {
|
| 107 | 107 |
List<Part> focused = new ArrayList<Part>(modality.size()); |
| 108 |
for (int i = 0; i < partition.getNPart(); i++) {
|
|
| 108 |
for (int i = 0; i < partition.getPartsCount(); i++) {
|
|
| 109 | 109 |
if (modality.contains(partition.getParts().get(i))) {
|
| 110 | 110 |
focused.add(partition.getParts().get(i)); |
| 111 | 111 |
} |
| ... | ... | |
| 120 | 120 |
*/ |
| 121 | 121 |
public List<Part> getNotFocusedParts() {
|
| 122 | 122 |
List<Part> notFocused = new ArrayList<Part>(modality.size()); |
| 123 |
for (int i = 0; i < partition.getNPart(); i++) {
|
|
| 123 |
for (int i = 0; i < partition.getPartsCount(); i++) {
|
|
| 124 | 124 |
if (!modality.contains(partition.getParts().get(i))) {
|
| 125 | 125 |
notFocused.add(partition.getParts().get(i)); |
| 126 | 126 |
} |
| tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Subcorpus.java (revision 1138) | ||
|---|---|---|
| 35 | 35 |
import org.eclipse.osgi.util.NLS; |
| 36 | 36 |
import org.txm.core.messages.TXMCoreMessages; |
| 37 | 37 |
import org.txm.core.preferences.TBXPreferences; |
| 38 |
import org.txm.core.preferences.TXMPreferences; |
|
| 38 | 39 |
import org.txm.core.results.Parameter; |
| 39 | 40 |
import org.txm.core.results.TXMParameters; |
| 40 | 41 |
import org.txm.searchengine.cqp.AbstractCqiClient; |
| ... | ... | |
| 57 | 58 |
*/ |
| 58 | 59 |
public class Subcorpus extends CQPCorpus {
|
| 59 | 60 |
|
| 61 |
|
|
| 62 |
private SelectionResult selectionResult; |
|
| 63 |
protected QueryResult qresult; |
|
| 64 |
|
|
| 65 |
|
|
| 66 |
|
|
| 60 | 67 |
/** |
| 61 | 68 |
* Query used to build the corpus. |
| 62 | 69 |
*/ |
| 63 |
@Parameter(key=TBXPreferences.QUERY)
|
|
| 70 |
@Parameter(key=TXMPreferences.QUERY)
|
|
| 64 | 71 |
protected CQLQuery pQuery; |
| 65 | 72 |
|
| 66 |
private SelectionResult selectionResult; |
|
| 67 |
protected QueryResult qresult; |
|
| 68 |
|
|
| 69 | 73 |
|
| 70 | 74 |
/** |
| 71 | 75 |
* |
| ... | ... | |
| 122 | 126 |
* {@link CQPCorpus#createSubcorpus(CQLQuery, String)}
|
| 123 | 127 |
*/ |
| 124 | 128 |
protected boolean _compute() throws Exception {
|
| 125 |
if (pQuery != null) {
|
|
| 129 |
if (this.pQuery != null) {
|
|
| 126 | 130 |
this.qresult = null; // reset |
| 127 | 131 |
|
| 128 |
CorpusManager.getCorpusManager().getCqiClient().cqpQuery( |
|
| 129 |
this.getCorpusParent().getQualifiedCqpId(), pID, |
|
| 130 |
pQuery.getQueryString()); |
|
| 132 |
CorpusManager.getCorpusManager().getCqiClient().cqpQuery(this.getCorpusParent().getQualifiedCqpId(), this.pID, this.pQuery.getQueryString()); |
|
| 131 | 133 |
|
| 132 |
this.qresult = new QueryResult(pID, pName, this.getCorpusParent(), pQuery); // getCorpusParent().query(pQuery, this.pID, true);
|
|
| 134 |
this.qresult = new QueryResult(this.pID, this.pName, this.getCorpusParent(), this.pQuery); // getCorpusParent().query(pQuery, this.pID, true);
|
|
| 133 | 135 |
} |
| 134 | 136 |
return qresult != null; |
| 135 | 137 |
} |
| 136 | 138 |
|
| 139 |
/** |
|
| 140 |
* Sets the query to use. |
|
| 141 |
* @param query |
|
| 142 |
*/ |
|
| 137 | 143 |
public void setQuery(CQLQuery query) {
|
| 138 | 144 |
this.pQuery = query; |
| 139 | 145 |
} |
| ... | ... | |
| 525 | 531 |
|
| 526 | 532 |
@Override |
| 527 | 533 |
public boolean loadParameters() throws Exception {
|
| 528 |
String q = this.getStringParameterValue(TBXPreferences.QUERY);
|
|
| 529 |
if (q != null) {
|
|
| 534 |
String q = this.getStringParameterValue(TXMPreferences.QUERY);
|
|
| 535 |
if (!q.isEmpty()) {
|
|
| 530 | 536 |
pQuery = new CQLQuery(q); |
| 531 | 537 |
} |
| 532 | 538 |
|
| tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCCAChartCreator.java (revision 1138) | ||
|---|---|---|
| 79 | 79 |
public void updateChart(ChartResult result) {
|
| 80 | 80 |
|
| 81 | 81 |
CA ca = (CA) result; |
| 82 |
|
|
| 82 | 83 |
JFreeChart chart = (JFreeChart)result.getChart(); |
| 83 |
|
|
| 84 |
|
|
| 84 | 85 |
// freeze rendering while computing |
| 85 | 86 |
chart.setNotify(false); |
| 87 |
|
|
| 86 | 88 |
|
| 89 |
// recreate the dataset if the unit property has changed |
|
| 90 |
// if(ca.getLexicalTable().hasParameterChanged(TXMPreferences.UNIT_PROPERTY)) {
|
|
| 91 |
// try {
|
|
| 92 |
// chart.getXYPlot().setDataset(new CAXYDataset(ca)); |
|
| 93 |
// } |
|
| 94 |
// catch (Exception e) {
|
|
| 95 |
// // TODO Auto-generated catch block |
|
| 96 |
// e.printStackTrace(); |
|
| 97 |
// } |
|
| 98 |
// } |
|
| 99 |
|
|
| 87 | 100 |
|
| 88 | 101 |
CAItemSelectionRenderer renderer = (CAItemSelectionRenderer) chart.getXYPlot().getRenderer(); |
| 89 | 102 |
// XYPlot plot = chart.getXYPlot(); |
| tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java (revision 1138) | ||
|---|---|---|
| 200 | 200 |
|
| 201 | 201 |
// parts lexicons |
| 202 | 202 |
List<Lexicon> partsLexicons = new ArrayList<Lexicon>(); |
| 203 |
for (int i = 0; i < partition.getNPart(); i++) {
|
|
| 203 |
for (int i = 0; i < partition.getPartsCount(); i++) {
|
|
| 204 | 204 |
partsLexicons.add(Lexicon.getLexicon(partition.getParts().get(i), this.property, this.monitor, false)); |
| 205 | 205 |
} |
| 206 | 206 |
|
| tmp/org.txm.queryindex.rcp/src/org/txm/functions/queryindex/QueryIndex.java (revision 1138) | ||
|---|---|---|
| 279 | 279 |
if (lines.containsKey(name)) return null; |
| 280 | 280 |
QueryResult[] qresults; |
| 281 | 281 |
if (partition != null) {
|
| 282 |
qresults = new QueryResult[partition.getNPart()];
|
|
| 282 |
qresults = new QueryResult[partition.getPartsCount()];
|
|
| 283 | 283 |
List<Part> parts = partition.getParts(); |
| 284 | 284 |
for (int i = 0 ; i < parts.size() ; i++) {
|
| 285 | 285 |
qresults[i] = parts.get(i).query(query, "tmp", true); //$NON-NLS-1$ |
| ... | ... | |
| 299 | 299 |
public LexicalTable toLexicalTable() {
|
| 300 | 300 |
if (partition == null) return null; |
| 301 | 301 |
|
| 302 |
int npart = partition.getNPart();
|
|
| 302 |
int npart = partition.getPartsCount();
|
|
| 303 | 303 |
int[][] freqs = new int[lines.size()][npart]; |
| 304 | 304 |
String[] rownames = new String[lines.size()]; |
| 305 | 305 |
String[] colnames = new String[npart]; |
| tmp/org.txm.queryindex.rcp/src/org/txm/queryindex/core/functions/QueryIndex.java (revision 1138) | ||
|---|---|---|
| 279 | 279 |
if (lines.containsKey(name)) return null; |
| 280 | 280 |
QueryResult[] qresults; |
| 281 | 281 |
if (partition != null) {
|
| 282 |
qresults = new QueryResult[partition.getNPart()];
|
|
| 282 |
qresults = new QueryResult[partition.getPartsCount()];
|
|
| 283 | 283 |
List<Part> parts = partition.getParts(); |
| 284 | 284 |
for (int i = 0 ; i < parts.size() ; i++) {
|
| 285 | 285 |
qresults[i] = parts.get(i).query(query, "tmp", true); //$NON-NLS-1$ |
| ... | ... | |
| 299 | 299 |
public LexicalTable toLexicalTable() {
|
| 300 | 300 |
if (partition == null) return null; |
| 301 | 301 |
|
| 302 |
int npart = partition.getNPart();
|
|
| 302 |
int npart = partition.getPartsCount();
|
|
| 303 | 303 |
int[][] freqs = new int[lines.size()][npart]; |
| 304 | 304 |
String[] rownames = new String[lines.size()]; |
| 305 | 305 |
String[] colnames = new String[npart]; |
| tmp/org.txm.partition.core/src/org/txm/partition/core/functions/PartitionDimensions.java (revision 1138) | ||
|---|---|---|
| 60 | 60 |
*/ |
| 61 | 61 |
public PartitionDimensions(Partition partition) {
|
| 62 | 62 |
super(partition); |
| 63 |
System.err.println("PartitionDimensions.PartitionDimensions(): tesstttttttttttttttttttt");
|
|
| 64 | 63 |
} |
| 65 | 64 |
|
| 66 | 65 |
/** |
| ... | ... | |
| 88 | 87 |
|
| 89 | 88 |
@Override |
| 90 | 89 |
protected boolean _compute() throws Exception {
|
| 91 |
// parts |
|
| 90 |
// retrieve the parts
|
|
| 92 | 91 |
this.parts = this.getPartition().getParts(); |
| 93 |
// for (Part part : parts) { // no more needed since TXMResult.compute is deep computing
|
|
| 94 |
// part.compute(); |
|
| 95 |
// } |
|
| 96 | 92 |
|
| 97 |
// parts sorted by size |
|
| 93 |
// store a copy of parts sorted by size
|
|
| 98 | 94 |
List<Part> sortedParts = new ArrayList<Part>(this.parts); |
| 99 | 95 |
Collections.sort(sortedParts, new Comparator<Part>() {
|
| 100 | 96 |
@Override |
| ... | ... | |
| 121 | 117 |
return this.getPartition() != null; |
| 122 | 118 |
} |
| 123 | 119 |
|
| 124 |
|
|
| 125 |
|
|
| 126 | 120 |
@Override |
| 127 | 121 |
public boolean setParameters(TXMParameters parameters) {
|
| 128 | 122 |
try {
|
| tmp/org.txm.partition.rcp/plugin.xml (revision 1138) | ||
|---|---|---|
| 69 | 69 |
style="push"> |
| 70 | 70 |
<visibleWhen |
| 71 | 71 |
checkEnabled="false"> |
| 72 |
<or> |
|
| 73 |
<reference |
|
| 74 |
definitionId="OneChartResultSelected"> |
|
| 75 |
</reference> |
|
| 76 |
</or> |
|
| 72 |
<test |
|
| 73 |
property="org.txm.partition.rcp.test1"> |
|
| 74 |
</test> |
|
| 77 | 75 |
</visibleWhen> |
| 78 | 76 |
</command> |
| 79 | 77 |
</menuContribution> |
| tmp/org.txm.ahc.rcp/src/org/txm/ahc/rcp/handlers/ComputeAHC.java (revision 1138) | ||
|---|---|---|
| 90 | 90 |
else if (selection instanceof Partition) {
|
| 91 | 91 |
//System.out.println("Compute CAH with Partition : "+((Partition)selection.getFirstElement()).getName());
|
| 92 | 92 |
Partition partition = (Partition)selection; |
| 93 |
if (partition.getNPart() < 4) {
|
|
| 93 |
if (partition.getPartsCount() < 4) {
|
|
| 94 | 94 |
MessageDialog d = new MessageDialog(window.getShell(), TXMCoreMessages.error_error2, null, |
| 95 |
NLS.bind(AHCUIMessages.error_canNotComputeAHCWith, partition.getNPart()), 0, new String[] { TXMCoreMessages.common_ok}, 0);
|
|
| 95 |
NLS.bind(AHCUIMessages.error_canNotComputeAHCWith, partition.getPartsCount()), 0, new String[] { TXMCoreMessages.common_ok}, 0);
|
|
| 96 | 96 |
d.open(); |
| 97 | 97 |
return null; |
| 98 | 98 |
} |
Formats disponibles : Unified diff