From: Robert S. <ra...@gm...> - 2006-07-10 15:49:53
|
User: rawb Date: 06/07/10 11:49:49 Modified: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/publishers PackagedPublisher.java JstPublisher.java Log: Better logging to the publishers Revision Changes Path 1.3 +32 -17 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/publishers/PackagedPublisher.java (In the diff below, changes in quantity of whitespace are not shown.) Index: PackagedPublisher.java =================================================================== RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/publishers/PackagedPublisher.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- PackagedPublisher.java 9 Jun 2006 20:02:00 -0000 1.2 +++ PackagedPublisher.java 10 Jul 2006 15:49:49 -0000 1.3 @@ -25,6 +25,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; import org.eclipse.jst.server.tomcat.core.internal.FileUtil; import org.eclipse.wst.server.core.IModule; @@ -33,10 +34,12 @@ import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; import org.jboss.ide.eclipse.as.core.model.ModuleModel; import org.jboss.ide.eclipse.as.core.model.ServerProcessLog; +import org.jboss.ide.eclipse.as.core.model.ServerProcessLog.ExceptionLogEvent; import org.jboss.ide.eclipse.as.core.model.ServerProcessLog.ProcessLogEvent; import org.jboss.ide.eclipse.as.core.module.factory.JBossModuleDelegate; import org.jboss.ide.eclipse.as.core.server.JBossServer; import org.jboss.ide.eclipse.as.core.server.JBossServerBehavior; +import org.jboss.ide.eclipse.as.core.server.JBossServerBehavior.PublishLogEvent; import org.jboss.ide.eclipse.as.core.util.ASDebug; public class PackagedPublisher implements IJbossServerPublisher { @@ -46,10 +49,15 @@ private JBossServerBehavior behavior; private int publishState; + public static final String TARGET_FILENAME = "_TARGET_FILENAME_"; + public static final String SOURCE_FILENAME = "_SOURCE_FILENAME_"; + public static final String DEST_FILENAME = "_DEST_FILENAME_"; + + public PackagedPublisher(JBossServer server, JBossServerBehavior behavior) { this.server = server; this.behavior = behavior; - this.log = new ServerProcessLog.ProcessLogEvent("Parent", ProcessLogEvent.UNKNOWN); + this.log = new ServerProcessLog.ProcessLogEvent(ProcessLogEvent.UNKNOWN); publishState = IServer.PUBLISH_STATE_UNKNOWN; } @@ -121,9 +129,13 @@ Object o; JBossModuleDelegate delegate; + PublishLogEvent event = new PublishLogEvent(PublishLogEvent.UNPUBLISH); + log.addChild(event); + + for( int i = 0; i < module.length; i++ ) { // delete this module - String deployDirectory = server.getRuntimeConfiguration().getDeployDirectory(); + String deployDirectory = server.getAttributeHelper().getDeployDirectory(); o = module[i].getAdapter(JBossModuleDelegate.class); if( o == null ) { o = module[i].loadAdapter(JBossModuleDelegate.class, null); @@ -136,20 +148,19 @@ ASDebug.p("Deleting fine from server: " + dest, this); try { Path destName = new Path(dest); - String config = server.getRuntimeConfiguration().getJbossConfiguration(); + String config = server.getAttributeHelper().getJbossConfiguration(); - log.addChild("Removing " + destName.lastSegment() + " from the " + - config + "/deploy directory", ProcessLogEvent.SERVER_UNPUBLISH ); + File destFile = new File(dest); + event.setProperty(PublishLogEvent.MODULE_NAME, destName.lastSegment()); + event.setProperty(TARGET_FILENAME, destFile.getAbsolutePath()); - File destFile = new File(dest); destFile.delete(); // tell the model you're aware of the change - ModuleModel.getDefault().getDeltaModel().setDeltaSeen(module[i], server.getServer().getId()); + //ModuleModel.getDefault().getDeltaModel().setDeltaSeen(module[i], server.getServer().getId()); } catch( Exception e ) { - ASDebug.p("ERROR in unpublish", this); - e.printStackTrace(); + event.addChild(new ExceptionLogEvent(e)); } } publishState = IServer.PUBLISH_STATE_NONE; @@ -160,7 +171,10 @@ JBossModuleDelegate delegate = null; Object o = null; - String deployDirectory = server.getRuntimeConfiguration().getDeployDirectory(); + String deployDirectory = server.getAttributeHelper().getDeployDirectory(); + + PublishLogEvent event = new PublishLogEvent(PublishLogEvent.PUBLISH); + log.addChild(event); // Ignore anything that's not a jbossmodule for( int i = 0; i < module.length; i++ ) { @@ -176,18 +190,19 @@ String dest = new Path(deployDirectory).append(delegate.getResourceName()).toOSString(); Path srcName = new Path(src); - String config = server.getRuntimeConfiguration().getJbossConfiguration(); + String config = server.getAttributeHelper().getJbossConfiguration(); - log.addChild("Copying " + srcName.lastSegment() + " to the " + - config + "/deploy directory", ProcessLogEvent.SERVER_PUBLISH ); + event.setProperty(PublishLogEvent.MODULE_NAME, srcName.lastSegment()); + event.setProperty(SOURCE_FILENAME, srcName); + event.setProperty(DEST_FILENAME, dest); - FileUtil.copyFile(src, dest); + IStatus status = FileUtil.copyFile(src, dest); + if( status.getSeverity() == IStatus.ERROR ) + event.addChild(new ExceptionLogEvent(status.getException())); // tell everyone we need no more changes right now ModuleModel.getDefault().getDeltaModel().setDeltaSeen(module[i], server.getServer().getId()); - - ASDebug.p("publishing module: " + module[i].getId(), this); } publishState = IServer.PUBLISH_STATE_NONE; } 1.4 +28 -11 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/publishers/JstPublisher.java (In the diff below, changes in quantity of whitespace are not shown.) Index: JstPublisher.java =================================================================== RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/publishers/JstPublisher.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- JstPublisher.java 12 Jun 2006 01:15:59 -0000 1.3 +++ JstPublisher.java 10 Jul 2006 15:49:49 -0000 1.4 @@ -43,7 +43,6 @@ import org.eclipse.jst.server.core.IEnterpriseApplication; import org.eclipse.jst.server.core.IWebModule; import org.eclipse.jst.server.core.PublishUtil; -import org.eclipse.jst.server.core.internal.JavaServerPlugin; import org.eclipse.jst.server.generic.core.internal.publishers.AbstractModuleAssembler; import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants; import org.eclipse.wst.server.core.IModule; @@ -54,9 +53,11 @@ import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; import org.eclipse.wst.server.core.util.ProjectModule; import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin; +import org.jboss.ide.eclipse.as.core.model.ModuleModel; import org.jboss.ide.eclipse.as.core.model.ServerProcessLog; import org.jboss.ide.eclipse.as.core.model.ServerProcessLog.ProcessLogEvent; import org.jboss.ide.eclipse.as.core.server.JBossServer; +import org.jboss.ide.eclipse.as.core.server.JBossServerBehavior.PublishLogEvent; import org.jboss.ide.eclipse.as.core.util.ASDebug; import org.osgi.framework.Bundle; @@ -67,17 +68,26 @@ public static final int BUILD_AND_PUBLISH = 3; public static final int UNDEPLOY = 4; + public static final String BUILD_PROPERTIES = "_BUILD_PROPERTIES_"; + public static final String BUILD_FILE = "_BUILD_FILE_"; + public static final String ANT_TARGETS = "_ANT_TARGETS_"; + public static final String MODULE_TYPE = "_MODULE_TYPE_"; + private int state; private JBossServer server; private ProcessLogEvent log; + private PublishLogEvent event; + public JstPublisher(JBossServer server) { this.server = server; state = IServer.PUBLISH_STATE_UNKNOWN; - this.log = new ServerProcessLog.ProcessLogEvent("Parent", ProcessLogEvent.UNKNOWN); + this.log = new ServerProcessLog.ProcessLogEvent(ProcessLogEvent.UNKNOWN); } public void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor monitor) throws CoreException { + // delta = [no_change, added, changed, removed] = [0,1,2,3] + // kind = [incremental, full, auto, clean] = [1,2,3,4] ASDebug.p("Publishing with kind,deltakind = " + kind + "," + deltaKind, this); checkClosed(module); if(ServerBehaviourDelegate.REMOVED == deltaKind){ @@ -89,6 +99,7 @@ JBossAntPublisher publisher = new JBossAntPublisher(); publisher.initialize(module,server); publisher.publish(monitor); + ModuleModel.getDefault().getDeltaModel().setDeltaSeen(module[0], server.getServer().getId()); } } @@ -134,6 +145,10 @@ assembleType = OTHER; } + event = new PublishLogEvent(PublishLogEvent.PUBLISH); + event.setProperty(PublishLogEvent.MODULE_NAME, module[0].getName()); + log.addChild(event); + event.setProperty(MODULE_TYPE, module[0].getModuleType().getId()); } } @@ -145,16 +160,19 @@ public IStatus[] publish(IProgressMonitor monitor) throws CoreException { - log.addChild("Build and Publish JST module: " + module[0].getName(), ProcessLogEvent.SERVER_PUBLISH); assemble(monitor); String file = computeBuildFile(); runAnt(file, BUILD_AND_PUBLISH, monitor); state = IServer.PUBLISH_STATE_NONE; + + return null; } public IStatus[] unpublish(IProgressMonitor monitor) throws CoreException { - log.addChild("Undeploy JST module: " + module[0].getName(), ProcessLogEvent.SERVER_UNPUBLISH); + event = new PublishLogEvent(PublishLogEvent.UNPUBLISH); + event.setProperty(PublishLogEvent.MODULE_NAME, module[0].getName()); + log.addChild(event); String file = computeBuildFile(); runAnt(file, UNDEPLOY, monitor); return null; @@ -169,14 +187,12 @@ props.put("project.working.dir", getProjectWorkingLocation().toString()); props.put("module.name", module[0].getName()); props.put("module.dir", getModuleWorkingDir().toString()); - props.put("server.publish.dir", jbServer.getRuntimeConfiguration().getDeployDirectory()); + props.put("server.publish.dir", jbServer.getAttributeHelper().getDeployDirectory()); + -// String args = getArguments(module[0]); -// AntRunner runner = new AntRunner(); -// runner.setBuildFileLocation(file); -// runner.setExecutionTargets(targets); -// runner.setArguments(args); -// runner.run(); + // Log + event.setProperty(ANT_TARGETS, targets); + event.setProperty(BUILD_PROPERTIES, props); ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); @@ -243,6 +259,7 @@ Bundle pluginBundle = JBossServerCorePlugin.getDefault().getBundle(); try { URL url = FileLocator.resolve(pluginBundle.getEntry("/META-INF/jboss.publish.xml")); + event.setProperty(BUILD_FILE, url.toString()); return url.getFile(); } catch( Exception e ) { } |