# HG changeset patch # User Eugene Ostroukhov # Date 1271269046 25200 # Node ID d92630dec325acc762157afa2c10bfaca338906e # Parent a619b3ef30957048c98380b47ed1e81498ccd264 Refactoring server-side preview code diff -r a619b3ef3095 -r d92630dec325 org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/ResourcesChangeListener.java --- a/org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/ResourcesChangeListener.java Tue Apr 13 16:04:08 2010 -0700 +++ b/org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/ResourcesChangeListener.java Wed Apr 14 11:17:26 2010 -0700 @@ -18,57 +18,24 @@ */ package org.symbian.tools.wrttools.debug.internal.launch; -import java.util.Collection; -import java.util.HashSet; - -import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResourceChangeEvent; import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceDeltaVisitor; import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchManager; import org.eclipse.jface.dialogs.MessageDialogWithToggle; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.PlatformUI; import org.symbian.tools.wrttools.debug.internal.Activator; import org.symbian.tools.wrttools.debug.internal.IConstants; +import org.symbian.tools.wrttools.previewer.PreviewerUtil; public class ResourcesChangeListener implements IResourceChangeListener { - public class ProjectListGatherer implements IResourceDeltaVisitor { - public final Collection projects = new HashSet(); - private final ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - - public boolean visit(IResourceDelta delta) throws CoreException { - int d = delta.getFlags() - & (IResourceDelta.CONTENT | IResourceDelta.OPEN | IResourceDelta.MOVED_TO - | IResourceDelta.MOVED_FROM | IResourceDelta.SYNC | IResourceDelta.REPLACED); - if (delta.getKind() != IResourceDelta.CHANGED || d != 0) { - IProject project = delta.getResource().getProject(); - if (DebugUtil.isProjectDebugged(project, launchManager, null)) { - projects.add(project); - } - return false; - } - return true; - } - - } - public void resourceChanged(IResourceChangeEvent event) { if (event.getDelta() != null && !MessageDialogWithToggle.ALWAYS.equals(Activator.getDefault().getPreferenceStore().getString( IConstants.PREF_SHOW_RESOURCE_CHANGE_ERROR))) { - ProjectListGatherer gatherer = new ProjectListGatherer(); - try { - event.getDelta().accept(gatherer); - } catch (CoreException e) { - Activator.log(e); - } - int size = gatherer.projects.size(); - if (size > 0) { + IFile[] changes = PreviewerUtil.getWebChanges(event.getDelta()); + if (changes.length > 0) { Display.getDefault().asyncExec(new Runnable() { public void run() { String message = "Debug browser is not updated when the files are updated. You may notice discrepancies between your workspace contents and debug session. You should either refresh the browser or restart debugging session to see the latest changes made to the workspace."; diff -r a619b3ef3095 -r d92630dec325 org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/WidgetLaunchDelegate.java --- a/org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/WidgetLaunchDelegate.java Tue Apr 13 16:04:08 2010 -0700 +++ b/org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/WidgetLaunchDelegate.java Wed Apr 14 11:17:26 2010 -0700 @@ -78,11 +78,10 @@ } private URI prepareDebugger(IProject project, boolean debug, final ILaunch launch, final int port) { + DebugConnectionJob job = null; if (debug) { - final DebugConnectionJob job = new DebugConnectionJob(project, port, launch); - return PreviewerPlugin.getDefault().getHttpPreviewer().previewProject(project, job); - } else { - return PreviewerPlugin.getDefault().getHttpPreviewer().previewProject(project); + job = new DebugConnectionJob(project, port, launch); } + return PreviewerPlugin.getDefault().getHttpPreviewer().previewProject(project, job); } } diff -r a619b3ef3095 -r d92630dec325 org.symbian.tools.wrttools.previewer/preview/wrt_preview.html --- a/org.symbian.tools.wrttools.previewer/preview/wrt_preview.html Tue Apr 13 16:04:08 2010 -0700 +++ b/org.symbian.tools.wrttools.previewer/preview/wrt_preview.html Wed Apr 14 11:17:26 2010 -0700 @@ -70,7 +70,7 @@