Author: snjeza
Date: 2008-11-20 12:47:49 -0500 (Thu, 20 Nov 2008)
New Revision: 11922
Added:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/PortletRuntimeComponentProvider.java
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/preferences/
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/preferences/JBossPortletPreferencesInitializer.java
Modified:
trunk/portlet/plugins/org.jboss.tools.portlet.core/META-INF/MANIFEST.MF
trunk/portlet/plugins/org.jboss.tools.portlet.core/plugin.xml
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/PortletCoreActivator.java
Log:
JBIDE-2758 Seam project with Portlets facet enabled can't start in JBoss AS server
Modified: trunk/portlet/plugins/org.jboss.tools.portlet.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/portlet/plugins/org.jboss.tools.portlet.core/META-INF/MANIFEST.MF 2008-11-20
17:47:23 UTC (rev 11921)
+++ trunk/portlet/plugins/org.jboss.tools.portlet.core/META-INF/MANIFEST.MF 2008-11-20
17:47:49 UTC (rev 11922)
@@ -19,7 +19,8 @@
org.eclipse.jst.common.frameworks,
org.eclipse.ui.ide,
org.eclipse.jem,
- org.eclipse.jst.jsf.facesconfig
+ org.eclipse.jst.jsf.facesconfig,
+ org.eclipse.wst.server.core
Bundle-ActivationPolicy: lazy
Export-Package: org.jboss.tools.portlet.core,
org.jboss.tools.portlet.core.internal,
Modified: trunk/portlet/plugins/org.jboss.tools.portlet.core/plugin.xml
===================================================================
--- trunk/portlet/plugins/org.jboss.tools.portlet.core/plugin.xml 2008-11-20 17:47:23 UTC
(rev 11921)
+++ trunk/portlet/plugins/org.jboss.tools.portlet.core/plugin.xml 2008-11-20 17:47:49 UTC
(rev 11922)
@@ -65,14 +65,15 @@
</dynamic-preset>
</extension>
-->
-
+ <!--
<extension
point="org.eclipse.wst.common.project.facet.core.runtimes">
<supported>
<runtime-component any="true"/>
<facet id="jboss.portlet" version="1.0,2.0"/>
</supported>
</extension>
-
+ -->
+
<extension
point="org.eclipse.wst.common.project.facet.core.listeners">
<listener
@@ -144,12 +145,44 @@
</dynamic-preset>
</extension>
-->
+
<extension
point="org.eclipse.wst.common.project.facet.core.runtimes">
+ <runtime-component-type
id="org.jboss.tools.portlet.core.runtime.component"/>
+ <runtime-component-version
type="org.jboss.tools.portlet.core.runtime.component"
version="1.0"/>
+ <supported>
+ <runtime-component id="org.jboss.tools.portlet.core.runtime.component"
version="1.0"/>
+ <facet id="jboss.portlet" version="1.0,2.0"/>
+ <facet id="jboss.jsfportlet" version="1.0"/>
+ <facet id="jboss.seamportlet" version="1.0"/>
+ </supported>
+ </extension>
+
+ <!--
+ <extension
point="org.eclipse.jst.server.core.internalRuntimeComponentProviders">
+ <runtimeComponentProvider
+ id="org.jboss.tools.portlet.core.runtimes"
+
class="org.jboss.tools.portlet.core.internal.PortletRuntimeComponentProvider"
+
runtimeTypeIds="org.jboss.ide.eclipse.as.runtime.*,org.eclipse.jst.server.tomcat.runtime.*"/>
+ </extension>
+ -->
+
+ <extension
point="org.eclipse.jst.server.core.internalRuntimeComponentProviders">
+ <runtimeComponentProvider
+ id="org.jboss.tools.portlet.core.runtimes"
+
class="org.jboss.tools.portlet.core.internal.PortletRuntimeComponentProvider"
+ runtimeTypeIds="*"/>
+ </extension>
+
+ <!--
+ <extension
point="org.eclipse.wst.common.project.facet.core.runtimes">
<supported>
<runtime-component any="true"/>
- <facet id="jboss.jsfportlet" version="1.0"/>
+ <facet id="jboss.portlet" version="1.0,2.0"/>
+ <facet id="jboss.jsfportlet" version="1.0"/>
+ <facet id="jboss.seamportlet" version="1.0"/>
</supported>
</extension>
+ -->
<extension
point="org.eclipse.jdt.core.classpathContainerInitializer">
<classpathContainerInitializer
class="org.jboss.tools.portlet.core.internal.JSFPortlet10LibrariesContainerInitializer"
@@ -214,12 +247,14 @@
</dynamic-preset>
</extension>
-->
+ <!--
<extension
point="org.eclipse.wst.common.project.facet.core.runtimes">
<supported>
<runtime-component any="true"/>
<facet id="jboss.seamportlet" version="1.0"/>
</supported>
</extension>
+ -->
<!--
<extension
point="org.eclipse.jdt.core.classpathContainerInitializer">
@@ -263,4 +298,10 @@
<listener
class="org.jboss.tools.portlet.core.internal.project.facet.PortletPostInstallListener"
eventTypes="POST_INSTALL"/>
</extension>
+
+ <extension
+ point="org.eclipse.core.runtime.preferences">
+ <initializer
class="org.jboss.tools.portlet.core.preferences.JBossPortletPreferencesInitializer"/>
+ </extension>
+
</plugin>
Modified:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/PortletCoreActivator.java
===================================================================
---
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/PortletCoreActivator.java 2008-11-20
17:47:23 UTC (rev 11921)
+++
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/PortletCoreActivator.java 2008-11-20
17:47:49 UTC (rev 11922)
@@ -33,6 +33,8 @@
public static final String PLUGIN_ID = "org.jboss.tools.portlet.core";
//$NON-NLS-1$
public static final String RESOURCES_FOLDER = "resources"; //$NON-NLS-1$
public static final String JSFPORTLET_FOLDER = "jsfportlet"; //$NON-NLS-1$
+ public static final String CHECK_RUNTIMES = "checkRuntimes"; //$NON-NLS-1$
+ public static final boolean DEFAULT_CHECK_RUNTIMES = true;
public static final IOverwriteQuery OVERWRITE_ALL_QUERY = new IOverwriteQuery() {
public String queryOverwrite(String pathString) {
Added:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/PortletRuntimeComponentProvider.java
===================================================================
---
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/PortletRuntimeComponentProvider.java
(rev 0)
+++
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/PortletRuntimeComponentProvider.java 2008-11-20
17:47:49 UTC (rev 11922)
@@ -0,0 +1,89 @@
+package org.jboss.tools.portlet.core.internal;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
+import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
+import org.eclipse.wst.server.core.IRuntime;
+import
org.eclipse.wst.server.core.internal.facets.RuntimeFacetComponentProviderDelegate;
+import org.jboss.tools.portlet.core.Messages;
+import org.jboss.tools.portlet.core.PortletCoreActivator;
+
+public class PortletRuntimeComponentProvider extends
+ RuntimeFacetComponentProviderDelegate {
+
+ private static final String SERVER_DEFAULT_DEPLOY_JBOSS_PORTAL_SAR =
"server/default/deploy/jboss-portal.sar"; //$NON-NLS-1$
+
+ private static final String SERVER_DEFAULT_DEPLOY_SIMPLE_PORTAL =
"server/default/deploy/simple-portal"; //$NON-NLS-1$
+
+ private static final String LIB = "lib"; //$NON-NLS-1$
+
+ private static final String JAR = ".jar"; //$NON-NLS-1$
+
+ private static final String PORTLET_API = "portlet-api"; //$NON-NLS-1$
+
+ private static final IRuntimeComponentType PORTAL_TYPE = RuntimeManager
+ .getRuntimeComponentType("org.jboss.tools.portlet.core.runtime.component");
//$NON-NLS-1$
+
+ private static final IRuntimeComponentVersion PORTAL_VERSION_1 = PORTAL_TYPE
+ .getVersion("1.0"); //$NON-NLS-1$
+
+ public List<IRuntimeComponent> getRuntimeComponents(final IRuntime runtime) {
+ final File location = runtime.getLocation().toFile();
+ final List<IRuntimeComponent> components = new
ArrayList<IRuntimeComponent>();
+ if (isPortalPresent(location)) {
+ final IRuntimeComponent portalComponent = RuntimeManager
+ .createRuntimeComponent(PORTAL_VERSION_1, null);
+ components.add(portalComponent);
+ }
+ return components;
+ }
+
+
+ private static boolean isPortalPresent(final File location) {
+ boolean check =
PortletCoreActivator.getDefault().getPluginPreferences().getBoolean(PortletCoreActivator.CHECK_RUNTIMES);
+ if (!check) {
+ return true;
+ }
+ // JBoss Portal server
+ if (exists(location, SERVER_DEFAULT_DEPLOY_JBOSS_PORTAL_SAR)) {
+ return true;
+ }
+ // JBoss portletcontainer
+ if (exists(location,SERVER_DEFAULT_DEPLOY_SIMPLE_PORTAL)) {
+ return true;
+ }
+ // Tomcat portletcontainer
+ File tomcatLib = new File(location,LIB);
+ if (tomcatLib.exists() && tomcatLib.isDirectory()) {
+ String[] files = tomcatLib.list(new FilenameFilter() {
+
+ public boolean accept(File dir, String name) {
+ if (name.startsWith(PORTLET_API) && name.endsWith(JAR)) {
+ return true;
+ }
+ return false;
+ }
+
+ });
+ return files.length > 0;
+ }
+
+ return false;
+ }
+
+
+ private static boolean exists(final File location,String portalDir) {
+ if (Platform.getOS().equals(Platform.OS_WIN32)) {
+ portalDir = portalDir.replace("/", "\\"); //$NON-NLS-1$
//$NON-NLS-2$
+ }
+ File file = new File(location,portalDir);
+ return file.exists();
+ }
+}
Added:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/preferences/JBossPortletPreferencesInitializer.java
===================================================================
---
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/preferences/JBossPortletPreferencesInitializer.java
(rev 0)
+++
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/preferences/JBossPortletPreferencesInitializer.java 2008-11-20
17:47:49 UTC (rev 11922)
@@ -0,0 +1,18 @@
+package org.jboss.tools.portlet.core.preferences;
+
+import org.eclipse.core.runtime.Preferences;
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.jboss.tools.portlet.core.PortletCoreActivator;
+
+public class JBossPortletPreferencesInitializer extends
+ AbstractPreferenceInitializer {
+
+ @Override
+ public void initializeDefaultPreferences() {
+ Preferences preferences = PortletCoreActivator.getDefault().getPluginPreferences();
+ preferences.setDefault(
+ PortletCoreActivator.CHECK_RUNTIMES,
+ PortletCoreActivator.DEFAULT_CHECK_RUNTIMES);
+ }
+
+}
Show replies by date