[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model ...
Robert Stryker
rob.stryker at jboss.com
Fri Apr 20 19:45:15 EDT 2007
User: rawb
Date: 07/04/20 19:45:15
Modified: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model
DescriptorModel.java
Added: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model
ArchivesBuildListener.java
Removed: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model
PackagesListener.java
Log:
It Compiles! Not sure on if it *works* yet
Revision Changes Path
1.12 +0 -5 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model/DescriptorModel.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DescriptorModel.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model/DescriptorModel.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- DescriptorModel.java 7 Mar 2007 22:14:48 -0000 1.11
+++ DescriptorModel.java 20 Apr 2007 23:45:15 -0000 1.12
@@ -45,7 +45,6 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
import org.jboss.ide.eclipse.as.core.util.SimpleTreeItem;
public class DescriptorModel {
@@ -122,8 +121,6 @@
}
- private static final String IGNORED_DESCRIPTOR_FOLDERS = "_IGNORED_DESCRIPTOR_FOLDERS_";
-
/*
* Do preference stuff here to see if the directory is ignored.
*/
@@ -372,12 +369,10 @@
}
public String elementAsXML() {
- DefaultElement element = ((DefaultElement)getData());
return ((DefaultElement)getData()).asXML();
}
public String getElementName() {
- DefaultElement element = ((DefaultElement)getData());
return ((DefaultElement)getData()).getName();
}
1.1 date: 2007/04/20 23:45:15; author: rawb; state: Exp;jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model/ArchivesBuildListener.java
Index: ArchivesBuildListener.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.model;
import java.util.ArrayList;
import org.eclipse.core.resources.IProject;
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.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.ServerCore;
import org.eclipse.wst.server.core.internal.ModuleFactory;
import org.eclipse.wst.server.core.internal.ServerPlugin;
import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
import org.jboss.ide.eclipse.archives.core.model.ArchivesCore;
import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveBuildListener;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.util.ModelUtil;
import org.jboss.ide.eclipse.as.core.module.PackageModuleFactory;
import org.jboss.ide.eclipse.as.core.module.PackageModuleFactory.PackagedModuleDelegate;
import org.jboss.ide.eclipse.as.core.server.attributes.IDeployableServer;
import org.jboss.ide.eclipse.as.core.server.stripped.DeployableServerBehavior;
import org.jboss.ide.eclipse.as.core.util.FileUtil;
/**
*
* @author rob.stryker at jboss.com
*/
public class ArchivesBuildListener implements IArchiveBuildListener {
public static ArchivesBuildListener instance;
public static final String DEPLOY_SERVERS = "org.jboss.ide.eclipse.as.core.model.PackagesListener.DeployServers";
public static final String DEPLOY_AFTER_BUILD = "org.jboss.ide.eclipse.as.core.model.PackagesListener.DeployAfterBuild";
public static ArchivesBuildListener getInstance() {
if( instance == null ) {
instance = new ArchivesBuildListener();
}
return instance;
}
public ArchivesBuildListener() {
ArchivesCore.getInstance().addBuildListener(this);
}
public void startedBuildingPackage(IArchive pkg) {
System.out.println("starting pkg: " + pkg.getName());
}
public void fileRemoved(IArchive topLevelPackage, IArchiveFileSet fileset, IPath filePath) {
// make absolute
IPath filePath2 = makeAbsolute(filePath, fileset); // change
PackagedModuleDelegate del = getModuleDelegate(topLevelPackage);
del.fileRemoved(filePath2);
}
public void fileUpdated(IArchive topLevelPackage, IArchiveFileSet fileset, IPath filePath) {
// make absolute
IPath filePath2 = makeAbsolute(filePath, fileset); // change
PackagedModuleDelegate del = getModuleDelegate(topLevelPackage);
del.fileUpdated(filePath2);
}
public IPath makeAbsolute(IPath local, IArchiveFileSet fileset) {
IPath file = ModelUtil.getBaseFile(fileset, local);
return file;
}
public void finishedBuildingPackage(IArchive pkg) {
System.out.println("finishedBuildingPackage started: " + pkg.getName());
if( pkg.isTopLevel() && new Boolean(pkg.getProperty(DEPLOY_AFTER_BUILD)).booleanValue()) {
publish(pkg);
}
System.out.println("done publishing from finishedBuildingPackage: " + pkg.getName());
}
// If we're supposed to auto-deploy, get on it
protected static void publish(IArchive pkg) {
String servers = pkg.getProperty(ArchivesBuildListener.DEPLOY_SERVERS);
publish(pkg, servers, IServer.PUBLISH_INCREMENTAL);
}
public static void publish(IArchive pkg, String servers, int publishType) {
IModule[] module = getModule(pkg);
if( module[0] == null ) return;
DeployableServerBehavior[] serverBehaviors = ArchivesBuildListener.getServers(servers);
if( serverBehaviors != null ) {
for( int i = 0; i < serverBehaviors.length; i++ ) {
serverBehaviors[i].publishOneModule(publishType, module, ServerBehaviourDelegate.CHANGED, new NullProgressMonitor());
}
}
}
protected static IModule[] getModule(IArchive node) {
ModuleFactory factory = ServerPlugin.findModuleFactory("org.jboss.ide.eclipse.as.core.PackageModuleFactory");
IModule mod = factory.getModule(PackageModuleFactory.getID(node));
return new IModule[] { mod };
}
protected static PackagedModuleDelegate getModuleDelegate(IArchive node) {
IModule mod = getModule(node)[0];
return (PackagedModuleDelegate)mod.loadAdapter(PackagedModuleDelegate.class, new NullProgressMonitor());
}
protected IDeployableServer getDeployableServerFromBehavior(DeployableServerBehavior dsb) {
IServer server = dsb.getServer();
IDeployableServer ids = (IDeployableServer)server.loadAdapter(IDeployableServer.class, new NullProgressMonitor());
return ids;
}
public static DeployableServerBehavior[] getServers(String servers) {
if( servers == null || "".equals(servers))
return null;
ArrayList list = new ArrayList();
String[] byId = servers.split(",");
for( int i = 0; i < byId.length; i++ ) {
IServer server = ServerCore.findServer(byId[i]);
if( server != null ) {
Object o = server.loadAdapter(DeployableServerBehavior.class, new NullProgressMonitor());
if( o != null ) {
list.add((DeployableServerBehavior)o);
}
}
}
return (DeployableServerBehavior[]) list.toArray(new DeployableServerBehavior[list.size()]);
}
/*
* If a node is changing from exploded to imploded, or vice versa
* make sure to delete the pre-existing file or folder on the server.
*/
public void packageBuildTypeChanged(IArchive topLevelPackage, boolean isExploded) {
String servers = topLevelPackage.getProperty(ArchivesBuildListener.DEPLOY_SERVERS);
DeployableServerBehavior[] serverBehaviors = ArchivesBuildListener.getServers(servers);
if( serverBehaviors != null ) {
IPath sourcePath, destPath;
IDeployableServer depServer;
for( int i = 0; i < serverBehaviors.length; i++ ) {
sourcePath = topLevelPackage.getArchiveFilePath();
depServer = getDeployableServerFromBehavior(serverBehaviors[i]);
destPath = new Path(depServer.getDeployDirectory()).append(sourcePath.lastSegment());
FileUtil.safeDelete(destPath.toFile());
FileUtil.fileSafeCopy(sourcePath.toFile(), destPath.toFile());
}
}
}
public void buildFailed(IArchive pkg, IStatus status) {
// TODO Auto-generated method stub
}
public void finishedBuild(IProject project) {
// TODO Auto-generated method stub
}
public void finishedBuildingArchive(IArchive pkg) {
// TODO Auto-generated method stub
}
public void finishedCollectingFileSet(IArchiveFileSet fileset) {
// TODO Auto-generated method stub
}
public void startedBuild(IProject project) {
// TODO Auto-generated method stub
}
public void startedBuildingArchive(IArchive pkg) {
// TODO Auto-generated method stub
}
public void startedCollectingFileSet(IArchiveFileSet fileset) {
// TODO Auto-generated method stub
}
}
More information about the jboss-cvs-commits
mailing list