Révision 2009
| tmp/org.txm.core/src/java/org/txm/objects/Workspace.java (revision 2009) | ||
|---|---|---|
| 36 | 36 |
import org.eclipse.core.resources.IWorkspaceRoot; |
| 37 | 37 |
import org.eclipse.core.resources.ResourcesPlugin; |
| 38 | 38 |
import org.eclipse.core.runtime.CoreException; |
| 39 |
import org.eclipse.core.runtime.IPath; |
|
| 39 | 40 |
import org.eclipse.core.runtime.Path; |
| 40 | 41 |
import org.eclipse.osgi.util.NLS; |
| 41 | 42 |
import org.txm.Toolbox; |
| ... | ... | |
| 309 | 310 |
//FIXME: SJ: old version where there is a bug if the name or path are not in same case |
| 310 | 311 |
//Project project = new Project(this, parameters.name, false); |
| 311 | 312 |
//FIXME: SJ: new version that fix the bug but whe may want to not modify the case of the name? |
| 312 |
Project project = new Project(this, parameters.name.toUpperCase(), false); |
|
| 313 |
Project project = new Project(this, binCorpusDir.getName(), false); |
|
| 314 |
// if (!parameters.name.equals(project.getRCPProject().getName())) {
|
|
| 315 |
// IPath destination = new Path(project.getRCPProject().getParent().getLocation(), parameters.name); |
|
| 316 |
// project.getRCPProject().move(destination, true, project); |
|
| 317 |
// } |
|
| 313 | 318 |
|
| 314 | 319 |
project._load(parameters); |
| 315 | 320 |
|
| tmp/org.txm.core/src/java/org/txm/objects/EditionDefinition.java (revision 2009) | ||
|---|---|---|
| 13 | 13 |
public class EditionDefinition {
|
| 14 | 14 |
|
| 15 | 15 |
Preferences node; |
| 16 |
|
|
| 17 | 16 |
public EditionDefinition(Project project, String name) {
|
| 18 | 17 |
this.node = project.getPreferencesScope().getNode(EditionDefinition.class.getSimpleName()).node(name); |
| 19 | 18 |
setName(name); //TODO use node.name() instead |
| 20 | 19 |
|
| 21 | 20 |
} |
| 21 |
|
|
| 22 |
public void delete() {
|
|
| 23 |
try {
|
|
| 24 |
node.removeNode(); |
|
| 25 |
} catch (BackingStoreException e) {
|
|
| 26 |
e.printStackTrace(); |
|
| 27 |
} |
|
| 28 |
} |
|
| 22 | 29 |
|
| 23 | 30 |
public String getName() {
|
| 24 | 31 |
return node.get(TBXPreferences.NAME, null); |
| tmp/org.txm.core/src/java/org/txm/objects/Project.java (revision 2009) | ||
|---|---|---|
| 1144 | 1144 |
return new EditionDefinition(this, name); |
| 1145 | 1145 |
} |
| 1146 | 1146 |
|
| 1147 |
public ArrayList<EditionDefinition> getEditionDefinitions() {
|
|
| 1148 |
ArrayList<EditionDefinition> editions = new ArrayList<EditionDefinition>(); |
|
| 1149 |
IEclipsePreferences editionNode = this.getPreferencesScope().getNode(EditionDefinition.class.getSimpleName()); |
|
| 1150 |
try {
|
|
| 1151 |
for (String editionName : editionNode.childrenNames()) {
|
|
| 1152 |
if (this.hasEditionDefinition(editionName)) {
|
|
| 1153 |
editions.add(getEditionDefinition(editionName)); |
|
| 1154 |
} |
|
| 1155 |
} |
|
| 1156 |
} catch (BackingStoreException e) {
|
|
| 1157 |
// TODO Auto-generated catch block |
|
| 1158 |
e.printStackTrace(); |
|
| 1159 |
} |
|
| 1160 |
return editions; |
|
| 1161 |
} |
|
| 1162 |
|
|
| 1147 | 1163 |
public CorpusCommandPreferences getCommandPreferences(String name) {
|
| 1148 | 1164 |
return new CorpusCommandPreferences(this, name); |
| 1149 | 1165 |
} |
| tmp/org.txm.groovy.core/src/java/org/txm/groovy/core/GSERunner.java (revision 2009) | ||
|---|---|---|
| 148 | 148 |
// } |
| 149 | 149 |
// }); |
| 150 | 150 |
HashSet<String> defaultPlugins = new HashSet<String>(); |
| 151 |
getDependancies("org.txm.rcp", defaultPlugins);
|
|
| 151 |
//getDependancies("org.txm.rcp", defaultPlugins);
|
|
| 152 | 152 |
|
| 153 | 153 |
for (Bundle b : bundles) {
|
| 154 | 154 |
if (b == null) continue; |
| tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZPager.groovy (revision 2009) | ||
|---|---|---|
| 53 | 53 |
|
| 54 | 54 |
if (!doDefaultEditionStep()) return; |
| 55 | 55 |
if (!doFacsEditionStep()) return; |
| 56 |
|
|
| 57 |
// remove extra XSL editions -> they will be recreated by the doPostEditionXSLStep call |
|
| 58 |
for (EditionDefinition eDef : project.getEditionDefinitions()) {
|
|
| 59 |
if (eDef.getName() != "facs" || eDef.getName() != "default") {
|
|
| 60 |
eDef.delete(); |
|
| 61 |
} |
|
| 62 |
} |
|
| 56 | 63 |
if (!doPostEditionXSLStep()) return; |
| 57 | 64 |
|
| 58 | 65 |
isSuccessFul = true; |
| ... | ... | |
| 115 | 122 |
} |
| 116 | 123 |
edition.setName("default");
|
| 117 | 124 |
edition.setIndex(outputDirectory.getAbsolutePath()); |
| 118 |
|
|
| 125 |
|
|
| 119 | 126 |
for (i = 0 ; i < ed.getPageFiles().size();) {
|
| 120 | 127 |
File f = ed.getPageFiles().get(i); |
| 121 | 128 |
String wordid = "w_0"; |
| 122 |
if (i < ed.getIdx().size()) wordid = ed.getIdx().get(i); |
|
| 129 |
if (i < ed.getIdx().size()) wordid = ed.getIdx().get(i);
|
|
| 123 | 130 |
edition.addPage(""+(++i), wordid);
|
| 124 | 131 |
} |
| 125 | 132 |
} catch(Exception e) {
|
| tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZDefaultPagerStep.groovy (revision 2009) | ||
|---|---|---|
| 300 | 300 |
return false; |
| 301 | 301 |
} |
| 302 | 302 |
|
| 303 |
println "DEBUG: start parsing" |
|
| 303 | 304 |
for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) {
|
| 304 | 305 |
rend = ""; |
| 305 | 306 |
switch (event) {
|
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorpus.java (revision 2009) | ||
|---|---|---|
| 31 | 31 |
import java.net.MalformedURLException; |
| 32 | 32 |
import java.net.URL; |
| 33 | 33 |
|
| 34 |
import org.apache.commons.io.FileUtils; |
|
| 34 | 35 |
import org.eclipse.core.commands.AbstractHandler; |
| 35 | 36 |
import org.eclipse.core.commands.ExecutionEvent; |
| 36 | 37 |
import org.eclipse.core.commands.ExecutionException; |
| ... | ... | |
| 58 | 59 |
import org.txm.searchengine.core.SearchEnginesManager; |
| 59 | 60 |
import org.txm.searchengine.cqp.corpus.MainCorpus; |
| 60 | 61 |
import org.txm.utils.DeleteDir; |
| 62 |
import org.txm.utils.Download; |
|
| 61 | 63 |
import org.txm.utils.io.FileCopy; |
| 62 | 64 |
import org.txm.utils.logger.Log; |
| 63 | 65 |
import org.txm.utils.zip.Zip; |
| ... | ... | |
| 94 | 96 |
URL u = new URL(url); |
| 95 | 97 |
File f = new File(url); |
| 96 | 98 |
File corpora = Toolbox.workspace.getLocation(); |
| 97 |
if (DownloadFile.download(u, corpora)) {
|
|
| 98 |
zipFile = new File(corpora, f.getName()); |
|
| 99 |
} else {
|
|
| 100 |
System.out.println("** Error: could not download corpus at "+url);
|
|
| 101 |
} |
|
| 102 |
} catch (MalformedURLException e) {
|
|
| 99 |
zipFile = new File(corpora, f.getName()); |
|
| 100 |
System.out.println("BEF ? "+zipFile.exists());
|
|
| 101 |
zipFile.delete(); |
|
| 102 |
System.out.println("DEL ? "+zipFile.exists());
|
|
| 103 |
FileUtils.copyURLToFile(u, zipFile); |
|
| 104 |
System.out.println(zipFile.getAbsolutePath()); |
|
| 105 |
System.out.println("OK ? "+zipFile.exists());
|
|
| 106 |
} catch (Exception e) {
|
|
| 103 | 107 |
// TODO Auto-generated catch block |
| 104 | 108 |
e.printStackTrace(); |
| 109 |
return null; |
|
| 105 | 110 |
} |
| 106 | 111 |
} |
| 107 | 112 |
} else {
|
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/DownloadCorpus.java (revision 2009) | ||
|---|---|---|
| 1 |
package org.txm.rcp.commands.workspace; |
|
| 2 |
|
|
| 3 |
import java.io.File; |
|
| 4 |
import java.io.IOException; |
|
| 5 |
import java.net.MalformedURLException; |
|
| 6 |
import java.net.URL; |
|
| 7 |
|
|
| 8 |
import org.eclipse.core.commands.AbstractHandler; |
|
| 9 |
import org.eclipse.core.commands.ExecutionEvent; |
|
| 10 |
import org.eclipse.core.commands.ExecutionException; |
|
| 11 |
import org.txm.Toolbox; |
|
| 12 |
import org.txm.objects.Project; |
|
| 13 |
import org.txm.rcp.utils.JobHandler; |
|
| 14 |
import org.txm.utils.Download; |
|
| 15 |
|
|
| 16 |
public class DownloadCorpus extends AbstractHandler {
|
|
| 17 |
|
|
| 18 |
@Override |
|
| 19 |
public Object execute(ExecutionEvent event) throws ExecutionException {
|
|
| 20 |
String key = event |
|
| 21 |
.getParameter("org.txm.rcp.commands.commandParameter3"); //$NON-NLS-1$
|
|
| 22 |
if (key != null && key.trim().length() > 0) {
|
|
| 23 |
try {
|
|
| 24 |
return downloadAndLoad(key); |
|
| 25 |
} catch (Exception e) {
|
|
| 26 |
// TODO Auto-generated catch block |
|
| 27 |
e.printStackTrace(); |
|
| 28 |
} |
|
| 29 |
} |
|
| 30 |
return null; |
|
| 31 |
} |
|
| 32 |
|
|
| 33 |
public static Project downloadAndLoad(String urlString) throws InterruptedException, ExecutionException, IOException {
|
|
| 34 |
URL url = new URL(urlString); |
|
| 35 |
File binFile = new File(Toolbox.getTxmHomePath(), "results/"+new File(url.getFile()).getName()); |
|
| 36 |
if (!binFile.getName().endsWith(".txm")) {
|
|
| 37 |
System.out.println("The downloaded file is not a TXM corpus.");
|
|
| 38 |
return null; |
|
| 39 |
} |
|
| 40 |
Download.download(url, binFile); |
|
| 41 |
JobHandler job = LoadBinaryCorpus.loadBinaryCorpusArchive(binFile); |
|
| 42 |
job.join(); |
|
| 43 |
Object r = job.getResultObject(); |
|
| 44 |
if (r != null && r instanceof Project) {
|
|
| 45 |
return (Project)r; |
|
| 46 |
} |
|
| 47 |
|
|
| 48 |
return null; |
|
| 49 |
} |
|
| 50 |
} |
|
| 0 | 51 | |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java (revision 2009) | ||
|---|---|---|
| 65 | 65 |
project = p; |
| 66 | 66 |
} |
| 67 | 67 |
} |
| 68 |
boolean newProject = project == null;
|
|
| 68 |
boolean newProject = (project == null);
|
|
| 69 | 69 |
if (newProject) { // it's a new project configuration
|
| 70 | 70 |
project = Toolbox.workspace.getProject(name); |
| 71 | 71 |
if (project == null) {
|
| ... | ... | |
| 103 | 103 |
Log.info(NLS.bind(TXMUIMessages.theP1P0CorpusWillBeReplaced, project, date)); |
| 104 | 104 |
} |
| 105 | 105 |
|
| 106 |
if (!project.hasEditionDefinition("default")) {
|
|
| 107 |
EditionDefinition def = project.getEditionDefinition("default");
|
|
| 108 |
def.setBuildEdition(true); |
|
| 109 |
def.setWordsPerPage(500); |
|
| 110 |
def.setPageBreakTag("pb");
|
|
| 111 |
} |
|
| 106 |
// if (!project.hasEditionDefinition("default")) {
|
|
| 107 |
// EditionDefinition def = project.getEditionDefinition("default");
|
|
| 108 |
// def.setBuildEdition(true);
|
|
| 109 |
// def.setWordsPerPage(500);
|
|
| 110 |
// def.setPageBreakTag("pb");
|
|
| 111 |
// }
|
|
| 112 | 112 |
|
| 113 | 113 |
project.setDoUpdate(false); |
| 114 | 114 |
project.saveParameters(); |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/ComputeTXMResult.java (revision 2009) | ||
|---|---|---|
| 3 | 3 |
import org.eclipse.core.commands.AbstractHandler; |
| 4 | 4 |
import org.eclipse.core.commands.ExecutionEvent; |
| 5 | 5 |
import org.eclipse.core.commands.ExecutionException; |
| 6 |
import org.eclipse.ui.IEditorPart; |
|
| 6 | 7 |
import org.eclipse.ui.IWorkbenchPart; |
| 7 | 8 |
import org.eclipse.ui.handlers.HandlerUtil; |
| 8 | 9 |
import org.txm.rcp.editors.TXMEditor; |
| ... | ... | |
| 20 | 21 |
@Override |
| 21 | 22 |
public Object execute(ExecutionEvent event) throws ExecutionException {
|
| 22 | 23 |
IWorkbenchPart part = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getActivePart(); |
| 23 |
|
|
| 24 |
IEditorPart activeEditor = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getActiveEditor(); |
|
| 25 |
System.out.println("A part="+part);
|
|
| 26 |
System.out.println("A editor="+activeEditor);
|
|
| 24 | 27 |
// gets the main editor if the active editor is a multipages editor |
| 25 | 28 |
if(part instanceof TXMMultiPageEditor) {
|
| 26 | 29 |
part = (IWorkbenchPart) ((TXMMultiPageEditor)part).getEditors().get(0); |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/EditionSection.java (revision 2009) | ||
|---|---|---|
| 37 | 37 |
Button buildFacsEditionCheckButton; |
| 38 | 38 |
Text imageDirectoryText; |
| 39 | 39 |
|
| 40 |
private Text defaultEditions; |
|
| 41 |
|
|
| 40 | 42 |
/** |
| 41 | 43 |
* |
| 42 | 44 |
* @param toolkit2 |
| ... | ... | |
| 146 | 148 |
}); |
| 147 | 149 |
} |
| 148 | 150 |
} |
| 151 |
|
|
| 152 |
if (scriptName.startsWith("xtz")) {
|
|
| 153 |
|
|
| 154 |
tmpLabel = toolkit.createLabel(sectionClient, "Default edition: "); |
|
| 155 |
tmpLabel.setLayoutData(getLabelGridData()); |
|
| 156 |
|
|
| 157 |
defaultEditions = toolkit.createText(sectionClient, "", SWT.BORDER); |
|
| 158 |
TableWrapData gdata = getTextGridData(); |
|
| 159 |
gdata.colspan = 2; |
|
| 160 |
defaultEditions.setLayoutData(gdata); |
|
| 161 |
} |
|
| 149 | 162 |
|
| 150 | 163 |
//// First draft of interface to add editions to a corpus |
| 151 | 164 |
// Button addButton = toolkit.createButton(sectionClient, Messages.CorpusPage_1, SWT.PUSH); |
| ... | ... | |
| 217 | 230 |
if (this.section.isDisposed()) return; |
| 218 | 231 |
if (project == null) return; |
| 219 | 232 |
|
| 220 |
EditionDefinition edition_params = project.getEditionDefinition("default");
|
|
| 221 |
if (edition_params != null) {
|
|
| 233 |
buildEditionCheckButton.setSelection(!project.hasEditionDefinition("default"));
|
|
| 234 |
|
|
| 235 |
if (project.hasEditionDefinition("default")) {
|
|
| 236 |
|
|
| 237 |
EditionDefinition edition_params = project.getEditionDefinition("default");
|
|
| 222 | 238 |
boolean be = edition_params.getBuildEdition(); |
| 223 | 239 |
buildEditionCheckButton.setSelection(be); |
| 224 | 240 |
|
| ... | ... | |
| 230 | 246 |
pageBreakText.setText(pbt); |
| 231 | 247 |
} |
| 232 | 248 |
|
| 233 |
edition_params = project.getEditionDefinition("facs");
|
|
| 249 |
EditionDefinition edition_params = project.getEditionDefinition("facs");
|
|
| 234 | 250 |
boolean bfe = edition_params.getBuildEdition(); |
| 235 | 251 |
if (buildFacsEditionCheckButton != null && edition_params != null) {
|
| 236 | 252 |
buildFacsEditionCheckButton.setSelection(bfe); |
| ... | ... | |
| 240 | 256 |
if (imageDirectoryText != null && imageDirectory != null) |
| 241 | 257 |
imageDirectoryText.setText(imageDirectory); |
| 242 | 258 |
} |
| 259 |
|
|
| 260 |
String defaults = project.getDefaultEditionName(); |
|
| 261 |
if (defaults != null && defaults.length() > 0 && defaultEditions != null) {
|
|
| 262 |
defaultEditions.setText(defaults); |
|
| 263 |
} |
|
| 243 | 264 |
} |
| 244 | 265 |
|
| 245 | 266 |
@Override |
| ... | ... | |
| 275 | 296 |
edition_params2.setBuildEdition(build); |
| 276 | 297 |
edition_params2.setImagesDirectory(images_directory); |
| 277 | 298 |
} |
| 299 |
|
|
| 300 |
if (defaultEditions != null) {
|
|
| 301 |
String defaults = defaultEditions.getText(); |
|
| 302 |
if (defaults != null && defaults.length() > 0) {
|
|
| 303 |
project.setDefaultEditionName(defaults); |
|
| 304 |
} |
|
| 305 |
} |
|
| 278 | 306 |
} |
| 279 | 307 |
return true; |
| 280 | 308 |
} |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java (revision 2009) | ||
|---|---|---|
| 61 | 61 |
import org.txm.core.preferences.TBXPreferences; |
| 62 | 62 |
import org.txm.core.results.Parameter; |
| 63 | 63 |
import org.txm.core.results.TXMResult; |
| 64 |
import org.txm.rcp.IImageKeys; |
|
| 64 | 65 |
import org.txm.rcp.JobsTimer; |
| 65 | 66 |
import org.txm.rcp.StatusLine; |
| 66 | 67 |
import org.txm.rcp.TXMWindows; |
| 67 | 68 |
import org.txm.rcp.editors.listeners.BaseAbstractComputeListener; |
| 69 |
import org.txm.rcp.editors.listeners.ComputeSelectionListener; |
|
| 68 | 70 |
import org.txm.rcp.handlers.BaseAbstractHandler; |
| 69 | 71 |
import org.txm.rcp.messages.TXMUIMessages; |
| 70 | 72 |
import org.txm.rcp.preferences.RCPPreferences; |
| ... | ... | |
| 390 | 392 |
this.topToolBar = new TXMEditorToolBar(this, this.firstLineComposite, this.extendedParametersComposite, SWT.FLAT | SWT.RIGHT, TOP_TOOLBAR_ID); |
| 391 | 393 |
|
| 392 | 394 |
// store the Compute button to access if later, especially from subclasses |
| 393 |
this.computeButton = this.topToolBar.getItemByContributionId(TOP_TOOLBAR_COMPUTE_BUTTON_ID); |
|
| 394 |
|
|
| 395 |
this.computeButton = new ToolItem(topToolBar, SWT.PUSH);//.topToolBar.getItemByContributionId(TOP_TOOLBAR_COMPUTE_BUTTON_ID); |
|
| 396 |
this.computeButton.setImage(IImageKeys.getImage(IImageKeys.START)); |
|
| 397 |
this.computeButton.addSelectionListener(new ComputeSelectionListener(this, true)); |
|
| 398 |
|
|
| 395 | 399 |
// computing parameters components |
| 396 | 400 |
boolean showExtendedParameters = false; |
| 397 | 401 |
// only show the area if the result can not compute and is dirty |
| ... | ... | |
| 422 | 426 |
this.bottomSubWidgetsComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); |
| 423 | 427 |
} |
| 424 | 428 |
|
| 425 |
|
|
| 426 | 429 |
this.bottomToolBar = new TXMEditorToolBar(this, this.bottomToolBarContainer, this.bottomSubWidgetsComposite, SWT.FLAT, "bottom"); //$NON-NLS-1$ |
| 427 | 430 |
|
| 428 |
|
|
| 429 | 431 |
this.notifyExtensions("notifyStartOfCreatePartControl"); //$NON-NLS-1$
|
| 430 | 432 |
this._createPartControl(); // child editor creates its parameters and displays widgets |
| 431 | 433 |
this.notifyExtensions("notifyEndOfCreatePartControl"); //$NON-NLS-1$
|
| tmp/org.txm.rcp/plugin.xml (revision 2009) | ||
|---|---|---|
| 1209 | 1209 |
</parameter> |
| 1210 | 1210 |
</command> |
| 1211 | 1211 |
<command |
| 1212 |
commandId="org.txm.rcp.commands.workspace.LoadBinaryCorpus" |
|
| 1213 |
label="VOEUX" |
|
| 1214 |
style="push" |
|
| 1215 |
tooltip="Download and load the VOEUX corpus"> |
|
| 1216 |
<parameter |
|
| 1217 |
name="url" |
|
| 1218 |
value="http://textometrie.ens-lyon.fr/files/corpora/voeux/voeux-bin.txm"> |
|
| 1219 |
</parameter> |
|
| 1220 |
</command> |
|
| 1221 |
<command |
|
| 1212 | 1222 |
commandId="org.txm.rcp.commands.OpenLocalizedWebPage" |
| 1213 | 1223 |
label="%command.label.70" |
| 1214 | 1224 |
style="push"> |
| ... | ... | |
| 2279 | 2289 |
<menuContribution |
| 2280 | 2290 |
allPopups="true" |
| 2281 | 2291 |
locationURI="toolbar:TXMEditorTopToolBar"> |
| 2282 |
<command |
|
| 2283 |
commandId="org.txm.rcp.handlers.ComputeTXMResult" |
|
| 2284 |
icon="icons/functions/run.png" |
|
| 2285 |
id="compute" |
|
| 2286 |
label="%command.label.36" |
|
| 2287 |
style="push"> |
|
| 2288 |
</command> |
|
| 2289 | 2292 |
</menuContribution> |
| 2290 | 2293 |
<menuContribution |
| 2291 | 2294 |
allPopups="false" |
| tmp/org.txm.utils/src/org/txm/utils/io/IOUtils.java (revision 2009) | ||
|---|---|---|
| 228 | 228 |
* @throws MalformedURLException |
| 229 | 229 |
* @throws IOException |
| 230 | 230 |
*/ |
| 231 |
public static InputStream getInput(File manifest) throws MalformedURLException, IOException {
|
|
| 232 |
return manifest.toURI().toURL().openStream();
|
|
| 231 |
public static InputStream getInput(File file) throws MalformedURLException, IOException {
|
|
| 232 |
return file.toURI().toURL().openStream();
|
|
| 233 | 233 |
} |
| 234 | 234 |
|
| 235 | 235 |
public static OutputStream getOutputStream(File file) throws FileNotFoundException {
|
| tmp/org.txm.utils/src/org/txm/utils/Download.java (revision 2009) | ||
|---|---|---|
| 1 |
package org.txm.utils; |
|
| 2 |
|
|
| 3 |
import java.io.File; |
|
| 4 |
import java.io.FileOutputStream; |
|
| 5 |
import java.io.IOException; |
|
| 6 |
import java.net.URL; |
|
| 7 |
import java.nio.channels.Channels; |
|
| 8 |
import java.nio.channels.ReadableByteChannel; |
|
| 9 |
|
|
| 10 |
public class Download {
|
|
| 11 |
public static long download(URL source, File output) throws IOException {
|
|
| 12 |
ReadableByteChannel rbc = Channels.newChannel(source.openStream()); |
|
| 13 |
FileOutputStream fos = new FileOutputStream(output); |
|
| 14 |
return fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); |
|
| 15 |
} |
|
| 16 |
} |
|
| 0 | 17 | |
| tmp/TXMReleasePlugins.site/site.xml (revision 2009) | ||
|---|---|---|
| 3 | 3 |
<description name="TXM Extensions - RELEASE" url="http://txm.textometrie.org/updates/plugins"> |
| 4 | 4 |
This update site contains the Release plugins for TXM |
| 5 | 5 |
</description> |
| 6 |
<feature url="features/org.txm.backtomedia.feature_1.0.0.1906.jar" id="org.txm.backtomedia.feature" version="1.0.0.1906">
|
|
| 6 |
<feature url="features/org.txm.backtomedia.feature_1.0.0.1978.jar" id="org.txm.backtomedia.feature" version="1.0.0.1978">
|
|
| 7 | 7 |
<category name="Commands"/> |
| 8 | 8 |
</feature> |
| 9 |
<feature url="features/org.txm.wordcloud.feature_1.0.0.1906.jar" id="org.txm.wordcloud.feature" version="1.0.0.1906">
|
|
| 9 |
<feature url="features/org.txm.wordcloud.feature_1.0.0.1978.jar" id="org.txm.wordcloud.feature" version="1.0.0.1978">
|
|
| 10 | 10 |
<category name="Commands"/> |
| 11 | 11 |
</feature> |
| 12 |
<feature url="features/org.txm.treetagger.binaries.feature_1.0.0.1906.jar" id="org.txm.treetagger.binaries.feature" version="1.0.0.1906" os="" ws="">
|
|
| 12 |
<feature url="features/org.txm.treetagger.binaries.feature_1.0.0.1978.jar" id="org.txm.treetagger.binaries.feature" version="1.0.0.1978" os="" ws="">
|
|
| 13 | 13 |
<category name="Annotation"/> |
| 14 | 14 |
</feature> |
| 15 |
<feature url="features/org.txm.treetagger.models.feature_1.0.0.1906.jar" id="org.txm.treetagger.models.feature" version="1.0.0.1906">
|
|
| 15 |
<feature url="features/org.txm.treetagger.models.feature_1.0.0.1978.jar" id="org.txm.treetagger.models.feature" version="1.0.0.1978">
|
|
| 16 | 16 |
<category name="Annotation"/> |
| 17 | 17 |
</feature> |
| 18 |
<feature url="features/org.txm.annotation.urs.feature_1.0.0.1906.jar" id="org.txm.annotation.urs.feature" version="1.0.0.1906">
|
|
| 18 |
<feature url="features/org.txm.annotation.urs.feature_1.0.0.1978.jar" id="org.txm.annotation.urs.feature" version="1.0.0.1978">
|
|
| 19 | 19 |
<category name="Annotation"/> |
| 20 | 20 |
</feature> |
| 21 |
<feature url="features/org.txm.tigersearch.feature_1.0.0.1906.jar" id="org.txm.tigersearch.feature" version="1.0.0.1906">
|
|
| 21 |
<feature url="features/org.txm.tigersearch.feature_1.0.0.1978.jar" id="org.txm.tigersearch.feature" version="1.0.0.1978">
|
|
| 22 | 22 |
<category name="Annotation"/> |
| 23 | 23 |
</feature> |
| 24 | 24 |
<category-def name="Commands" label="Commands"> |
Formats disponibles : Unified diff