Author: rob.stryker(a)jboss.com
Date: 2007-05-01 16:41:50 -0400 (Tue, 01 May 2007)
New Revision: 1983
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/ModulePackageTypeConverter.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/types/EarArchiveType.java
Log:
impl for ear
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/ModulePackageTypeConverter.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/ModulePackageTypeConverter.java 2007-05-01
19:30:21 UTC (rev 1982)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/ModulePackageTypeConverter.java 2007-05-01
20:41:50 UTC (rev 1983)
@@ -24,6 +24,8 @@
import org.eclipse.wst.server.core.IModule;
import org.jboss.ide.eclipse.archives.core.model.ArchivesCore;
import org.jboss.ide.eclipse.archives.core.model.IArchiveType;
+import org.jboss.ide.eclipse.as.core.packages.types.EarArchiveType;
+import org.jboss.ide.eclipse.as.core.packages.types.EjbArchiveType;
import org.jboss.ide.eclipse.as.core.packages.types.WarArchiveType;
/**
@@ -35,10 +37,12 @@
String modType = module.getModuleType().getId();
if("jst.web".equals(modType)) {
return ArchivesCore.getArchiveType(WarArchiveType.WAR_PACKAGE_TYPE);
-// } else if("jst.ear".equals(modType)) {
-// return ArchivesCore.getArchiveType(EarArchiveType.EAR_PACKAGE_TYPE);
-// } else if("jbide.ejb30".equals(modType)) {
-// return
ArchivesCore.getArchiveType("org.jboss.ide.eclipse.ejb3.wizards.core.ejbPackageType");
+ } else if("jst.ear".equals(modType)) {
+ return ArchivesCore.getArchiveType(EarArchiveType.ID);
+ } else if("jbide.ejb30".equals(modType)) {
+ return ArchivesCore.getArchiveType(EjbArchiveType.ID);
+ } else if("jst.ejb".equals(modType)) {
+ return ArchivesCore.getArchiveType(EjbArchiveType.ID);
}
return null;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/types/EarArchiveType.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/types/EarArchiveType.java 2007-05-01
19:30:21 UTC (rev 1982)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/types/EarArchiveType.java 2007-05-01
20:41:50 UTC (rev 1983)
@@ -1,8 +1,16 @@
package org.jboss.ide.eclipse.as.core.packages.types;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.server.core.IEnterpriseApplication;
+import org.eclipse.wst.server.core.IModule;
import org.jboss.ide.eclipse.archives.core.model.IArchive;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveFolder;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveType;
+import org.jboss.ide.eclipse.as.core.packages.ModulePackageTypeConverter;
public class EarArchiveType extends J2EEArchiveType {
public final static String ID =
"org.jboss.ide.eclipse.as.core.packages.earPackageType";
@@ -18,14 +26,64 @@
return "EAR";
}
+
public IArchive createDefaultConfiguration(IProject project, IProgressMonitor monitor)
{
- IArchive topLevel = createGenericIArchive(project, null, project.getName() +
".jar");
- return fillDefaultConfiguration(project, topLevel, monitor);
+ IModule mod = getModule(project);
+ if( mod != null )
+ return createDefaultConfigFromModule(mod, monitor);
+ else
+ return createDefaultConfiguration2(project, monitor);
}
+
+ public IArchive createDefaultConfiguration2(IProject project,
+ IProgressMonitor monitor) {
+ IArchive topLevel = createGenericIArchive(project, null, project.getName() +
".ear");
+ topLevel.setDestinationPath(project.getLocation());
+ topLevel.setInWorkspace(true);
+
+ fillDefaultConfiguration(project, topLevel, monitor);
+ return topLevel;
+ }
- public IArchive fillDefaultConfiguration(IProject project, IArchive topLevel,
IProgressMonitor monitor) {
+ public IArchive createDefaultConfigFromModule(IModule module,
+ IProgressMonitor monitor) {
+ IProject project = module.getProject();
+ IContainer sourceContainer = project.getFolder(EARCONTENT);
+ IArchive topLevel = createGenericIArchive(project, null, project.getName() +
".ear", sourceContainer);
+ topLevel.setDestinationPath(project.getLocation());
+ topLevel.setInWorkspace(true);
+ fillDefaultConfiguration(project, topLevel, monitor);
return topLevel;
}
+ public IArchive fillDefaultConfiguration(IProject project, IArchive topLevel,
IProgressMonitor monitor) {
+ IModule mod = getModule(project);
+
+ if( mod == null ) {
+ // add fileset
+ IArchiveFolder metainf = addFolder(project, topLevel, METAINF);
+ addFileset(project, metainf, new Path(project.getName()).append(METAINF).toOSString(),
null);
+
+ } else {
+ // now add children
+ addFileset(project, topLevel, new
Path(project.getName()).append(EARCONTENT).toOSString(), "**/*.*");
+ IEnterpriseApplication earModule =
(IEnterpriseApplication)mod.loadAdapter(IEnterpriseApplication.class, monitor);
+ IModule[] childModules = earModule.getModules();
+ for( int i = 0; i < childModules.length; i++ ) {
+ IModule child = childModules[i];
+ IArchiveType type = ModulePackageTypeConverter.getPackageTypeFor(child);
+ IArchive childPack;
+ if( type == null ) {
+ childPack = createGenericIArchive(child.getProject(), null,
child.getProject().getName() + ".jar");
+ } else {
+ childPack = type.createDefaultConfiguration(child.getProject(), new
NullProgressMonitor());
+ }
+ topLevel.addChild(childPack);
+ }
+ }
+
+ return topLevel;
+ }
+
}
Show replies by date