Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Zarna2009-12-23 13:13:12 +0000
committerTomasz Zarna2009-12-23 13:13:12 +0000
commit14ac51ff7954d2632eb55033793107809dd3ffa1 (patch)
tree76ce6c93e3bd2724204cf624cbd0b7f6ceb71301
parent8f4be955e371fb1faf613e3ddbda284a826d9cb5 (diff)
downloadeclipse.platform.team-14ac51ff7954d2632eb55033793107809dd3ffa1.tar.gz
eclipse.platform.team-14ac51ff7954d2632eb55033793107809dd3ffa1.tar.xz
eclipse.platform.team-14ac51ff7954d2632eb55033793107809dd3ffa1.zip
bug 73683: [Apply Patch] Add URL option Apply Patch dialog
-rw-r--r--bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/Utilities.java99
-rw-r--r--bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java175
-rw-r--r--bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.java8
-rw-r--r--bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.properties8
4 files changed, 263 insertions, 27 deletions
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/Utilities.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/Utilities.java
index 0ef89503f..8aec4b33c 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/Utilities.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/Utilities.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,19 +10,57 @@
*******************************************************************************/
package org.eclipse.compare.internal;
-import java.io.*;
-import java.util.*;
+import java.io.BufferedReader;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.URLConnection;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
-import org.eclipse.compare.*;
+import org.eclipse.compare.CompareConfiguration;
+import org.eclipse.compare.CompareUI;
+import org.eclipse.compare.IEncodedStreamContentAccessor;
+import org.eclipse.compare.ISharedDocumentAdapter;
+import org.eclipse.compare.IStreamContentAccessor;
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.compare.SharedDocumentAdapter;
import org.eclipse.compare.contentmergeviewer.IDocumentRange;
import org.eclipse.compare.internal.core.patch.HunkResult;
import org.eclipse.compare.patch.IHunk;
import org.eclipse.compare.structuremergeviewer.DiffNode;
import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.resources.IEncodedStorage;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourceAttributes;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.resources.mapping.ResourceMapping;
+import org.eclipse.core.resources.mapping.ResourceMappingContext;
+import org.eclipse.core.resources.mapping.ResourceTraversal;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.ISafeRunnable;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.ErrorDialog;
@@ -33,8 +71,17 @@ import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Widget;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartSite;
+import org.eclipse.ui.IWorkbenchSite;
import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
import org.eclipse.ui.texteditor.IDocumentProvider;
@@ -582,6 +629,12 @@ public class Utilities {
* Returns null if an error occurred.
*/
public static String readString(InputStream is, String encoding) throws IOException {
+ return readString(is, encoding, -1, null);
+ }
+
+ public static String readString(InputStream is, String encoding, int length, IProgressMonitor monitor) throws IOException {
+ SubMonitor progress = SubMonitor.convert(monitor);
+ progress.setWorkRemaining(length);
if (is == null)
return null;
BufferedReader reader= null;
@@ -590,9 +643,13 @@ public class Utilities {
char[] part= new char[2048];
int read= 0;
reader= new BufferedReader(new InputStreamReader(is, encoding));
- while ((read= reader.read(part)) != -1)
+ while ((read= reader.read(part)) != -1) {
buffer.append(part, 0, read);
-
+ progress.worked(2048);
+ if (progress.isCanceled())
+ throw new OperationCanceledException();
+ }
+
return buffer.toString();
} finally {
if (reader != null) {
@@ -781,4 +838,24 @@ public class Utilities {
});
}
}
+
+ /**
+ * @param connection a connection for which the timeout is set
+ * @param timeout an int that specifies the connect timeout value in milliseconds
+ * @return whether the timeout has been successfully set
+ */
+ public static boolean setReadTimeout(URLConnection connection, int timeout) {
+ Method[] methods = connection.getClass().getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ if (methods[i].getName().equals("setReadTimeout")) //$NON-NLS-1$
+ try {
+ methods[i].invoke(connection, new Object[] {new Integer(timeout)});
+ return true;
+ } catch (IllegalArgumentException e) { // ignore
+ } catch (IllegalAccessException e) { // ignore
+ } catch (InvocationTargetException e) { // ignore
+ }
+ }
+ return false;
+ }
}
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java
index 9b51fb3c8..94c16351b 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java
@@ -19,6 +19,11 @@ import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
+import java.lang.reflect.InvocationTargetException;
+import java.net.MalformedURLException;
+import java.net.SocketTimeoutException;
+import java.net.URL;
+import java.net.URLConnection;
import org.eclipse.compare.internal.ICompareContextIds;
import org.eclipse.compare.internal.Utilities;
@@ -29,11 +34,15 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelection;
@@ -80,6 +89,7 @@ import com.ibm.icu.text.MessageFormat;
// dialog store id constants
private final static String PAGE_NAME= "PatchWizardPage1"; //$NON-NLS-1$
private final static String STORE_PATCH_FILES_ID= PAGE_NAME+".PATCH_FILES"; //$NON-NLS-1$
+ private final static String STORE_PATCH_URLS_ID= PAGE_NAME+".PATCH_URLS"; //$NON-NLS-1$
private final static String STORE_INPUT_METHOD_ID= PAGE_NAME+".INPUT_METHOD"; //$NON-NLS-1$
private final static String STORE_WORKSPACE_PATH_ID= PAGE_NAME+".WORKSPACE_PATH"; //$NON-NLS-1$
@@ -87,6 +97,7 @@ import com.ibm.icu.text.MessageFormat;
protected final static int CLIPBOARD= 1;
protected final static int FILE= 2;
protected final static int WORKSPACE= 3;
+ protected final static int URL= 4;
protected final static String INPUTPATCHPAGE_NAME= "InputPatchPage"; //$NON-NLS-1$
@@ -104,6 +115,8 @@ import com.ibm.icu.text.MessageFormat;
private Button fPatchFileBrowseButton;
private Button fUsePatchFileButton;
private Button fUseWorkspaceButton;
+ private Button fUseURLButton;
+ private Combo fPatchURLField;
private Label fWorkspaceSelectLabel;
private TreeViewer fTreeViewer;
@@ -115,7 +128,9 @@ import com.ibm.icu.text.MessageFormat;
case FILE:
fShowError= (fPatchFileNameField.getText() != ""); //$NON-NLS-1$
break;
-
+ case URL:
+ fShowError = (fPatchURLField.getText() != ""); //$NON-NLS-1$
+ break;
case WORKSPACE:
fShowError= (!fTreeViewer.getSelection().isEmpty());
break;
@@ -160,7 +175,7 @@ import com.ibm.icu.text.MessageFormat;
restoreWidgetValues();
// see if there are any better options presently selected (i.e workspace
- // or clipboard)
+ // or clipboard or URL from clipboard)
adjustToCurrentTarget();
// No error for dialog opening
@@ -243,6 +258,14 @@ import com.ibm.icu.text.MessageFormat;
}
}
fPatchSource= PatchMessages.InputPatchPage_PatchFile_title;
+ } else if (inputMethod==URL) {
+ String patchFileURL = fPatchURLField.getText();
+ if (patchFileURL != null) {
+ String contents = getURLContents(patchFileURL);
+ if (contents != null)
+ reader = new StringReader(contents);
+ }
+ fPatchSource= PatchMessages.InputPatchPage_URL_title;
} else if (inputMethod==WORKSPACE) {
// Get the selected patch file (tree will only allow for one selection)
IResource[] resources= Utilities.getResources(fTreeViewer.getSelection());
@@ -282,6 +305,43 @@ import com.ibm.icu.text.MessageFormat;
}
}
+ private String getURLContents(String patchFileURL) {
+ final URL url;
+ try {
+ url = new URL(patchFileURL);
+ final String[] result= new String[1];
+ try {
+ getContainer().run(true, true, new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ SubMonitor progress = SubMonitor.convert(monitor, PatchMessages.InputPatchPage_URLConnecting, 100);
+ try {
+ URLConnection connection = url.openConnection();
+ progress.worked(10);
+ if (monitor.isCanceled())
+ throw new OperationCanceledException();
+ Utilities.setReadTimeout(connection, 60*1000);
+ progress.setTaskName(PatchMessages.InputPatchPage_URLFetchingContent);
+ String enc = connection.getContentEncoding();
+ if (enc == null)
+ enc = ResourcesPlugin.getEncoding();
+ result[0] = Utilities.readString(connection.getInputStream(), enc, connection.getContentLength(), progress.newChild(90));
+ } catch (SocketTimeoutException e) { // timeout
+ } catch (IOException e) { //ignore
+ }
+ monitor.done();
+ }
+ });
+ return result[0];
+ } catch (OperationCanceledException e) { //ignore
+ } catch (InvocationTargetException e) { //ignore
+ } catch (InterruptedException e) { //ignore
+ }
+ } catch (MalformedURLException e) {
+ // ignore as we tested it with modify listener on combo
+ }
+ return null;
+ }
+
/* (non-JavaDoc)
* Method declared in IWizardPage.
*/
@@ -301,6 +361,10 @@ import com.ibm.icu.text.MessageFormat;
fTreeViewer.getTree().setEnabled(enable);
}
+ private void setEnableURLPatch(boolean enable) {
+ fPatchURLField.setEnabled(enable);
+ }
+
/*
* Create the group for selecting the patch file
*/
@@ -337,6 +401,15 @@ import com.ibm.icu.text.MessageFormat;
fPatchFileBrowseButton.setLayoutData(data);
//3rd row
+ fUseURLButton = new Button(composite, SWT.RADIO);
+ fUseURLButton.setText(PatchMessages.InputPatchPage_URLButton_text);
+
+ fPatchURLField = new Combo(composite, SWT.BORDER);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ fPatchURLField.setLayoutData(gd);
+
+ //4th row
fUseWorkspaceButton= new Button(composite, SWT.RADIO);
fUseWorkspaceButton.setText(PatchMessages.InputPatchPage_UseWorkspaceButton_text);
gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
@@ -354,6 +427,7 @@ import com.ibm.icu.text.MessageFormat;
fShowError= true;
int state= getInputMethod();
setEnablePatchFile(state == FILE);
+ setEnableURLPatch(state == URL);
setEnableWorkspacePatch(state == WORKSPACE);
updateWidgetEnablements();
fPatchRead = false;
@@ -368,8 +442,9 @@ import com.ibm.icu.text.MessageFormat;
clearErrorMessage();
fShowError= (fPatchFileNameField.getText() != ""); //$NON-NLS-1$
int state= getInputMethod();
- setEnablePatchFile(state==FILE);
- setEnableWorkspacePatch(state==WORKSPACE);
+ setEnablePatchFile(state == FILE);
+ setEnableURLPatch(state == URL);
+ setEnableWorkspacePatch(state == WORKSPACE);
updateWidgetEnablements();
fPatchRead = false;
}
@@ -394,6 +469,24 @@ import com.ibm.icu.text.MessageFormat;
updateWidgetEnablements();
}
});
+ fUseURLButton.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ clearErrorMessage();
+ fShowError= (fPatchURLField.getText() != ""); //$NON-NLS-1$
+ int state= getInputMethod();
+ setEnablePatchFile(state == FILE);
+ setEnableURLPatch(state == URL);
+ setEnableWorkspacePatch(state == WORKSPACE);
+ updateWidgetEnablements();
+ }
+ });
+ fPatchURLField.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ clearErrorMessage();
+ fShowError = true;
+ updateWidgetEnablements();
+ }
+ });
fUseWorkspaceButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (!fUseWorkspaceButton.getSelection())
@@ -403,6 +496,7 @@ import com.ibm.icu.text.MessageFormat;
fShowError= (!fTreeViewer.getSelection().isEmpty());
int state= getInputMethod();
setEnablePatchFile(state == FILE);
+ setEnableURLPatch(state == URL);
setEnableWorkspacePatch(state == WORKSPACE);
updateWidgetEnablements();
fPatchRead = false;
@@ -492,6 +586,20 @@ import com.ibm.icu.text.MessageFormat;
} else {
error= PatchMessages.InputPatchPage_NoFileName_message;
}
+ } else if (inputMethod == URL) {
+ String urlText = fPatchURLField.getText();
+ if(urlText != null) {
+ try {
+ new URL(urlText);
+ // Checking the URL is a bit too heavy for each keystroke.
+ // Let's assume it contains a valid patch.
+ gotPatch = true;
+ } catch (MalformedURLException e) {
+ error= PatchMessages.InputPatchPage_MalformedURL;
+ }
+ } else {
+ error= PatchMessages.InputPatchPage_NoURL;
+ }
} else if (inputMethod == WORKSPACE) {
//Get the selected patch file (tree will only allow for one selection)
IResource[] resources= Utilities.getResources(fTreeViewer.getSelection());
@@ -638,6 +746,13 @@ import com.ibm.icu.text.MessageFormat;
if (patchFilePath != null)
setSourceName(patchFilePath);
+ // set URLs history
+ String[] sourceURLs= settings.getArray(STORE_PATCH_URLS_ID);
+ if (sourceURLs != null)
+ for (int i= 0; i < sourceURLs.length; i++)
+ if (sourceURLs[i] != null && sourceURLs[i].length() > 0)
+ fPatchURLField.add(sourceURLs[i]);
+
// If the previous apply patch was used with a clipboard, we need to check
// if there is a valid patch on the clipboard. This will be done in adjustToCurrentTarget()
// so just set it to FILE now and, if there exists a patch on the clipboard, then clipboard
@@ -693,6 +808,14 @@ import com.ibm.icu.text.MessageFormat;
sourceNames= addToHistory(sourceNames, getPatchFilePath());
settings.put(STORE_PATCH_FILES_ID, sourceNames);
+ // update source URLs history
+ String[] sourceURLs= settings.getArray(STORE_PATCH_URLS_ID);
+ if (sourceURLs == null)
+ sourceURLs= new String[0];
+
+ sourceURLs= addToHistory(sourceURLs, fPatchURLField.getText());
+ settings.put(STORE_PATCH_URLS_ID, sourceURLs);
+
// save the workspace selection
settings.put(STORE_WORKSPACE_PATH_ID, getWorkspacePath());
@@ -712,12 +835,14 @@ import com.ibm.icu.text.MessageFormat;
}
// static helpers
-
+
/**
- * Checks to see if the file that has been selected for Apply Patch
- * is actually a patch
- * @return true if the file selected to run Apply Patch on in the workspace is a patch file
- * or if the clipboard contains a patch
+ * Checks to see if the file that has been selected for Apply Patch is
+ * actually a patch
+ *
+ * @return true if the file selected to run Apply Patch on in the workspace
+ * is a patch file or if the clipboard contains a patch or if the
+ * clipboard contains an URL (we assume it points to a patch )
*/
private boolean adjustToCurrentTarget() {
// readjust selection if there is a patch selected in the workspace or on the clipboard
@@ -757,16 +882,27 @@ import com.ibm.icu.text.MessageFormat;
Reader reader = null;
Control c = getControl();
if (c != null) {
- Clipboard clipboard = new Clipboard(c.getDisplay());
- Object o = clipboard.getContents(TextTransfer.getInstance());
+ Clipboard clipboard= new Clipboard(c.getDisplay());
+ Object o= clipboard.getContents(TextTransfer.getInstance());
clipboard.dispose();
try {
if (o instanceof String) {
- reader = new StringReader((String) o);
+ reader= new StringReader((String) o);
if (isPatchFile(reader)) {
setInputButtonState(CLIPBOARD);
return true;
}
+ // maybe it's an URL
+ try {
+ URL url = new URL((String)o);
+ if(url != null) {
+ setInputButtonState(URL);
+ fPatchURLField.setText((String)o);
+ return true;
+ }
+ } catch (MalformedURLException e) {
+ // ignore
+ }
}
} finally {
if (reader != null) {
@@ -780,8 +916,6 @@ import com.ibm.icu.text.MessageFormat;
}
return false;
}
-
-
private boolean isPatchFile(Reader reader) {
WorkspacePatcher patcher= ((PatchWizard) getWizard()).getPatcher();
@@ -811,24 +945,35 @@ import com.ibm.icu.text.MessageFormat;
case CLIPBOARD:
fUseClipboardButton.setSelection(true);
fUsePatchFileButton.setSelection(false);
+ fUseURLButton.setSelection(false);
fUseWorkspaceButton.setSelection(false);
break;
case FILE:
fUseClipboardButton.setSelection(false);
fUsePatchFileButton.setSelection(true);
+ fUseURLButton.setSelection(false);
+ fUseWorkspaceButton.setSelection(false);
+ break;
+
+ case URL:
+ fUseClipboardButton.setSelection(false);
+ fUsePatchFileButton.setSelection(false);
+ fUseURLButton.setSelection(true);
fUseWorkspaceButton.setSelection(false);
break;
case WORKSPACE:
fUseClipboardButton.setSelection(false);
fUsePatchFileButton.setSelection(false);
+ fUseURLButton.setSelection(false);
fUseWorkspaceButton.setSelection(true);
break;
}
setEnablePatchFile(state == FILE);
setEnableWorkspacePatch(state == WORKSPACE);
+ setEnableURLPatch(state == URL);
}
protected int getInputMethod() {
@@ -836,6 +981,8 @@ import com.ibm.icu.text.MessageFormat;
return CLIPBOARD;
if (fUsePatchFileButton.getSelection())
return FILE;
+ if(fUseURLButton.getSelection())
+ return URL;
return WORKSPACE;
}
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.java
index ff2241a22..6fde7b42a 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,6 +22,10 @@ public final class PatchMessages extends NLS {
public static String HunkMergePage_GenerateRejectFile;
public static String HunkMergePage_Merged;
+ public static String InputPatchPage_MalformedURL;
+ public static String InputPatchPage_NoURL;
+ public static String InputPatchPage_URLButton_text;
+ public static String InputPatchPage_URL_title;
public static String PatchCompareEditorInput_0;
public static String PatcherCompareEditorInput_0;
public static String PatcherCompareEditorInput_AfterPatch;
@@ -58,6 +62,8 @@ public final class PatchMessages extends NLS {
public static String InputPatchPage_WorkspacePatch_title;
public static String InputPatchPage_NoDiffsFound_format;
public static String InputPatchPage_SingleFileError_format;
+ public static String InputPatchPage_URLConnecting;
+ public static String InputPatchPage_URLFetchingContent;
public static String PatchTargetPage_title;
public static String PatchTargetPage_message;
public static String PreviewPatchPage_title;
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.properties b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.properties
index 29224b777..95ac4b8f2 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.properties
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2000, 2008 IBM Corporation and others.
+# Copyright (c) 2000, 2009 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -31,11 +31,14 @@ PatcherCompareEditorInput_NotIncluded=(Not included)
# InputPatchPage
#
InputPatchPage_title= Patch Input Specification
+InputPatchPage_NoURL=Please enter an URL
InputPatchPage_message= Select the patch location.
InputPatchPage_Clipboard=Clipboard
InputPatchPage_SelectInput=Apply the patch to the &selected file, folder or project:
+InputPatchPage_MalformedURL=Malformed URL
InputPatchPage_PatchErrorDialog_title=Patch Error
InputPatchPage_FileButton_text=Fil&e
+InputPatchPage_URLButton_text=&URL
InputPatchPage_ChooseFileButton_text=&Browse...
InputPatchPage_UseClipboardButton_text=&Clipboard
InputPatchPage_UseWorkspaceButton_text=&Workspace
@@ -53,9 +56,12 @@ InputPatchPage_PatchFileNotFound_message=Patch file not found.
InputPatchPage_ParseError_message=Error while parsing patch
InputPatchPage_Clipboard_title=Clipboard
InputPatchPage_PatchFile_title=Patch file
+InputPatchPage_URL_title=URL
InputPatchPage_WorkspacePatch_title=Workspace file
InputPatchPage_NoDiffsFound_format={0} does not contain valid patch.
InputPatchPage_SingleFileError_format={0} contains multiple patches. You cannot apply them to a single file.
+InputPatchPage_URLConnecting=Opening connection to the URL
+InputPatchPage_URLFetchingContent=Fetching content from the URL
#
# PatchTargetPage
#

Back to the top