[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/module ...
Robert Stryker
rawblem at gmail.com
Thu Feb 15 09:52:03 EST 2007
User: rawb
Date: 07/02/15 09:52:03
Modified: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/module
PackagedArtifactAdapter.java
Added: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/module
PackageModuleFactory.java
Removed: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/module
PackagedProjectModuleFactory.java
Log:
Further updates to integrating with packaging. Still not entirely complete.
Revision Changes Path
1.2 +7 -7 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/module/PackagedArtifactAdapter.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackagedArtifactAdapter.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/module/PackagedArtifactAdapter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- PackagedArtifactAdapter.java 28 Nov 2006 17:29:30 -0000 1.1
+++ PackagedArtifactAdapter.java 15 Feb 2007 14:52:03 -0000 1.2
@@ -15,7 +15,7 @@
public PackagedArtifactAdapter() {
}
- private PackagedProjectModuleFactory factory;
+ private PackageModuleFactory factory;
public IModuleArtifact getModuleArtifact(Object obj) {
if( obj instanceof IJavaProject ) {
IProject[] projects2 = ResourcesPlugin.getWorkspace().getRoot().getProjects();
@@ -29,7 +29,7 @@
}
}
if( obj instanceof IProject ) {
- PackagedProjectModuleFactory factory = getFactory();
+ PackageModuleFactory factory = getFactory();
if( factory != null ) {
IModule mod = factory.getModuleFromProject((IProject)obj);
if( mod != null ) {
@@ -40,17 +40,17 @@
return null;
}
- protected PackagedProjectModuleFactory getFactory() {
+ protected PackageModuleFactory getFactory() {
if( factory != null ) return factory;
ModuleFactory[] factories = ServerPlugin.getModuleFactories();
- System.out.println(PackagedProjectModuleFactory.FACTORY_TYPE_ID);
+ System.out.println(PackageModuleFactory.FACTORY_TYPE_ID);
for( int i = 0; i < factories.length; i++ ) {
System.out.println(" " + factories[i].getId());
- if( factories[i].getId().equals(PackagedProjectModuleFactory.FACTORY_TYPE_ID)) {
+ if( factories[i].getId().equals(PackageModuleFactory.FACTORY_TYPE_ID)) {
Object o = factories[i].getDelegate(new NullProgressMonitor());
- if( o instanceof PackagedProjectModuleFactory ) {
- factory = (PackagedProjectModuleFactory)o;
+ if( o instanceof PackageModuleFactory ) {
+ factory = (PackageModuleFactory)o;
return factory;
}
}
1.1 date: 2007/02/15 14:52:03; author: rawb; state: Exp;jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/module/PackageModuleFactory.java
Index: PackageModuleFactory.java
===================================================================
/**
* JBoss, a Division of Red Hat
* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.ide.eclipse.as.core.module;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.model.IModuleResource;
import org.eclipse.wst.server.core.model.ModuleDelegate;
import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.packages.core.model.IPackage;
import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
import org.jboss.ide.eclipse.packages.core.model.internal.PackagesModel;
/**
*
* @author rob.stryker at jboss.com
*/
public class PackageModuleFactory extends ProjectModuleFactoryDelegate {
protected Map moduleDelegates = new HashMap(5);
protected HashMap projectsToModule = new HashMap(5);
public static final String FACTORY_TYPE_ID = "org.jboss.ide.eclipse.as.core.PackageModuleFactory";
public static final String MODULE_TYPE = "jboss.package";
public static final String VERSION = "1.0";
public PackageModuleFactory() {
super();
}
protected IModule[] createModules(IProject project) {
if( PackagesCore.projectHasPackages(project) ) {
ArrayList list = new ArrayList();
IModule module;
IPackage[] packages = PackagesCore.getProjectPackages(project, new NullProgressMonitor());
for( int i = 0; i < packages.length; i++ ) {
module = createModule(getID(packages[i]), getName(packages[i]),
MODULE_TYPE, VERSION, project);
list.add(module);
Object moduleDelegate = new PackagedModuleDelegate();
moduleDelegates.put(module, moduleDelegate);
projectsToModule.put(project, module);
}
return (IModule[]) list.toArray(new IModule[list.size()]);
}
return null;
}
public static String getID(IPackage pack) {
String path = pack.isDestinationInWorkspace() ? pack.getPackageFile().getLocation().toOSString() : pack.getPackageFilePath().toFile().getAbsolutePath();
return pack.getProject().getName() + ":" + path;
//return pack.getProject().getName() + ":" + pack.getPackageFilePath();
}
public static String getName(IPackage pack) {
return pack.getProject().getName() + "/" + pack.getName();
}
public ModuleDelegate getModuleDelegate(IModule module) {
return (ModuleDelegate) moduleDelegates.get(module);
}
protected void clearCache() {
moduleDelegates = new HashMap(5);
projectsToModule = new HashMap(5);
}
public IModule getModuleFromProject(IProject project) {
getModules(); // prime it
return (IModule)projectsToModule.get(project);
}
/**
* Returns the list of resources that the module should listen to
* for state changes. The paths should be project relative paths.
* Subclasses can override this method to provide the paths.
*
* @return a possibly empty array of paths
*/
protected IPath[] getListenerPaths() {
return new IPath[] { new Path(PackagesModel.PROJECT_PACKAGES_FILE) };
}
public class PackagedModuleDelegate extends ModuleDelegate {
public IModule[] getChildModules() {
return new IModule[0];
}
public IModuleResource[] members() throws CoreException {
return new IModuleResource[0];
}
public IStatus validate() {
return new Status(IStatus.OK, JBossServerCorePlugin.PLUGIN_ID,
0, "", null);
}
}
}
More information about the jboss-cvs-commits
mailing list