diff options
author | amywu | 2006-11-21 00:28:32 +0000 |
---|---|---|
committer | amywu | 2006-11-21 00:28:32 +0000 |
commit | cfaee2de1baf1e956ee88a3827bb7ab72d56aa25 (patch) | |
tree | 58d0dc39f5b550f908da3eb6e701fad3f71dd270 /bundles/org.eclipse.wst.sse.core/src | |
parent | 566dc29128fbd088166f3c689266e57cee1dc03b (diff) | |
download | webtools.sourceediting-cfaee2de1baf1e956ee88a3827bb7ab72d56aa25.tar.gz webtools.sourceediting-cfaee2de1baf1e956ee88a3827bb7ab72d56aa25.tar.xz webtools.sourceediting-cfaee2de1baf1e956ee88a3827bb7ab72d56aa25.zip |
[136902] source validation slows down formatter
Diffstat (limited to 'bundles/org.eclipse.wst.sse.core/src')
3 files changed, 27 insertions, 13 deletions
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/Logger.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/Logger.java index 2b65d7e960..6219ddc721 100644 --- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/Logger.java +++ b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/Logger.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2001, 2004 IBM Corporation and others. + * Copyright (c) 2001, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -46,6 +46,10 @@ public class Logger { */ public static final boolean DEBUG_FILEBUFFERMODELMANAGEMENT = DEBUG && "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/filebuffers/modelmanagement")); //$NON-NLS-1$ //$NON-NLS-2$ /** + * true if platform and plugin are in debug mode and debugging formatting + */ + public static final boolean DEBUG_FORMAT = DEBUG && "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/format")); //$NON-NLS-1$ //$NON-NLS-2$ + /** * true if platform and plugin are in debug mode and debugging text buffer * lifecycle */ diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/format/AbstractStructuredFormatProcessor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/format/AbstractStructuredFormatProcessor.java index 148ec1ef78..bd18d11222 100644 --- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/format/AbstractStructuredFormatProcessor.java +++ b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/format/AbstractStructuredFormatProcessor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2001, 2004 IBM Corporation and others. + * Copyright (c) 2001, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -161,13 +161,15 @@ public abstract class AbstractStructuredFormatProcessor implements IStructuredFo // Note: We are getting model for edit. Will save model if // model changed. structuredModel = StructuredModelManager.getModelManager().getExistingModelForEdit(document); - - // format - formatModel(structuredModel, start, length); - - // save model if needed - if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded()) - structuredModel.save(); + + if (structuredModel != null) { + // format + formatModel(structuredModel, start, length); + + // save model if needed + if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded()) + structuredModel.save(); + } } finally { // ensureClosed(outputStream, null); @@ -301,6 +303,9 @@ public abstract class AbstractStructuredFormatProcessor implements IStructuredFo public void formatModel(IStructuredModel structuredModel, int start, int length) { if (structuredModel != null) { + // for debugging purposes + long startTime = System.currentTimeMillis(); + IDocumentExtension4 docExt4 = null; if (structuredModel.getStructuredDocument() instanceof IDocumentExtension4) { docExt4 = (IDocumentExtension4) structuredModel.getStructuredDocument(); @@ -368,6 +373,11 @@ public abstract class AbstractStructuredFormatProcessor implements IStructuredFo structuredModel.changedModel(); } } + + if (Logger.DEBUG_FORMAT) { + long endTime = System.currentTimeMillis(); + System.out.println("formatModel time: " + (endTime - startTime)); //$NON-NLS-1$ + } } } diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/model/AbstractStructuredModel.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/model/AbstractStructuredModel.java index 805324500a..1bf561d19c 100644 --- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/model/AbstractStructuredModel.java +++ b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/model/AbstractStructuredModel.java @@ -319,7 +319,7 @@ public abstract class AbstractStructuredModel implements IStructuredModel { if (fLockObject != null && fLockObject != documentLock) { fLockObject.release(); - if (Logger.DEBUG) { + if (Logger.DEBUG_MODELSTATE) { Logger.log(Logger.INFO, "Model lock released early" + fLockObject + " apparently document switched?"); //$NON-NLS-1$ //$NON-NLS-2$ } @@ -327,7 +327,7 @@ public abstract class AbstractStructuredModel implements IStructuredModel { fLockObject = documentLock; if (fLockObject != null) { fLockObject.acquire(); - if (Logger.DEBUG) { + if (Logger.DEBUG_MODELSTATE) { Logger.log(Logger.INFO, "Model lock acquired: " + fLockObject); //$NON-NLS-1$ } } @@ -478,7 +478,7 @@ public abstract class AbstractStructuredModel implements IStructuredModel { protected final void endLock() { if (fLockObject != null) { fLockObject.release(); - if (Logger.DEBUG) { + if (Logger.DEBUG_MODELSTATE) { Logger.log(Logger.INFO, "Model lock released: " + fLockObject); //$NON-NLS-1$ } @@ -1008,7 +1008,7 @@ public abstract class AbstractStructuredModel implements IStructuredModel { } } else { - if (Logger.DEBUG) { + if (Logger.DEBUG_MODELSTATE) { Logger.log(Logger.INFO, "indeed!!!"); //$NON-NLS-1$ } } |