Révision 2397
| tmp/org.txm.concordance.rcp/.classpath (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 | 2 |
<classpath> |
| 3 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
|
| 4 |
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> |
|
| 5 |
<accessrules> |
|
| 6 |
<accessrule kind="accessible" pattern="**"/> |
|
| 7 |
</accessrules> |
|
| 8 |
</classpathentry> |
|
| 9 |
<classpathentry kind="src" path="src"/> |
|
| 10 |
<classpathentry kind="output" path="bin"/> |
|
| 3 |
<classpathentry kind="con" |
|
| 4 |
path="org.eclipse.jdt.launching.JRE_CONTAINER" /> |
|
| 5 |
<classpathentry kind="con" |
|
| 6 |
path="org.eclipse.pde.core.requiredPlugins"> |
|
| 7 |
<accessrules> |
|
| 8 |
<accessrule kind="accessible" pattern="**" /> |
|
| 9 |
</accessrules> |
|
| 10 |
</classpathentry> |
|
| 11 |
<classpathentry kind="src" path="src" /> |
|
| 12 |
<classpathentry kind="output" path="bin" /> |
|
| 11 | 13 |
</classpath> |
| tmp/org.txm.dictionary.rcp/.classpath (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 | 2 |
<classpath> |
| 3 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
|
| 4 |
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> |
|
| 5 |
<accessrules> |
|
| 6 |
<accessrule kind="accessible" pattern="**"/> |
|
| 7 |
</accessrules> |
|
| 8 |
</classpathentry> |
|
| 9 |
<classpathentry kind="src" path="src"/> |
|
| 10 |
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/> |
|
| 11 |
<classpathentry kind="output" path="bin"/> |
|
| 3 |
<classpathentry kind="con" |
|
| 4 |
path="org.eclipse.jdt.launching.JRE_CONTAINER" /> |
|
| 5 |
<classpathentry kind="con" |
|
| 6 |
path="org.eclipse.pde.core.requiredPlugins"> |
|
| 7 |
<accessrules> |
|
| 8 |
<accessrule kind="accessible" pattern="**" /> |
|
| 9 |
</accessrules> |
|
| 10 |
</classpathentry> |
|
| 11 |
<classpathentry kind="src" path="src" /> |
|
| 12 |
<classpathentry exported="true" kind="con" |
|
| 13 |
path="GROOVY_DSL_SUPPORT" /> |
|
| 14 |
<classpathentry kind="output" path="bin" /> |
|
| 12 | 15 |
</classpath> |
| tmp/org.txm.internalview.core/.classpath (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 | 2 |
<classpath> |
| 3 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
|
| 4 |
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> |
|
| 5 |
<accessrules> |
|
| 6 |
<accessrule kind="accessible" pattern="**"/> |
|
| 7 |
</accessrules> |
|
| 8 |
</classpathentry> |
|
| 9 |
<classpathentry kind="src" path="src"/> |
|
| 10 |
<classpathentry kind="output" path="bin"/> |
|
| 3 |
<classpathentry kind="con" |
|
| 4 |
path="org.eclipse.jdt.launching.JRE_CONTAINER" /> |
|
| 5 |
<classpathentry kind="con" |
|
| 6 |
path="org.eclipse.pde.core.requiredPlugins"> |
|
| 7 |
<accessrules> |
|
| 8 |
<accessrule kind="accessible" pattern="**" /> |
|
| 9 |
</accessrules> |
|
| 10 |
</classpathentry> |
|
| 11 |
<classpathentry kind="src" path="src" /> |
|
| 12 |
<classpathentry kind="output" path="bin" /> |
|
| 11 | 13 |
</classpath> |
| tmp/org.txm.internalview.core/src/org/txm/internalview/core/messages/InternalViewCoreMessages.java (revision 2397) | ||
|---|---|---|
| 15 | 15 |
private static final String BUNDLE_NAME = "org.txm.internalview.core.messages.messages"; //$NON-NLS-1$ |
| 16 | 16 |
|
| 17 | 17 |
public static String RESULT_TYPE; |
| 18 |
|
|
| 19 | 18 |
|
| 20 |
public static String structureInformationsColon; |
|
| 21 |
public static String internalViewColonFailedToRetrieveStructPropertiesValuesColonP0; |
|
| 22 |
public static String noStructureInformations; |
|
| 23 | 19 |
|
| 20 |
public static String structureInformationsColon; |
|
| 21 |
|
|
| 22 |
public static String internalViewColonFailedToRetrieveStructPropertiesValuesColonP0; |
|
| 23 |
|
|
| 24 |
public static String noStructureInformations; |
|
| 25 |
|
|
| 24 | 26 |
static {
|
| 25 | 27 |
Utf8NLS.initializeMessages(BUNDLE_NAME, InternalViewCoreMessages.class); |
| 26 | 28 |
} |
| tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/package.html (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<html> |
| 2 | 2 |
<body> |
| 3 |
<p>Internal view</p> |
|
| 3 |
<p>Internal view</p>
|
|
| 4 | 4 |
</body> |
| 5 | 5 |
</html> |
| tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/InternalView.java (revision 2397) | ||
|---|---|---|
| 30 | 30 |
import org.txm.utils.logger.Log; |
| 31 | 31 |
|
| 32 | 32 |
/** |
| 33 |
* Internal view.
|
|
| 33 |
* Internal view. |
|
| 34 | 34 |
* |
| 35 | 35 |
* @author mdecorde |
| 36 | 36 |
* @author sjacquot |
| 37 | 37 |
* |
| 38 | 38 |
*/ |
| 39 |
public class InternalView extends TXMResult {
|
|
| 40 |
|
|
| 39 |
public class InternalView extends TXMResult {
|
|
| 40 |
|
|
| 41 | 41 |
protected List<Match> matches = new ArrayList<Match>(); |
| 42 |
|
|
| 42 | 43 |
protected int nmatches = 0; |
| 43 |
|
|
| 44 |
|
|
| 44 | 45 |
/** |
| 45 | 46 |
* Current page. |
| 46 | 47 |
*/ |
| 47 |
@Parameter(key=InternalViewPreferences.CURRENT_PAGE)
|
|
| 48 |
@Parameter(key = InternalViewPreferences.CURRENT_PAGE)
|
|
| 48 | 49 |
protected int pCurrentPage; |
| 49 |
|
|
| 50 |
|
|
| 50 | 51 |
/** |
| 51 | 52 |
* Structural unit to explore. |
| 52 | 53 |
*/ |
| 53 |
@Parameter(key=TXMPreferences.STRUCTURAL_UNIT)
|
|
| 54 |
@Parameter(key = TXMPreferences.STRUCTURAL_UNIT)
|
|
| 54 | 55 |
protected StructuralUnit pStructuralUnit; |
| 55 |
|
|
| 56 |
|
|
| 56 | 57 |
/** |
| 57 | 58 |
* Word properties to display. |
| 58 | 59 |
*/ |
| 59 |
@Parameter(key=TXMPreferences.UNIT_PROPERTIES)
|
|
| 60 |
@Parameter(key = TXMPreferences.UNIT_PROPERTIES)
|
|
| 60 | 61 |
protected List<WordProperty> pWordProperties; |
| 61 |
|
|
| 62 |
|
|
| 62 | 63 |
/** |
| 63 | 64 |
* Structural units to display. |
| 64 | 65 |
*/ |
| 65 |
@Parameter(key=TXMPreferences.STRUCTURAL_UNIT_PROPERTIES)
|
|
| 66 |
@Parameter(key = TXMPreferences.STRUCTURAL_UNIT_PROPERTIES)
|
|
| 66 | 67 |
protected List<StructuralUnitProperty> pStructuralUnitsProperties; |
| 67 |
|
|
| 68 |
|
|
| 68 |
|
|
| 69 |
|
|
| 69 | 70 |
/** |
| 70 | 71 |
* |
| 71 | 72 |
* @param parent |
| ... | ... | |
| 73 | 74 |
public InternalView(CQPCorpus parent) {
|
| 74 | 75 |
super(parent); |
| 75 | 76 |
} |
| 76 |
|
|
| 77 |
|
|
| 77 | 78 |
/** |
| 78 | 79 |
* |
| 79 | 80 |
* @param parametersNodePath |
| ... | ... | |
| 81 | 82 |
public InternalView(String parametersNodePath) {
|
| 82 | 83 |
super(parametersNodePath); |
| 83 | 84 |
} |
| 84 |
|
|
| 85 |
|
|
| 86 |
|
|
| 85 |
|
|
| 86 |
|
|
| 87 |
|
|
| 87 | 88 |
@Override |
| 88 | 89 |
public boolean loadParameters() throws Exception {
|
| 89 | 90 |
try {
|
| 90 | 91 |
String str = this.getStringParameterValue(TXMPreferences.STRUCTURAL_UNIT); |
| 91 | 92 |
this.pStructuralUnit = this.getCorpus().getStructuralUnit(str); |
| 92 |
} catch (Exception e) {
|
|
| 93 |
} |
|
| 94 |
catch (Exception e) {
|
|
| 93 | 95 |
Log.printStackTrace(e); |
| 94 | 96 |
} |
| 95 | 97 |
try {
|
| 96 | 98 |
String str = this.getStringParameterValue(TXMPreferences.UNIT_PROPERTIES); |
| 97 | 99 |
this.pWordProperties = (List<WordProperty>) WordProperty.stringToProperties(this.getCorpus(), str); |
| 98 |
} catch (Exception e2) {
|
|
| 100 |
} |
|
| 101 |
catch (Exception e2) {
|
|
| 99 | 102 |
Log.printStackTrace(e2); |
| 100 | 103 |
} |
| 101 | 104 |
try {
|
| 102 | 105 |
String str = this.getStringParameterValue(TXMPreferences.STRUCTURAL_UNIT_PROPERTIES); |
| 103 | 106 |
this.pStructuralUnitsProperties = StructuralUnitProperty.stringToProperties(this.getCorpus(), str); |
| 104 |
} catch (Exception e3) {
|
|
| 107 |
} |
|
| 108 |
catch (Exception e3) {
|
|
| 105 | 109 |
Log.printStackTrace(e3); |
| 106 | 110 |
} |
| 107 | 111 |
return true; |
| 108 | 112 |
} |
| 109 |
|
|
| 110 |
|
|
| 113 |
|
|
| 114 |
|
|
| 111 | 115 |
@Override |
| 112 | 116 |
protected boolean _compute() throws Exception {
|
| 113 |
|
|
| 114 |
if(this.hasParameterChanged(InternalViewPreferences.STRUCTURAL_UNIT)) {
|
|
| 117 |
|
|
| 118 |
if (this.hasParameterChanged(InternalViewPreferences.STRUCTURAL_UNIT)) {
|
|
| 115 | 119 |
|
| 116 | 120 |
// reset the current page (only if the result has been computed at least once otherwise it breaks the deserialization) |
| 117 |
if(this.hasBeenComputedOnce) {
|
|
| 121 |
if (this.hasBeenComputedOnce) {
|
|
| 118 | 122 |
this.pCurrentPage = 0; |
| 119 | 123 |
} |
| 120 | 124 |
|
| 121 |
//find struct start-end |
|
| 125 |
// find struct start-end
|
|
| 122 | 126 |
CQLQuery query = new CQLQuery("<" + pStructuralUnit.getName() + "> [] expand to " + pStructuralUnit); //$NON-NLS-1$ //$NON-NLS-2$
|
| 123 |
//System.out.println(query); |
|
| 127 |
// System.out.println(query);
|
|
| 124 | 128 |
QueryResult result = getCorpus().query(query, "test", false); //$NON-NLS-1$ |
| 125 | 129 |
nmatches = result.getNMatch(); |
| 126 | 130 |
if (nmatches > 0) {
|
| 127 | 131 |
matches = result.getMatches(); |
| 128 | 132 |
} |
| 129 | 133 |
result.drop(); |
| 130 |
//System.out.println(matches); |
|
| 134 |
// System.out.println(matches);
|
|
| 131 | 135 |
dirty = false; |
| 132 | 136 |
return (nmatches > 0); |
| 133 | 137 |
} |
| 134 | 138 |
return true; |
| 135 | 139 |
} |
| 136 |
|
|
| 137 |
|
|
| 138 |
|
|
| 139 |
|
|
| 140 |
|
|
| 141 |
|
|
| 142 |
|
|
| 143 |
|
|
| 140 | 144 |
@Override |
| 141 | 145 |
public boolean canCompute() {
|
| 142 |
return getCorpus() != null &&
|
|
| 143 |
pStructuralUnit != null &&
|
|
| 144 |
pWordProperties != null &&
|
|
| 145 |
pWordProperties.size() > 0 &&
|
|
| 146 |
pStructuralUnitsProperties != null &&
|
|
| 146 |
return getCorpus() != null && |
|
| 147 |
pStructuralUnit != null && |
|
| 148 |
pWordProperties != null && |
|
| 149 |
pWordProperties.size() > 0 && |
|
| 150 |
pStructuralUnitsProperties != null && |
|
| 147 | 151 |
pStructuralUnitsProperties.size() > 0; |
| 148 | 152 |
} |
| 149 |
|
|
| 153 |
|
|
| 150 | 154 |
/** |
| 151 | 155 |
* get the ith page and set the current page number to i |
| 152 | 156 |
* |
| ... | ... | |
| 156 | 160 |
*/ |
| 157 | 161 |
protected LinkedHashMap<Property, List<String>> getPageContent(int i) throws CqiClientException {
|
| 158 | 162 |
LinkedHashMap<Property, List<String>> rez = new LinkedHashMap<Property, List<String>>(); |
| 159 |
|
|
| 163 |
|
|
| 160 | 164 |
if (i >= 0 && i < nmatches) {
|
| 161 | 165 |
Match m = matches.get(i); |
| 162 | 166 |
Collection<? extends Integer> positions = m.getRange(); |
| 163 | 167 |
int[] p = new int[positions.size()]; |
| 164 | 168 |
int c = 0; |
| 165 |
for(int v : positions) {
|
|
| 169 |
for (int v : positions) {
|
|
| 166 | 170 |
p[c++] = v; |
| 167 | 171 |
} |
| 168 | 172 |
for (Property prop : pWordProperties) {
|
| ... | ... | |
| 172 | 176 |
} |
| 173 | 177 |
return rez; |
| 174 | 178 |
} |
| 175 |
|
|
| 176 |
|
|
| 179 |
|
|
| 180 |
|
|
| 177 | 181 |
/** |
| 178 | 182 |
* |
| 179 | 183 |
* @return the current page content map |
| ... | ... | |
| 183 | 187 |
HashMap<Property, List<String>> current = this.getPageContent(pCurrentPage); |
| 184 | 188 |
return current; |
| 185 | 189 |
} |
| 186 |
|
|
| 187 |
|
|
| 188 |
|
|
| 189 |
|
|
| 190 |
|
|
| 191 |
|
|
| 192 |
|
|
| 193 |
|
|
| 190 | 194 |
/** |
| 191 | 195 |
* Gets the current page number. |
| 196 |
* |
|
| 192 | 197 |
* @return the current page number |
| 193 | 198 |
*/ |
| 194 | 199 |
public int getCurrentPage() {
|
| 195 | 200 |
return pCurrentPage; |
| 196 | 201 |
} |
| 197 |
|
|
| 202 |
|
|
| 198 | 203 |
@Override |
| 199 | 204 |
public boolean saveParameters() {
|
| 200 | 205 |
if (pStructuralUnit != null) {
|
| ... | ... | |
| 207 | 212 |
if (pWordProperties != null) {
|
| 208 | 213 |
this.saveParameter(InternalViewPreferences.UNIT_PROPERTIES, WordProperty.propertiesToString(pWordProperties)); |
| 209 | 214 |
} |
| 210 |
|
|
| 215 |
|
|
| 211 | 216 |
return true; |
| 212 | 217 |
} |
| 213 |
|
|
| 218 |
|
|
| 214 | 219 |
@Override |
| 215 | 220 |
public void clean() {
|
| 216 | 221 |
// nothing to do |
| 217 | 222 |
} |
| 218 |
|
|
| 219 |
|
|
| 223 |
|
|
| 224 |
|
|
| 220 | 225 |
/** |
| 221 | 226 |
* Gets the linked corpus. |
| 227 |
* |
|
| 222 | 228 |
* @return |
| 223 | 229 |
*/ |
| 224 | 230 |
public CQPCorpus getCorpus() {
|
| 225 |
return (CQPCorpus)getParent(); |
|
| 231 |
return (CQPCorpus) getParent();
|
|
| 226 | 232 |
} |
| 227 |
|
|
| 228 |
|
|
| 233 |
|
|
| 234 |
|
|
| 229 | 235 |
@Override |
| 230 | 236 |
public String getDetails() {
|
| 231 |
return getCorpus().getName()+" "+pStructuralUnit.getName()+" "+(pCurrentPage+1); //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 237 |
return getCorpus().getName() + " " + pStructuralUnit.getName() + " " + (pCurrentPage + 1); //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 232 | 238 |
} |
| 233 |
|
|
| 239 |
|
|
| 234 | 240 |
@Override |
| 235 | 241 |
public String getComputingDoneMessage() {
|
| 236 | 242 |
return ""; |
| 237 |
//return TXMCoreMessages.common_done; |
|
| 243 |
// return TXMCoreMessages.common_done;
|
|
| 238 | 244 |
} |
| 239 |
|
|
| 245 |
|
|
| 240 | 246 |
@Override |
| 241 | 247 |
public String getSimpleName() {
|
| 242 | 248 |
return getName(); |
| 243 | 249 |
} |
| 244 |
|
|
| 245 |
|
|
| 250 |
|
|
| 251 |
|
|
| 246 | 252 |
@Override |
| 247 | 253 |
public String getName() {
|
| 248 | 254 |
if (pStructuralUnit != null) {
|
| 249 |
return pStructuralUnit.getName( ) + " (" + (this.pCurrentPage + 1) + " / " + this.nmatches + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 255 |
return pStructuralUnit.getName() + " (" + (this.pCurrentPage + 1) + " / " + this.nmatches + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 250 | 256 |
} |
| 251 | 257 |
return getCorpus().getName(); |
| 252 | 258 |
} |
| 253 |
|
|
| 254 |
|
|
| 259 |
|
|
| 260 |
|
|
| 255 | 261 |
/** |
| 256 | 262 |
* Gets the number of matched segments. |
| 263 |
* |
|
| 257 | 264 |
* @return |
| 258 | 265 |
*/ |
| 259 | 266 |
public int getSegmentsCount() {
|
| 260 | 267 |
return nmatches; |
| 261 | 268 |
} |
| 262 |
|
|
| 263 |
|
|
| 269 |
|
|
| 270 |
|
|
| 264 | 271 |
/** |
| 265 | 272 |
* Gets lexical properties to display. |
| 273 |
* |
|
| 266 | 274 |
* @return |
| 267 | 275 |
*/ |
| 268 | 276 |
public List<WordProperty> getProperties() {
|
| 269 | 277 |
return pWordProperties; |
| 270 | 278 |
} |
| 271 |
|
|
| 279 |
|
|
| 272 | 280 |
/** |
| 273 | 281 |
* |
| 274 | 282 |
* @return |
| ... | ... | |
| 280 | 288 |
if (matches.size() < pCurrentPage) {
|
| 281 | 289 |
return 0; |
| 282 | 290 |
} |
| 283 |
|
|
| 291 |
|
|
| 284 | 292 |
Match m = matches.get(pCurrentPage); |
| 285 | 293 |
return m.size(); |
| 286 | 294 |
} |
| 287 |
|
|
| 295 |
|
|
| 288 | 296 |
/** |
| 289 | 297 |
* |
| 290 | 298 |
* @return |
| 291 | 299 |
*/ |
| 292 | 300 |
public String getStructInfos() {
|
| 293 |
|
|
| 301 |
|
|
| 294 | 302 |
try {
|
| 295 | 303 |
if (pStructuralUnitsProperties.size() > 0) {
|
| 296 | 304 |
String str = InternalViewCoreMessages.structureInformationsColon; |
| 297 | 305 |
for (Property sup : pStructuralUnitsProperties) {
|
| 298 |
int[] array = {getCurrentPage()};
|
|
| 299 |
str += " "+sup.getName()+"="+CQPSearchEngine.getCqiClient().struc2Str(sup.getQualifiedName(), array)[0]; //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 306 |
int[] array = { getCurrentPage() };
|
|
| 307 |
str += " " + sup.getName() + "=" + CQPSearchEngine.getCqiClient().struc2Str(sup.getQualifiedName(), array)[0]; //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 300 | 308 |
} |
| 301 | 309 |
return str; |
| 302 | 310 |
} |
| 303 |
} catch (Exception e) {
|
|
| 311 |
} |
|
| 312 |
catch (Exception e) {
|
|
| 304 | 313 |
System.out.println(NLS.bind(InternalViewCoreMessages.internalViewColonFailedToRetrieveStructPropertiesValuesColonP0, e.getMessage())); |
| 305 | 314 |
org.txm.utils.logger.Log.printStackTrace(e); |
| 306 | 315 |
} |
| 307 | 316 |
return InternalViewCoreMessages.noStructureInformations; |
| 308 | 317 |
} |
| 309 |
|
|
| 318 |
|
|
| 310 | 319 |
/** |
| 311 | 320 |
* Gets the structural unit to explore. |
| 321 |
* |
|
| 312 | 322 |
* @return |
| 313 | 323 |
*/ |
| 314 | 324 |
public StructuralUnit getStructuralUnit() {
|
| 315 | 325 |
return pStructuralUnit; |
| 316 | 326 |
} |
| 317 |
|
|
| 318 |
|
|
| 327 |
|
|
| 328 |
|
|
| 319 | 329 |
/** |
| 320 | 330 |
* Dumps the specified segment in the console. |
| 331 |
* |
|
| 321 | 332 |
* @param seg |
| 322 | 333 |
*/ |
| 323 | 334 |
public void printSeg(HashMap<Property, List<String>> seg) {
|
| 324 | 335 |
Collection<List<String>> values = seg.values(); |
| 325 |
if(values.size() == 0) {
|
|
| 336 |
if (values.size() == 0) {
|
|
| 326 | 337 |
return; |
| 327 | 338 |
} |
| 328 |
|
|
| 329 |
for(List<String> list : values) {
|
|
| 330 |
for(String value : list) {
|
|
| 331 |
System.out.print("\t"+value); //$NON-NLS-1$
|
|
| 339 |
|
|
| 340 |
for (List<String> list : values) {
|
|
| 341 |
for (String value : list) {
|
|
| 342 |
System.out.print("\t" + value); //$NON-NLS-1$
|
|
| 332 | 343 |
} |
| 333 | 344 |
System.out.println(); |
| 334 | 345 |
} |
| 335 | 346 |
System.out.println(); |
| 336 | 347 |
} |
| 337 |
|
|
| 338 |
|
|
| 348 |
|
|
| 349 |
|
|
| 339 | 350 |
public void setParameters(List<WordProperty> properties, StructuralUnit struct, List<StructuralUnitProperty> structProperties, Integer currentStructure) {
|
| 340 | 351 |
if (properties != null) this.pWordProperties = properties; |
| 341 | 352 |
if (struct != null) this.pStructuralUnit = struct; |
| 342 | 353 |
if (structProperties != null) this.pStructuralUnitsProperties = structProperties; |
| 343 | 354 |
if (currentStructure != null) this.pCurrentPage = currentStructure; |
| 344 |
|
|
| 355 |
|
|
| 345 | 356 |
dirty = true; |
| 346 | 357 |
} |
| 347 |
|
|
| 348 |
|
|
| 349 |
|
|
| 350 |
|
|
| 358 |
|
|
| 359 |
|
|
| 360 |
|
|
| 361 |
|
|
| 351 | 362 |
@Override |
| 352 | 363 |
public boolean setParameters(TXMParameters parameters) {
|
| 353 | 364 |
// FIXME: Debug |
| 354 | 365 |
System.err.println("InternalView.setParameters(): not yet implemented.");
|
| 355 | 366 |
return false; |
| 356 | 367 |
} |
| 357 |
|
|
| 358 |
|
|
| 368 |
|
|
| 369 |
|
|
| 359 | 370 |
@Override |
| 360 | 371 |
public boolean toTxt(File outfile, String encoding, String colseparator, String txtseparator) throws Exception {
|
| 361 | 372 |
PrintWriter writer = IOUtils.getWriter(outfile, encoding); |
| 362 |
for (int ipage = 0 ; ipage < nmatches ; ipage++) { // run through all pages
|
|
| 373 |
for (int ipage = 0; ipage < nmatches; ipage++) { // run through all pages
|
|
| 363 | 374 |
LinkedHashMap<Property, List<String>> page = getPageContent(ipage); |
| 364 | 375 |
for (Property p : pWordProperties) {
|
| 365 | 376 |
writer.println(StringUtils.join(page.get(p), colseparator)); |
| ... | ... | |
| 369 | 380 |
writer.close(); |
| 370 | 381 |
return false; |
| 371 | 382 |
} |
| 372 |
|
|
| 373 |
|
|
| 383 |
|
|
| 384 |
|
|
| 374 | 385 |
/** |
| 375 | 386 |
* Sets the structural unit to explore. |
| 387 |
* |
|
| 376 | 388 |
* @param structuralUnit |
| 377 | 389 |
*/ |
| 378 | 390 |
public void setStructuralUnit(StructuralUnit structuralUnit) {
|
| 379 | 391 |
this.pStructuralUnit = structuralUnit; |
| 380 | 392 |
} |
| 381 |
|
|
| 382 |
|
|
| 393 |
|
|
| 394 |
|
|
| 383 | 395 |
/** |
| 384 | 396 |
* Sets the word properties to display. |
| 397 |
* |
|
| 385 | 398 |
* @param properties |
| 386 | 399 |
*/ |
| 387 |
public void setWordProperties(List<WordProperty> properties) {
|
|
| 400 |
public void setWordProperties(List<WordProperty> properties) {
|
|
| 388 | 401 |
this.pWordProperties = properties; |
| 389 | 402 |
} |
| 390 |
|
|
| 403 |
|
|
| 391 | 404 |
/** |
| 392 | 405 |
* Sets the structural unit properties to display. |
| 406 |
* |
|
| 393 | 407 |
* @param structuralUnitProperties |
| 394 | 408 |
*/ |
| 395 | 409 |
public void setStructuralUnitProperties(List<StructuralUnitProperty> structuralUnitProperties) {
|
| 396 | 410 |
this.pStructuralUnitsProperties = structuralUnitProperties; |
| 397 | 411 |
} |
| 398 |
|
|
| 399 |
|
|
| 412 |
|
|
| 413 |
|
|
| 400 | 414 |
/** |
| 401 | 415 |
* Sets the current page number. |
| 416 |
* |
|
| 402 | 417 |
* @param currentPage the currentPage to set |
| 403 | 418 |
*/ |
| 404 | 419 |
public void setCurrentPage(int currentPage) {
|
| 405 | 420 |
this.pCurrentPage = currentPage; |
| 406 |
|
|
| 407 |
if(this.pCurrentPage < 0 || this.pCurrentPage > (this.nmatches - 1)) {
|
|
| 421 |
|
|
| 422 |
if (this.pCurrentPage < 0 || this.pCurrentPage > (this.nmatches - 1)) {
|
|
| 408 | 423 |
System.err.println("InternalView.setCurrentPage(): current page (" + this.pCurrentPage + ") is outside matches range (" + this.nmatches + ").");
|
| 409 | 424 |
this.pCurrentPage = 0; |
| 410 | 425 |
} |
| 411 | 426 |
} |
| 412 |
|
|
| 427 |
|
|
| 413 | 428 |
@Override |
| 414 | 429 |
public String getResultType() {
|
| 415 | 430 |
return InternalViewCoreMessages.RESULT_TYPE; |
| 416 | 431 |
} |
| 417 |
|
|
| 418 |
} |
|
| 432 |
|
|
| 433 |
} |
|
| tmp/org.txm.internalview.core/src/org/txm/internalview/core/preferences/InternalViewPreferences.java (revision 2397) | ||
|---|---|---|
| 12 | 12 |
* |
| 13 | 13 |
*/ |
| 14 | 14 |
public class InternalViewPreferences extends TXMPreferences {
|
| 15 |
|
|
| 15 |
|
|
| 16 | 16 |
/** |
| 17 |
* Current page number.
|
|
| 17 |
* Current page number. |
|
| 18 | 18 |
*/ |
| 19 | 19 |
public static final String CURRENT_PAGE = "current_page"; //$NON-NLS-1$ |
| 20 |
|
|
| 21 | 20 |
|
| 21 |
|
|
| 22 | 22 |
/** |
| 23 | 23 |
* Gets the instance. |
| 24 |
* |
|
| 24 | 25 |
* @return the instance |
| 25 | 26 |
*/ |
| 26 |
public static TXMPreferences getInstance() {
|
|
| 27 |
public static TXMPreferences getInstance() {
|
|
| 27 | 28 |
if (!TXMPreferences.instances.containsKey(InternalViewPreferences.class)) {
|
| 28 | 29 |
new InternalViewPreferences(); |
| 29 | 30 |
} |
| 30 | 31 |
return TXMPreferences.instances.get(InternalViewPreferences.class); |
| 31 | 32 |
} |
| 32 |
|
|
| 33 | 33 |
|
| 34 |
|
|
| 34 | 35 |
@Override |
| 35 | 36 |
public void initializeDefaultPreferences() {
|
| 36 | 37 |
super.initializeDefaultPreferences(); |
| tmp/org.txm.cql2lsa.rcp/.classpath (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 | 2 |
<classpath> |
| 3 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
|
| 4 |
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> |
|
| 5 |
<accessrules> |
|
| 6 |
<accessrule kind="accessible" pattern="**"/> |
|
| 7 |
</accessrules> |
|
| 8 |
</classpathentry> |
|
| 9 |
<classpathentry kind="src" path="src"/> |
|
| 10 |
<classpathentry kind="output" path="bin"/> |
|
| 3 |
<classpathentry kind="con" |
|
| 4 |
path="org.eclipse.jdt.launching.JRE_CONTAINER" /> |
|
| 5 |
<classpathentry kind="con" |
|
| 6 |
path="org.eclipse.pde.core.requiredPlugins"> |
|
| 7 |
<accessrules> |
|
| 8 |
<accessrule kind="accessible" pattern="**" /> |
|
| 9 |
</accessrules> |
|
| 10 |
</classpathentry> |
|
| 11 |
<classpathentry kind="src" path="src" /> |
|
| 12 |
<classpathentry kind="output" path="bin" /> |
|
| 11 | 13 |
</classpath> |
| tmp/org.txm.cql2lsa.rcp/src/org/txm/functions/cql2lsa/package.html (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<html> |
| 2 | 2 |
<body> |
| 3 |
<p>Prototype of Query index.</p> |
|
| 3 |
<p>Prototype of Query index.</p>
|
|
| 4 | 4 |
</body> |
| 5 | 5 |
</html> |
| tmp/org.txm.index.core/.classpath (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 | 2 |
<classpath> |
| 3 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
|
| 4 |
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> |
|
| 5 |
<accessrules> |
|
| 6 |
<accessrule kind="accessible" pattern="**"/> |
|
| 7 |
</accessrules> |
|
| 8 |
</classpathentry> |
|
| 9 |
<classpathentry kind="src" path="src"/> |
|
| 10 |
<classpathentry kind="src" path="groovy"/> |
|
| 11 |
<classpathentry kind="output" path="bin"/> |
|
| 3 |
<classpathentry kind="con" |
|
| 4 |
path="org.eclipse.jdt.launching.JRE_CONTAINER" /> |
|
| 5 |
<classpathentry kind="con" |
|
| 6 |
path="org.eclipse.pde.core.requiredPlugins"> |
|
| 7 |
<accessrules> |
|
| 8 |
<accessrule kind="accessible" pattern="**" /> |
|
| 9 |
</accessrules> |
|
| 10 |
</classpathentry> |
|
| 11 |
<classpathentry kind="src" path="src" /> |
|
| 12 |
<classpathentry kind="src" path="groovy" /> |
|
| 13 |
<classpathentry kind="output" path="bin" /> |
|
| 12 | 14 |
</classpath> |
| tmp/org.txm.index.core/groovy/org/txm/test/TestIndex.java (revision 2397) | ||
|---|---|---|
| 21 | 21 |
* |
| 22 | 22 |
*/ |
| 23 | 23 |
public class TestIndex {
|
| 24 |
|
|
| 24 | 25 |
/** |
| 25 | 26 |
* the corpus name to use |
| 26 | 27 |
*/ |
| ... | ... | |
| 33 | 34 |
|
| 34 | 35 |
/** |
| 35 | 36 |
* First test |
| 37 |
* |
|
| 36 | 38 |
* @param outdir : the out folder |
| 37 | 39 |
*/ |
| 38 | 40 |
public boolean test1(File outdir) {
|
| 39 |
return testCorpus(new File(outdir, TestIndex.class.getName()+"_test1.csv"), CORPUS, null, "je", //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 41 |
return testCorpus(new File(outdir, TestIndex.class.getName() + "_test1.csv"), CORPUS, null, "je", //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 40 | 42 |
Arrays.asList("word"), null); //$NON-NLS-1$
|
| 41 | 43 |
} |
| 42 | 44 |
|
| 43 | 45 |
/** |
| 44 | 46 |
* First test |
| 47 |
* |
|
| 45 | 48 |
* @param outdir : the out folder |
| 46 | 49 |
*/ |
| 47 | 50 |
public boolean test2(File outdir) {
|
| 48 |
// return testPartition(new File(outdir, TestIndex.class.getName()+"_test2.csv"), CORPUS, "texts", "je", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 49 |
// Arrays.asList("word"), null); //$NON-NLS-1$
|
|
| 51 |
// return testPartition(new File(outdir, TestIndex.class.getName()+"_test2.csv"), CORPUS, "texts", "je", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 52 |
// Arrays.asList("word"), null); //$NON-NLS-1$
|
|
| 50 | 53 |
return false; |
| 51 | 54 |
} |
| 52 | 55 |
|
| ... | ... | |
| 60 | 63 |
CQLQuery query = new CQLQuery(CQLQuery.fixQuery(queryString)); |
| 61 | 64 |
|
| 62 | 65 |
List<WordProperty> properties = new ArrayList<WordProperty>(); |
| 63 |
for (String p : propertiesString) properties.add(corpus.getProperty(p)); |
|
| 64 |
|
|
| 66 |
for (String p : propertiesString) |
|
| 67 |
properties.add(corpus.getProperty(p)); |
|
| 68 |
|
|
| 65 | 69 |
Index index = new Index(corpus); |
| 66 | 70 |
index.setParameters(query, properties, null, null, null, null); |
| 67 | 71 |
index.compute(); |
| ... | ... | |
| 72 | 76 |
else if ("unitfreq".equals(sortBy)) index.sortLines(SortMode.UNITFREQ, false); //$NON-NLS-1$
|
| 73 | 77 |
} |
| 74 | 78 |
index.toTxt(outfile, "UTF-8", "\t", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
| 75 |
} catch (Exception e) {
|
|
| 79 |
} |
|
| 80 |
catch (Exception e) {
|
|
| 76 | 81 |
org.txm.utils.logger.Log.printStackTrace(e); |
| 77 | 82 |
return false; |
| 78 | 83 |
} |
| 79 | 84 |
return true; |
| 80 | 85 |
} |
| 81 | 86 |
|
| 82 |
// private boolean testPartition(File outfile, String corpusname, String partitionname, String queryString,
|
|
| 83 |
// List<String> propertiesString, String sortBy) {
|
|
| 84 |
// try {
|
|
| 85 |
// CQPCorpus corpus = CorpusManager.getCorpusManager().getCorpus(corpusname);
|
|
| 86 |
// Partition partition = corpus.getPartition(partitionname);
|
|
| 87 |
//
|
|
| 88 |
// CQLQuery query = new CQLQuery(CQLQuery.fixQuery(queryString));
|
|
| 89 |
//
|
|
| 90 |
// List<WordProperty> properties = new ArrayList<WordProperty>();
|
|
| 91 |
// for (String p : propertiesString) properties.add(corpus.getProperty(p));
|
|
| 92 |
// |
|
| 93 |
// Index index = new Index(partition);
|
|
| 94 |
// index.setParameters(query, properties, null, null, null, null);
|
|
| 95 |
// index.compute();
|
|
| 96 |
// index.getAllLines();
|
|
| 97 |
//
|
|
| 98 |
// if (sortBy != null) {
|
|
| 99 |
// if ("frequnit".equals(sortBy)) index.sortLines(SortMode.FREQUNIT, false); //$NON-NLS-1$
|
|
| 100 |
// else if ("unitfreq".equals(sortBy)) index.sortLines(SortMode.UNITFREQ, false); //$NON-NLS-1$
|
|
| 101 |
// }
|
|
| 102 |
// index.toTxt(outfile, "UTF-8", "\t", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 103 |
// } catch (Exception e) {
|
|
| 104 |
// org.txm.utils.logger.Log.printStackTrace(e);
|
|
| 105 |
// return false;
|
|
| 106 |
// }
|
|
| 107 |
// return true;
|
|
| 108 |
// }
|
|
| 87 |
// private boolean testPartition(File outfile, String corpusname, String partitionname, String queryString,
|
|
| 88 |
// List<String> propertiesString, String sortBy) {
|
|
| 89 |
// try {
|
|
| 90 |
// CQPCorpus corpus = CorpusManager.getCorpusManager().getCorpus(corpusname);
|
|
| 91 |
// Partition partition = corpus.getPartition(partitionname);
|
|
| 92 |
//
|
|
| 93 |
// CQLQuery query = new CQLQuery(CQLQuery.fixQuery(queryString));
|
|
| 94 |
//
|
|
| 95 |
// List<WordProperty> properties = new ArrayList<WordProperty>();
|
|
| 96 |
// for (String p : propertiesString) properties.add(corpus.getProperty(p));
|
|
| 97 |
//
|
|
| 98 |
// Index index = new Index(partition);
|
|
| 99 |
// index.setParameters(query, properties, null, null, null, null);
|
|
| 100 |
// index.compute();
|
|
| 101 |
// index.getAllLines();
|
|
| 102 |
//
|
|
| 103 |
// if (sortBy != null) {
|
|
| 104 |
// if ("frequnit".equals(sortBy)) index.sortLines(SortMode.FREQUNIT, false); //$NON-NLS-1$
|
|
| 105 |
// else if ("unitfreq".equals(sortBy)) index.sortLines(SortMode.UNITFREQ, false); //$NON-NLS-1$
|
|
| 106 |
// }
|
|
| 107 |
// index.toTxt(outfile, "UTF-8", "\t", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 108 |
// } catch (Exception e) {
|
|
| 109 |
// org.txm.utils.logger.Log.printStackTrace(e);
|
|
| 110 |
// return false;
|
|
| 111 |
// }
|
|
| 112 |
// return true;
|
|
| 113 |
// }
|
|
| 109 | 114 |
} |
| tmp/org.txm.index.core/groovy/org/txm/test/IndexSample.groovy (revision 2397) | ||
|---|---|---|
| 39 | 39 |
import org.txm.searchengine.cqp.corpus.query.* |
| 40 | 40 |
|
| 41 | 41 |
// on récupère le corpus DISCOURS |
| 42 |
MainCorpus discours = CorpusManager.getCorpusManager().getCorpus("BFM")
|
|
| 43 |
println discours |
|
| 42 |
MainCorpus discours=CorpusManager.getCorpusManager().getCorpus("BFM")println discours
|
|
| 44 | 43 |
|
| 45 | 44 |
// on récupère ses propriétés |
| 46 |
Property pos = discours.getProperty("ttpos")
|
|
| 47 |
Property word = discours.getProperty("word")
|
|
| 45 |
Property pos=discours.getProperty("ttpos")Property word=discours.getProperty("word")
|
|
| 48 | 46 |
|
| 49 | 47 |
// on créé une Query, ici "[]" |
| 50 |
Query query = new Query(Query.fixQuery("[word=\"je\"]"))
|
|
| 48 |
Query query=new Query(Query.fixQuery("[word=\"je\"]"))
|
|
| 51 | 49 |
|
| 52 |
List<Property> props = [pos,word]
|
|
| 50 |
List<Property>props=[pos,word]
|
|
| 53 | 51 |
|
| 54 | 52 |
// on exécute la commande |
| 55 |
def time = System.currentTimeMillis() |
|
| 56 |
println(""+discours+"\t"+query+"\t"+props)
|
|
| 57 |
Index index = new Index(discours, query, props ) |
|
| 58 |
println("execution time : "+(System.currentTimeMillis()-time)+" ms")
|
|
| 53 |
def time=System.currentTimeMillis()println(""+discours+"\t"+query+"\t"+props)Index index=new Index(discours,query,props)println("execution time : "+(System.currentTimeMillis()-time)+" ms")
|
|
| 59 | 54 |
|
| 60 |
//sort |
|
| 61 |
//index.sortLines(LineComparator.SortMode.FREQUNIT) |
|
| 55 |
// sort
|
|
| 56 |
// index.sortLines(LineComparator.SortMode.FREQUNIT)
|
|
| 62 | 57 |
|
| 63 |
//get some infos |
|
| 64 |
println("V : "+index.getV())
|
|
| 65 |
println("T : "+index.getT())
|
|
| 58 |
// get some infos |
|
| 59 |
println("V : "+index.getV())println("T : "+index.getT())
|
|
| 66 | 60 |
|
| 67 |
//filter |
|
| 68 |
index.filterLines(2,3000) |
|
| 69 |
println("V after: "+index.getV())
|
|
| 70 |
println("T after: "+index.getT())
|
|
| 61 |
// filter |
|
| 62 |
index.filterLines(2,3000)println("V after: "+index.getV())println("T after: "+index.getT())
|
|
| 71 | 63 |
|
| 72 |
//on écrit tout dans un fichier |
|
| 73 |
File file = new File("voc.txt")
|
|
| 74 |
index.toTxt(file, "'", "\t", "UTF-8") |
|
| 75 |
println("index file : "+ file.getAbsolutePath())
|
|
| 64 |
// on écrit tout dans un fichier |
|
| 65 |
File file=new File("voc.txt")index.toTxt(file,"'","\t","UTF-8")println("index file : "+file.getAbsolutePath())
|
|
| tmp/org.txm.index.core/groovy/org/txm/test/IndexPartition.groovy (revision 2397) | ||
|---|---|---|
| 39 | 39 |
import org.txm.searchengine.cqp.corpus.query.* |
| 40 | 40 |
// TODO: Auto-generated Javadoc |
| 41 | 41 |
|
| 42 |
/* (non-Javadoc) |
|
| 42 |
/* |
|
| 43 |
* (non-Javadoc) |
|
| 43 | 44 |
* @see groovy.lang.Script#run() |
| 44 | 45 |
*/ |
| 45 |
boolean manualInit = false |
|
| 46 |
if(!org.txm.Toolbox.isInitialized()) |
|
| 47 |
{
|
|
| 48 |
manualInit = true |
|
| 49 |
org.txm.Toolbox.initialize(new File(System.getProperty("user.home")+"/TXM/install.prefs"))
|
|
| 50 |
} |
|
| 51 |
// on récupère le corpus DISCOURS |
|
| 52 |
MainCorpus discours = CorpusManager.getCorpusManager().getCorpus("DISCOURS")
|
|
| 53 |
Partition discours_dates = discours.createPartition( discours.getStructuralUnit("text"), discours.getStructuralUnit("text").getProperty("date"))
|
|
| 54 |
println discours |
|
| 55 |
|
|
| 56 |
// on récupère ses propriétés |
|
| 57 |
Property pos = discours.getProperty("pos")
|
|
| 58 |
Property word = discours.getProperty("word")
|
|
| 59 |
|
|
| 60 |
// on créé une Query, ici "[]" |
|
| 61 |
Query query = new Query(Query.fixQuery("[word=\"j.*\"]"))
|
|
| 62 |
|
|
| 63 |
List<Property> props = [pos,word] |
|
| 64 |
|
|
| 65 |
// on exécute la commande |
|
| 66 |
def time = System.currentTimeMillis() |
|
| 67 |
println(""+discours+"\t"+query+"\t"+props)
|
|
| 68 |
Index index = new Index(discours_dates, query, props ) |
|
| 69 |
println("execution time : "+(System.currentTimeMillis()-time)+" ms")
|
|
| 70 |
|
|
| 71 |
//sort |
|
| 72 |
//index.sortLines(LineComparator.SortMode.FREQUNIT) |
|
| 73 |
|
|
| 74 |
//get some infos |
|
| 75 |
println("V : "+index.getV())
|
|
| 76 |
println("T : "+index.getT())
|
|
| 77 |
|
|
| 78 |
//filter |
|
| 79 |
index.filterLines(2,3000) |
|
| 80 |
println("V after: "+index.getV())
|
|
| 81 |
println("T after: "+index.getT())
|
|
| 82 |
|
|
| 83 |
//on écrit tout dans un fichier |
|
| 84 |
File file = new File("voc.txt")
|
|
| 85 |
index.toTxt(file) |
|
| 86 |
println("index file : "+ file.getAbsolutePath())
|
|
| 46 |
boolean manualInit=false if(!org.txm.Toolbox.isInitialized()){manualInit=true org.txm.Toolbox.initialize(new File(System.getProperty("user.home")+"/TXM/install.prefs"))}
|
|
| 47 |
// on récupère le corpus DISCOURS |
|
| 48 |
MainCorpus discours=CorpusManager.getCorpusManager().getCorpus("DISCOURS")Partition discours_dates=discours.createPartition(discours.getStructuralUnit("text"),discours.getStructuralUnit("text").getProperty("date"))println discours
|
|
| 87 | 49 |
|
| 88 |
|
|
| 89 |
if(manualInit) |
|
| 90 |
org.txm.Toolbox.shutdown() |
|
| 50 |
// on récupère ses propriétés |
|
| 51 |
Property pos=discours.getProperty("pos")Property word=discours.getProperty("word")
|
|
| 52 |
|
|
| 53 |
// on créé une Query, ici "[]" |
|
| 54 |
Query query=new Query(Query.fixQuery("[word=\"j.*\"]"))
|
|
| 55 |
|
|
| 56 |
List<Property>props=[pos,word] |
|
| 57 |
|
|
| 58 |
// on exécute la commande |
|
| 59 |
def time=System.currentTimeMillis()println(""+discours+"\t"+query+"\t"+props)Index index=new Index(discours_dates,query,props)println("execution time : "+(System.currentTimeMillis()-time)+" ms")
|
|
| 60 |
|
|
| 61 |
// sort |
|
| 62 |
// index.sortLines(LineComparator.SortMode.FREQUNIT) |
|
| 63 |
|
|
| 64 |
// get some infos |
|
| 65 |
println("V : "+index.getV())println("T : "+index.getT())
|
|
| 66 |
|
|
| 67 |
// filter |
|
| 68 |
index.filterLines(2,3000)println("V after: "+index.getV())println("T after: "+index.getT())
|
|
| 69 |
|
|
| 70 |
// on écrit tout dans un fichier |
|
| 71 |
File file=new File("voc.txt")index.toTxt(file)println("index file : "+file.getAbsolutePath())
|
|
| 72 |
|
|
| 73 |
|
|
| 74 |
if(manualInit)org.txm.Toolbox.shutdown() |
|
| tmp/org.txm.index.core/groovy/org/txm/macro/r/ExecRMacro.groovy (revision 2397) | ||
|---|---|---|
| 9 | 9 |
import org.txm.statsengine.r.core.RWorkspace |
| 10 | 10 |
|
| 11 | 11 |
|
| 12 |
def sel = corpusViewSelection
|
|
| 12 |
def sel=corpusViewSelection
|
|
| 13 | 13 |
|
| 14 |
String symbol = null; |
|
| 15 |
String prop = "none" |
|
| 16 |
if (sel instanceof Index) {
|
|
| 17 |
println "Sending Index data to R..." |
|
| 18 |
((Index)sel).asRMatrix() |
|
| 19 |
symbol = "t("+((Index)sel).getSymbol()+'$data)'
|
|
| 20 |
prop = ((Index)sel).getProperties().toString() |
|
| 21 |
} |
|
| 14 |
String symbol=null;String prop="none"if(sel instanceof Index){println"Sending Index data to R..."((Index)sel).asRMatrix()symbol="t("+((Index)sel).getSymbol()+'$data)'prop=((Index)sel).getProperties().toString()}
|
|
| 22 | 15 |
|
| 23 |
if (symbol == null) {
|
|
| 24 |
println "Selection is not an Index. Aborting." |
|
| 25 |
return |
|
| 26 |
} |
|
| 16 |
if(symbol==null){println"Selection is not an Index. Aborting."return}
|
|
| 27 | 17 |
|
| 28 |
def r = RWorkspace.getRWorkspaceInstance() |
|
| 29 |
def file = File.createTempFile("IndexHist", ".svg", new File(Toolbox.getTxmHomePath(), "results"))
|
|
| 18 |
def r=RWorkspace.getRWorkspaceInstance()def file=File.createTempFile("IndexHist",".svg",new File(Toolbox.getTxmHomePath(),"results"))
|
|
| 30 | 19 |
|
| 31 | 20 |
/// BEGIN SCRIPTS |
| 32 |
def script =""" |
|
| 33 |
par(las=2) |
|
| 34 |
barplot($symbol, xlab="$prop", ylab="f") |
|
| 35 |
""" |
|
| 21 |
def script="""par(las=2)barplot($symbol,xlab="$prop",ylab="f")""" |
|
| 36 | 22 |
/// END SCRIPTS |
| 37 |
r.plot(file, script) |
|
| 38 |
println "Result saved in: "+file.getAbsolutePath() |
|
| 23 |
r.plot(file,script)println"Result saved in: "+file.getAbsolutePath() |
|
| 39 | 24 |
|
| 40 |
//display the graphic |
|
| 41 |
monitor.syncExec(new Runnable() {
|
|
| 42 |
@Override |
|
| 43 |
public void run() { OpenSVGGraph.OpenSVGFile(file.getAbsolutePath(), "Specificity distribution") }
|
|
| 44 |
}); |
|
| 25 |
// display the graphic |
|
| 26 |
monitor.syncExec(new Runnable(){@Override public void run(){OpenSVGGraph.OpenSVGFile(file.getAbsolutePath(),"Specificity distribution")}});
|
|
| tmp/org.txm.index.core/src/org/txm/index/core/messages/IndexCoreMessages.java (revision 2397) | ||
|---|---|---|
| 9 | 9 |
* |
| 10 | 10 |
*/ |
| 11 | 11 |
public class IndexCoreMessages extends NLS {
|
| 12 |
|
|
| 12 |
|
|
| 13 | 13 |
private static final String BUNDLE_NAME = "org.txm.index.core.messages.messages"; //$NON-NLS-1$ |
| 14 | 14 |
|
| 15 |
public static String indexColonPartitionP0queryP1propertiesP2FminP3FmaxP4; |
|
| 16 |
public static String indexColonCorpusP0queryP1propertiesP2FminP3FmaxP4; |
|
| 15 |
public static String indexColonPartitionP0queryP1propertiesP2FminP3FmaxP4; |
|
| 17 | 16 |
|
| 17 |
public static String indexColonCorpusP0queryP1propertiesP2FminP3FmaxP4; |
|
| 18 |
|
|
| 18 | 19 |
public static String RESULT_TYPE; |
| 19 |
public static String lexicon; |
|
| 20 | 20 |
|
| 21 |
public static String consoleColonP0; |
|
| 22 |
public static String error_failedToExportLexiconColonP0; |
|
| 23 |
|
|
| 24 |
|
|
| 25 |
public static String formsAndFrequenciesTablesMustHaveTheSameSize; |
|
| 26 |
public static String lexiconColonP0; |
|
| 21 |
public static String lexicon; |
|
| 22 |
|
|
| 23 |
public static String consoleColonP0; |
|
| 24 |
|
|
| 25 |
public static String error_failedToExportLexiconColonP0; |
|
| 26 |
|
|
| 27 |
|
|
| 28 |
public static String formsAndFrequenciesTablesMustHaveTheSameSize; |
|
| 29 |
|
|
| 30 |
public static String lexiconColonP0; |
|
| 31 |
|
|
| 27 | 32 |
public static String computingTheLexiconOfSubcorpusP0; |
| 33 |
|
|
| 28 | 34 |
public static String lexiconOfP0InTheP1Corpus; |
| 35 |
|
|
| 29 | 36 |
public static String indexOfP0PropertiesP1InTheP2Corpus; |
| 30 | 37 |
|
| 31 | 38 |
|
| 32 |
|
|
| 39 |
|
|
| 33 | 40 |
static {
|
| 34 | 41 |
// initialize resource bundle |
| 35 | 42 |
Utf8NLS.initializeMessages(BUNDLE_NAME, IndexCoreMessages.class); |
| 36 | 43 |
} |
| 37 |
|
|
| 38 |
private IndexCoreMessages() {
|
|
| 39 |
} |
|
| 44 |
|
|
| 45 |
private IndexCoreMessages() {}
|
|
| 40 | 46 |
} |
| tmp/org.txm.index.core/src/org/txm/index/core/functions/package.html (revision 2397) | ||
|---|---|---|
| 1 | 1 |
<html> |
| 2 | 2 |
<body> |
| 3 |
<p>Index function</p> |
|
| 3 |
<p>Index function</p>
|
|
| 4 | 4 |
</body> |
| 5 | 5 |
</html> |
| tmp/org.txm.index.core/src/org/txm/index/core/functions/LineComparator.java (revision 2397) | ||
|---|---|---|
| 37 | 37 |
* The Class LineComparator. |
| 38 | 38 |
*/ |
| 39 | 39 |
public class LineComparator implements Comparator<Line> {
|
| 40 |
|
|
| 40 |
|
|
| 41 | 41 |
/** The collator. */ |
| 42 | 42 |
protected Collator collator; |
| 43 |
|
|
| 43 |
|
|
| 44 | 44 |
/** |
| 45 | 45 |
* The Enum SortMode. |
| 46 | 46 |
*/ |
| 47 | 47 |
public enum SortMode { // the sort methods
|
| 48 | 48 |
/** The FREQ. */ |
| 49 |
FREQ, // compare only frequency
|
|
| 49 |
FREQ, // compare only frequency
|
|
| 50 | 50 |
/** The UNIT. */ |
| 51 |
UNIT, // compare only units
|
|
| 51 |
UNIT, // compare only units
|
|
| 52 | 52 |
/** The FREQUNIT. */ |
| 53 |
FREQUNIT, // compare frequency then units
|
|
| 53 |
FREQUNIT, // compare frequency then units
|
|
| 54 | 54 |
/** The UNITFREQ. */ |
| 55 |
UNITFREQ
|
|
| 55 |
UNITFREQ
|
|
| 56 | 56 |
// compare units then frequency |
| 57 | 57 |
} |
| 58 |
|
|
| 58 |
|
|
| 59 | 59 |
/** The currentsortmode. */ |
| 60 | 60 |
SortMode currentsortmode = SortMode.FREQUNIT; |
| 61 | 61 |
|
| 62 | 62 |
/** The reverse. */ |
| 63 | 63 |
boolean reverse; |
| 64 |
|
|
| 64 |
|
|
| 65 | 65 |
/** |
| 66 | 66 |
* Instantiates a new line comparator. |
| 67 | 67 |
* |
| ... | ... | |
| 72 | 72 |
setSortByFrequence(mode); |
| 73 | 73 |
setReverse(reverse); |
| 74 | 74 |
} |
| 75 |
|
|
| 75 |
|
|
| 76 | 76 |
/** |
| 77 | 77 |
* set if the sort must be reverted. |
| 78 | 78 |
* |
| ... | ... | |
| 81 | 81 |
private void setReverse(boolean reverse) {
|
| 82 | 82 |
this.reverse = reverse; |
| 83 | 83 |
} |
| 84 |
|
|
| 85 |
/* (non-Javadoc) |
|
| 84 |
|
|
| 85 |
/* |
|
| 86 |
* (non-Javadoc) |
|
| 86 | 87 |
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) |
| 87 | 88 |
*/ |
| 88 | 89 |
@Override |
| 89 | 90 |
public int compare(Line arg0, Line arg1) {
|
| 90 | 91 |
int sort = 0; |
| 91 | 92 |
switch (currentsortmode) {
|
| 92 |
case FREQUNIT: |
|
| 93 |
sort = arg0.getFrequency() - arg1.getFrequency(); |
|
| 93 |
case FREQUNIT: |
|
| 94 |
sort = arg0.getFrequency() - arg1.getFrequency(); |
|
| 95 |
|
|
| 96 |
if (sort == 0) |
|
| 97 |
sort = -collator.compare(arg0.toString(), arg1.toString()); |
|
| 98 |
|
|
| 99 |
break; |
|
| 94 | 100 |
|
| 95 |
if (sort == 0) |
|
| 96 |
sort = -collator.compare(arg0.toString(), arg1.toString()); |
|
| 101 |
case UNITFREQ: |
|
| 102 |
sort = collator.compare(arg0.toString(), arg1.toString()); |
|
| 103 |
if (sort == 0) |
|
| 104 |
sort = arg0.getFrequency() - arg1.getFrequency(); |
|
| 105 |
break; |
|
| 97 | 106 |
|
| 98 |
break; |
|
| 99 |
|
|
| 100 |
case UNITFREQ: |
|
| 101 |
sort = collator.compare(arg0.toString(), arg1.toString()); |
|
| 102 |
if (sort == 0) |
|
| 107 |
case FREQ: |
|
| 103 | 108 |
sort = arg0.getFrequency() - arg1.getFrequency(); |
| 104 |
break; |
|
| 105 |
|
|
| 106 |
case FREQ: |
|
| 107 |
sort = arg0.getFrequency() - arg1.getFrequency(); |
|
| 108 |
break; |
|
| 109 |
|
|
| 110 |
case UNIT: |
|
| 111 |
sort = collator.compare(arg0.toString(), arg1.toString()); |
|
| 112 |
break; |
|
| 109 |
break; |
|
| 110 |
|
|
| 111 |
case UNIT: |
|
| 112 |
sort = collator.compare(arg0.toString(), arg1.toString()); |
|
| 113 |
break; |
|
| 113 | 114 |
} |
| 114 | 115 |
if (reverse) |
| 115 | 116 |
sort = -sort; |
| 116 | 117 |
return sort; |
| 117 | 118 |
} |
| 118 |
|
|
| 119 |
|
|
| 119 | 120 |
/** |
| 120 | 121 |
* set the sort method. |
| 121 | 122 |
* |
| ... | ... | |
| 124 | 125 |
public void setSortByFrequence(SortMode mode) {
|
| 125 | 126 |
currentsortmode = mode; |
| 126 | 127 |
} |
| 127 |
|
|
| 128 |
|
|
| 128 | 129 |
/** |
| 129 | 130 |
* Initialize. |
| 130 | 131 |
* |
| tmp/org.txm.index.core/src/org/txm/index/core/functions/___Lexicon2.java (revision 2397) | ||
|---|---|---|
| 69 | 69 |
* @author sloiseau |
| 70 | 70 |
*/ |
| 71 | 71 |
public class ___Lexicon2 extends Index {
|
| 72 |
|
|
| 72 |
|
|
| 73 | 73 |
/** The nolex. */ |
| 74 | 74 |
protected static int nolex = 1; |
| 75 |
|
|
| 75 |
|
|
| 76 | 76 |
/** The prefix r. */ |
| 77 | 77 |
protected static String prefixR = "Lexicon_"; //$NON-NLS-1$ |
| 78 |
|
|
| 78 |
|
|
| 79 | 79 |
/** The forms. */ |
| 80 | 80 |
private String[] forms; |
| 81 |
|
|
| 81 |
|
|
| 82 | 82 |
/** The freqs. */ |
| 83 | 83 |
private int[] freqs; |
| 84 |
|
|
| 84 |
|
|
| 85 | 85 |
/** The ids. */ |
| 86 | 86 |
private int[] ids; |
| 87 |
|
|
| 87 |
|
|
| 88 | 88 |
/** The number of tokens. */ |
| 89 | 89 |
int numberOfTokens = -1; |
| 90 |
|
|
| 90 |
|
|
| 91 | 91 |
/** The symbol. */ |
| 92 | 92 |
private String symbol; |
| 93 |
|
|
| 93 |
|
|
| 94 | 94 |
/** The writer. */ |
| 95 | 95 |
private OutputStreamWriter writer; |
| 96 |
|
|
| 96 |
|
|
| 97 | 97 |
/** |
| 98 | 98 |
* The property. |
| 99 | 99 |
*/ |
| 100 |
@Parameter(key=TXMPreferences.UNIT_PROPERTY)
|
|
| 100 |
@Parameter(key = TXMPreferences.UNIT_PROPERTY)
|
|
| 101 | 101 |
protected Property pProperty; |
| 102 | 102 |
|
| 103 |
|
|
| 103 |
|
|
| 104 | 104 |
/** |
| 105 | 105 |
* Creates a not computed lexicon from the specified corpus. |
| 106 |
* |
|
| 106 | 107 |
* @param parent |
| 107 | 108 |
*/ |
| 108 |
public ___Lexicon2(CQPCorpus parent) {
|
|
| 109 |
public ___Lexicon2(CQPCorpus parent) {
|
|
| 109 | 110 |
super(parent); |
| 110 | 111 |
} |
| 111 |
|
|
| 112 |
|
|
| 112 | 113 |
/** |
| 113 | 114 |
* Creates a not computed lexicon from the specified parametersNodePath node name. |
| 115 |
* |
|
| 114 | 116 |
* @param parametersNodePath |
| 115 | 117 |
*/ |
| 116 |
public ___Lexicon2(String parametersNodePath) {
|
|
| 118 |
public ___Lexicon2(String parametersNodePath) {
|
|
| 117 | 119 |
super(parametersNodePath); |
| 118 | 120 |
} |
| 119 | 121 |
|
| 120 |
|
|
| 121 | 122 |
|
| 123 |
|
|
| 122 | 124 |
@Override |
| 123 | 125 |
public CQPCorpus getParent() {
|
| 124 |
return (CQPCorpus)super.getParent(); |
|
| 126 |
return (CQPCorpus) super.getParent();
|
|
| 125 | 127 |
} |
| 126 |
|
|
| 128 |
|
|
| 127 | 129 |
@Override |
| 128 | 130 |
public boolean loadParameters() {
|
| 129 | 131 |
super.loadParameters(); |
| 130 | 132 |
try {
|
| 131 |
//this.persistable = false; // FIXME: remove that later |
|
| 133 |
// this.persistable = false; // FIXME: remove that later
|
|
| 132 | 134 |
String p = this.getStringParameterValue(TXMPreferences.UNIT_PROPERTY); |
| 133 | 135 |
if (p != null && p.length() > 0) {
|
| 134 | 136 |
CQPCorpus parent = getParent(); |
| ... | ... | |
| 152 | 154 |
public boolean saveParameters() {
|
| 153 | 155 |
super.saveParameters(); |
| 154 | 156 |
// FIXME: became useless? check that it's well automated by autoSaveParametersFromAnnotations()? |
| 155 |
//this.saveParameter(TXMPreferences.UNIT_PROPERTY, this.pProperty); |
|
| 157 |
// this.saveParameter(TXMPreferences.UNIT_PROPERTY, this.pProperty);
|
|
| 156 | 158 |
return true; |
| 157 | 159 |
} |
| 158 |
|
|
| 159 | 160 |
|
| 161 |
|
|
| 160 | 162 |
@Override |
| 161 | 163 |
public void clean() {
|
| 162 | 164 |
super.clean(); |
| 163 | 165 |
// TODO Auto-generated method stub |
| 164 | 166 |
} |
| 165 |
|
|
| 167 |
|
|
| 166 | 168 |
@Override |
| 167 | 169 |
public boolean canCompute() {
|
| 168 | 170 |
return super.canCompute() && (pProperty != null); |
| 169 | 171 |
} |
| 170 |
|
|
| 172 |
|
|
| 171 | 173 |
@Override |
| 172 | 174 |
protected boolean _computeLines() throws Exception {
|
| 173 | 175 |
if (this.getParent() instanceof MainCorpus) {
|
| 174 |
return computeWithMainCorpus((MainCorpus)this.getParent(), pProperty, monitor); |
|
| 176 |
return computeWithMainCorpus((MainCorpus) this.getParent(), pProperty, monitor);
|
|
| 175 | 177 |
} |
| 176 | 178 |
else if (this.getParent() instanceof Subcorpus) {
|
| 177 |
return computewithSubCorpus((Subcorpus)this.getParent(), pProperty, monitor); |
|
| 179 |
return computewithSubCorpus((Subcorpus) this.getParent(), pProperty, monitor);
|
|
| 178 | 180 |
} |
| 179 | 181 |
else {
|
| 180 | 182 |
Log.severe("Error: Lexicon parent is neither a Maincorpus nor a Subcorpus."); //$NON-NLS-1$
|
| ... | ... | |
| 201 | 203 |
int lexiconSize; |
| 202 | 204 |
try {
|
| 203 | 205 |
lexiconSize = CorpusManager.getCorpusManager().getCqiClient().lexiconSize(property.getQualifiedName()); |
| 204 |
} catch (Exception e) {
|
|
| 206 |
} |
|
| 207 |
catch (Exception e) {
|
|
| 205 | 208 |
throw new CqiClientException(e); |
| 206 | 209 |
} |
| 207 |
|
|
| 210 |
|
|
| 208 | 211 |
int[] ids = new int[lexiconSize]; |
| 209 | 212 |
for (int i = 0; i < ids.length; i++) {
|
| 210 | 213 |
ids[i] = i; |
| 211 | 214 |
} |
| 212 |
|
|
| 215 |
|
|
| 213 | 216 |
int[] freqs; |
| 214 | 217 |
try {
|
| 215 | 218 |
this.subTask("Computing lexicon frequencies...");
|
| 216 | 219 |
freqs = CorpusManager.getCorpusManager().getCqiClient().id2Freq(property.getQualifiedName(), ids); |
| 217 |
} catch (Exception e) {
|
|
| 220 |
} |
|
| 221 |
catch (Exception e) {
|
|
| 218 | 222 |
throw new CqiClientException(e); |
| 219 | 223 |
} |
| 220 |
|
|
| 224 |
|
|
| 221 | 225 |
this.init(corpus, property, freqs, ids); |
| 222 | 226 |
return true; |
| 223 | 227 |
} |
| 224 |
|
|
| 228 |
|
|
| 225 | 229 |
/** |
| 226 | 230 |
* |
| 227 | 231 |
* @param corpus |
| ... | ... | |
| 231 | 235 |
* @throws CqiClientException |
| 232 | 236 |
*/ |
| 233 | 237 |
// FIXME: why this method needs to create and delete some new subcorpus???? the computing can't be done directly on the corpus argument??? |
| 234 |
// eg. dist = CorpusManager.getCorpusManager().getCqiClient().fdist1(corpus.getQualifiedCqpId(), 0, ICqiClient.CQI_CONST_FIELD_MATCH, property.getName());
|
|
| 238 |
// eg. dist = CorpusManager.getCorpusManager().getCqiClient().fdist1(corpus.getQualifiedCqpId(), 0, ICqiClient.CQI_CONST_FIELD_MATCH, property.getName());
|
|
| 235 | 239 |
protected boolean computewithSubCorpus(Subcorpus corpus, Property property, IProgressMonitor monitor) throws CqiClientException {
|
| 236 |
|
|
| 237 |
// if (corpus instanceof Part) {
|
|
| 238 |
// this.persistable = false; |
|
| 239 |
// } |
|
| 240 | 240 |
|
| 241 |
//System.out.println("not found");
|
|
| 241 |
// if (corpus instanceof Part) {
|
|
| 242 |
// this.persistable = false; |
|
| 243 |
// } |
|
| 244 |
|
|
| 245 |
// System.out.println("not found");
|
|
| 242 | 246 |
Log.finest(NLS.bind(IndexCoreMessages.computingTheLexiconOfSubcorpusP0, corpus.getName())); |
| 243 |
//long start = System.currentTimeMillis(); |
|
| 247 |
// long start = System.currentTimeMillis();
|
|
| 244 | 248 |
int[][] fdist = null; |
| 245 | 249 |
Subcorpus tmp = null; |
| 246 | 250 |
try {
|
| ... | ... | |
| 248 | 252 |
tmp = corpus.createSubcorpus(new CQLQuery("[]"), "S" + corpus.getNextSubcorpusCounter(), true); //$NON-NLS-1$
|
| 249 | 253 |
if (tmp != null) {
|
| 250 | 254 |
fdist = CorpusManager.getCorpusManager().getCqiClient().fdist1(tmp.getQualifiedCqpId(), 0, ICqiClient.CQI_CONST_FIELD_MATCH, property.getName()); |
| 251 |
|
|
| 255 |
|
|
| 252 | 256 |
corpus.dropSubcorpus(tmp); |
| 253 | 257 |
tmp.delete(); |
| 254 | 258 |
} |
| 255 |
//System.out.println("nb lines: "+fdist.length);
|
|
| 256 |
} catch (Exception e) {
|
|
| 259 |
// System.out.println("nb lines: "+fdist.length);
|
|
| 260 |
} |
|
| 261 |
catch (Exception e) {
|
|
| 257 | 262 |
throw new CqiClientException(e); |
| 258 |
} finally {
|
|
| 263 |
} |
|
| 264 |
finally {
|
|
| 259 | 265 |
if (tmp != null) {
|
| 260 | 266 |
try {
|
| 261 | 267 |
corpus.dropSubcorpus(tmp); |
| ... | ... | |
| 266 | 272 |
} |
| 267 | 273 |
} |
| 268 | 274 |
int lexiconSize = fdist.length; |
| 269 |
|
|
| 275 |
|
|
| 270 | 276 |
int[] freqs = new int[lexiconSize]; |
| 271 | 277 |
int[] ids = new int[lexiconSize]; |
| 272 | 278 |
for (int i = 0; i < fdist.length; i++) {
|
| 273 | 279 |
ids[i] = fdist[i][0]; |
| 274 | 280 |
freqs[i] = fdist[i][1]; |
| 275 | 281 |
} |
| 276 |
|
|
| 282 |
|
|
| 277 | 283 |
init(corpus, property, freqs, ids); |
| 278 | 284 |
return true; |
| 279 | 285 |
} |
| ... | ... | |
| 291 | 297 |
this.symbol = v.getSymbol(); |
| 292 | 298 |
return v; |
| 293 | 299 |
} |
| 294 |
|
|
| 300 |
|
|
| 295 | 301 |
/** |
| 296 | 302 |
* Compute number of tokens. / this.nbr |
| 297 | 303 |
*/ |
| ... | ... | |
| 301 | 307 |
numberOfTokens += freqs[i]; |
| 302 | 308 |
} |
| 303 | 309 |
} |
| 304 |
|
|
| 310 |
|
|
| 305 | 311 |
/** |
| 306 | 312 |
* Dump lexicon forms and frequencies in a String. |
| 307 | 313 |
* |
| ... | ... | |
| 313 | 319 |
StringBuffer buffer = new StringBuffer(); |
| 314 | 320 |
getForms(); |
| 315 | 321 |
for (int i = 0; i < forms.length; i++) {
|
| 316 |
buffer.append(txt + forms[i].replace(txt, txt + txt) + txt + col + freqs[i] + "\n"); //$NON-NLS-1$
|
|
| 322 |
buffer.append(txt + forms[i].replace(txt, txt + txt) + txt + col + freqs[i] + "\n"); //$NON-NLS-1$ |
|
| 317 | 323 |
} |
| 318 | 324 |
return buffer.toString(); |
| 319 | 325 |
} |
| 320 |
|
|
| 321 |
/* (non-Javadoc) |
|
| 326 |
|
|
| 327 |
/* |
|
| 328 |
* (non-Javadoc) |
|
| 322 | 329 |
* @see java.lang.Object#equals(java.lang.Object) |
| 323 | 330 |
*/ |
| 324 | 331 |
@Override |
| ... | ... | |
| 327 | 334 |
return false; |
| 328 | 335 |
} |
| 329 | 336 |
___Lexicon2 other = (___Lexicon2) obj; |
| 330 |
|
|
| 337 |
|
|
| 331 | 338 |
if (other.nbrOfType() != this.nbrOfType()) {
|
| 332 | 339 |
return false; |
| 333 | 340 |
} |
| 334 | 341 |
return (Arrays.equals(freqs, other.getFreq()) && Arrays.equals(getForms(), other.getForms())); |
| 335 | 342 |
} |
| 336 |
|
|
| 337 |
|
|
| 338 |
|
|
| 343 |
|
|
| 344 |
|
|
Formats disponibles : Unified diff