Author: dgolovin
Date: 2011-09-27 19:11:46 -0400 (Tue, 27 Sep 2011)
New Revision: 35092
Added:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/PlatformIsNotSupportedException.java
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerBundleNotFoundException.java
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/VpeXulrunnerMessages.java
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerException.java
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java
Log:
XulRunner exception handling update:
1. New exception types to distinguish particular problems like unsupported platforms and
missing XUlRunner feature
2. getXulRunnerPath() is called for all platform to trigger check from point as early as
possible
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java 2011-09-27
23:05:33 UTC (rev 35091)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/BrowserPlugin.java 2011-09-27
23:11:46 UTC (rev 35092)
@@ -1,7 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.vpe.xulrunner;
-import java.text.MessageFormat;
-
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.resource.ImageDescriptor;
import org.jboss.tools.common.log.BaseUIPlugin;
Added:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/PlatformIsNotSupportedException.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/PlatformIsNotSupportedException.java
(rev 0)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/PlatformIsNotSupportedException.java 2011-09-27
23:11:46 UTC (rev 35092)
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.xulrunner;
+
+import java.text.MessageFormat;
+
+import org.jboss.tools.vpe.xulrunner.browser.XulRunnerBrowser;
+
+/**
+ * @author eskimo
+ *
+ */
+public class PlatformIsNotSupportedException extends XulRunnerException {
+
+ /**
+ *
+ */
+ public PlatformIsNotSupportedException() {
+ super(MessageFormat.format(
+ VpeXulrunnerMessages.CURRENT_PLATFORM_IS_NOT_SUPPORTED,
+ XulRunnerBrowser.CURRENT_PLATFORM_ID));
+ }
+}
Property changes on:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/PlatformIsNotSupportedException.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/VpeXulrunnerMessages.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/VpeXulrunnerMessages.java 2011-09-27
23:05:33 UTC (rev 35091)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/VpeXulrunnerMessages.java 2011-09-27
23:11:46 UTC (rev 35092)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.vpe.xulrunner;
import org.eclipse.osgi.util.NLS;
Added:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerBundleNotFoundException.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerBundleNotFoundException.java
(rev 0)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerBundleNotFoundException.java 2011-09-27
23:11:46 UTC (rev 35092)
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.xulrunner;
+
+import java.text.MessageFormat;
+
+/**
+ * @author eskimo
+ *
+ */
+public class XulRunnerBundleNotFoundException extends XulRunnerException {
+
+ /**
+ * @param message
+ */
+ public XulRunnerBundleNotFoundException(String bundleId) {
+ super(MessageFormat.format(
+ VpeXulrunnerMessages.XulRunnerBrowser_bundleNotFound,
+ bundleId));
+ }
+
+}
Property changes on:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerBundleNotFoundException.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerException.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerException.java 2011-09-27
23:05:33 UTC (rev 35091)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XulRunnerException.java 2011-09-27
23:11:46 UTC (rev 35092)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.vpe.xulrunner;
public class XulRunnerException extends Exception {
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2011-09-27
23:05:33 UTC (rev 35091)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2011-09-27
23:11:46 UTC (rev 35092)
@@ -27,7 +27,9 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Listener;
+import org.jboss.tools.vpe.xulrunner.PlatformIsNotSupportedException;
import org.jboss.tools.vpe.xulrunner.VpeXulrunnerMessages;
+import org.jboss.tools.vpe.xulrunner.XulRunnerBundleNotFoundException;
import org.jboss.tools.vpe.xulrunner.XulRunnerException;
import org.jboss.tools.vpe.xulrunner.util.XPCOM;
import org.mozilla.interfaces.nsIComponentManager;
@@ -109,11 +111,7 @@
public XulRunnerBrowser(Composite parent) throws XulRunnerException {
ensureEmbeddedXulRunnerEnabled();
-
- if(Platform.OS_MACOSX.equals(Platform.getOS())){
- getXulRunnerPath();
- }
-
+ getXulRunnerPath();
browser = new Browser(parent, SWT.MOZILLA);
webBrowser = (nsIWebBrowser) browser.getWebBrowser();
@@ -224,13 +222,9 @@
Bundle xulRunnerBundle = Platform.getBundle(getXulRunnerBundle());
if (xulRunnerBundle == null) {
if (!XulRunnerBrowser.isCurrentPlatformOfficiallySupported()) {
- throw new XulRunnerException(MessageFormat.format(
- VpeXulrunnerMessages.CURRENT_PLATFORM_IS_NOT_SUPPORTED,
- XulRunnerBrowser.CURRENT_PLATFORM_ID));
+ throw new PlatformIsNotSupportedException();
} else {
- throw new XulRunnerException(MessageFormat.format(
- VpeXulrunnerMessages.XulRunnerBrowser_bundleNotFound,
- getXulRunnerBundle()));
+ throw new XulRunnerBundleNotFoundException(getXulRunnerBundle());
}
}
@@ -238,8 +232,7 @@
if (!greRanges[0].check(xulRunnerVersion)) {
throw new
XulRunnerException(MessageFormat.format(VpeXulrunnerMessages.XulRunnerBrowser_wrongVersion,
xulRunnerBundle.getLocation()
,XulRunnerBrowser.XULRUNNER_LOWER_VERSION,XulRunnerBrowser.XULRUNNER_HIGHER_VERSION) );
}
-
-
+
URL url = xulRunnerBundle.getEntry(XULRUNNER_ENTRY);
if (url == null) {
throw new
XulRunnerException(MessageFormat.format(VpeXulrunnerMessages.XulRunnerBrowser_bundleDoesNotContainXulrunner,
getXulRunnerBundle(),XULRUNNER_ENTRY));
@@ -251,12 +244,11 @@
} catch (IOException ioe) {
throw new
XulRunnerException(MessageFormat.format(VpeXulrunnerMessages.XulRunnerBrowser_cannotGetPathToXulrunner,getXulRunnerBundle()),
ioe);
}
-
+
xulRunnerPath = xulRunnerFile.getAbsolutePath();
System.setProperty(XULRUNNER_PATH, xulRunnerPath);
}
-
return xulRunnerPath;
}