public IDocument getDocument() { if (_model != null) { return _model.getStructuredDocument(); } return null; }
public void modelAboutToBeChanged(IStructuredModel model) { if (model.getStructuredDocument() != null) aboutToChangeNode = model.getStructuredDocument().getFirstStructuredDocumentRegion(); }
protected void updateStructuredDocumentRegion() { fStructuredDocumentRegion = fStructuredModel.getStructuredDocument().getRegionAtCharacterOffset(fCaretPosition); if (fStructuredDocumentRegion != null) { fStructuredDocumentRegionText = fStructuredDocumentRegion.getText(); } else { fStructuredDocumentRegionText = ""; //$NON-NLS-1$ } }
/** * This is public access method, used especially from loader, for JSP * Fragment support. */ public void setLanguage(String newLanguage) { this.cachedLanguage = newLanguage; IDocumentPartitioner partitioner = ((IDocumentExtension3) model.getStructuredDocument()).getDocumentPartitioner(IStructuredPartitioning.DEFAULT_STRUCTURED_PARTITIONING); if (partitioner instanceof StructuredTextPartitionerForJSP) { ((StructuredTextPartitionerForJSP) partitioner).setLanguage(newLanguage); } }
public void formatModel(IStructuredModel structuredModel) { int start = 0; int length = structuredModel.getStructuredDocument().getLength(); formatModel(structuredModel, start, length); }
public void cleanupModel(IStructuredModel structuredModel) { int start = 0; int length = structuredModel.getStructuredDocument().getLength(); cleanupModel(structuredModel, start, length); }
void performValidation(IFile f, IReporter reporter, IStructuredModel model) { fTaglibPrefixes.clear(); int length = model.getStructuredDocument().getLength(); performValidation(f, reporter, model, new Region(0, length)); }
/** */ public void replaceSource(IStructuredModel model, int offset, int length, String source) { if (model == null) return; IStructuredDocument structuredDocument = model.getStructuredDocument(); if (structuredDocument == null) return; if (offset >= 0 && length >= 0 && offset + length <= structuredDocument.getLength()) { if (structuredDocument.containsReadOnly(offset, length)) return; if (source == null) source = new String(); // We use 'structuredDocument' as the requester object just so // this and the other // format-related 'repalceText' (in replaceSource) can use the // same requester. // Otherwise, if requester is not identical, // the undo group gets "broken" into multiple pieces based // on the requesters being different. Technically, any unique, // common // requester object would work. structuredDocument.replaceText(structuredDocument, offset, length, source); } }
private void performValidation(IFile f, IReporter reporter, IStructuredModel model) { if (!reporter.isCancelled()) fJSPJavaValidator.performValidation(f, reporter, model); if (!reporter.isCancelled()) fJSPDirectiveValidator.performValidation(f, reporter, model.getStructuredDocument()); if (!reporter.isCancelled()) fJSPELValidator.performValidation(f, reporter, model.getStructuredDocument()); if (!reporter.isCancelled()) fJSPActionValidator.performValidation(f, reporter, model); }
public void modelChanged(IStructuredModel model) { if (isBatchChanges) return; try { if (aboutToChangeNode != null && model.getStructuredDocument() != null && model.getStructuredDocument().getFirstStructuredDocumentRegion() != aboutToChangeNode) { String id = getModelManagerId(); IStructuredModel tempModel = null; try { tempModel = getModelManager().getExistingModelForEdit(id); xmlModelReverted = true; resource.unload(); } finally { if (tempModel != null) { tempModel.releaseFromEdit(); } } } } finally { aboutToChangeNode = null; } }
/** * Method getLanguage. * * @param model * @return String */ private String getLanguage(IStructuredModel model) { String result = null; // first check the model (document itself) to see if contains result = getLanguageFromStructuredDocument(model.getStructuredDocument()); // Note: if model contains an unsupported // language, we'll even return it, // since who knows what future holds. // get default language specified in properties page IFile file = getFile(model); result = JSPFContentProperties.getProperty(JSPFContentProperties.JSPLANGUAGE, file, true); // always return something if (result == null) { result = DEFAULT_LANGUAGE; } return result; }
private void processDirective(IReporter reporter, IFile file, IStructuredModel model, IStructuredDocumentRegion documentRegion) { IndexedRegion ir = model.getIndexedRegion(documentRegion.getStartOffset()); if (ir instanceof IDOMElement) { IDOMElement element = (IDOMElement) ir; ModelQuery query = ModelQueryUtil.getModelQuery(model); if (query != null) { CMElementDeclaration cmElement = query.getCMElementDeclaration(element); if (cmElement != null) { CMNamedNodeMap cmAttributes = cmElement.getAttributes(); boolean foundjspattribute = checkUnknownAttributes(element, cmAttributes, reporter, file, model.getStructuredDocument(), documentRegion); // required attributes could be hidden in jsp regions in // tags, so if jsp regions were detected, do not check for // missing required attributes if (!foundjspattribute) checkRequiredAttributes(element, cmAttributes, reporter, file, model.getStructuredDocument(), documentRegion); } } } }
protected void validateFile(IFile file, IReporter reporter) { if (DEBUG) { Logger.log(Logger.INFO, getClass().getName() + " validating: " + file); //$NON-NLS-1$ } IStructuredModel model = null; try { model = StructuredModelManager.getModelManager().getModelForRead(file); if (!reporter.isCancelled() && model != null) { performValidation(file, reporter, model.getStructuredDocument()); } } catch (Exception e) { Logger.logException(e); } finally { if (null != model) model.releaseFromRead(); } }
/** * batch validation call */ protected void validateFile(IFile f, IReporter reporter) { if (DEBUG) { Logger.log(Logger.INFO, getClass().getName() + " validating: " + f); //$NON-NLS-1$ } IStructuredModel sModel = null; try { sModel = StructuredModelManager.getModelManager().getModelForRead(f); if (sModel != null && !reporter.isCancelled()) { performValidation(f, reporter, sModel.getStructuredDocument()); } } catch (Exception e) { Logger.logException(e); } finally { if (sModel != null) sModel.releaseFromRead(); } } }
private void setModel(IStructuredModel structuredModel) { if (fModel == structuredModel) return; if (fModel != null) { fModel.removeModelStateListener(fInternalModelStateListener); // IStructuredDocument structuredDocument = fModel.getStructuredDocument(); if (structuredDocument != null) { structuredDocument.removeDocumentListener(fInternalDocumentListener); structuredDocument.removeDocumentAboutToChangeListener(fInternalStructuredDocumentAboutToChange); structuredDocument.removeDocumentChangedListener(fInternalStructuredDocumentListener); } } fModel = structuredModel; if (fModel != null) { fModel.addModelStateListener(fInternalModelStateListener); // IStructuredDocument structuredDocument = fModel.getStructuredDocument(); if (structuredDocument != null) { structuredDocument.addDocumentListener(fInternalDocumentListener); structuredDocument.addDocumentAboutToChangeListener(fInternalStructuredDocumentAboutToChange); structuredDocument.addDocumentChangedListener(fInternalStructuredDocumentListener); } } } }
result = new StringBuffer(); result .append(this.getModel().getStructuredDocument() .getText());
protected void performValidation(IFile f, IReporter reporter, IStructuredModel model, IRegion validateRegion) { IStructuredDocument sDoc = model.getStructuredDocument(); // iterate all document regions IStructuredDocumentRegion region = sDoc.getRegionAtCharacterOffset(validateRegion.getOffset()); while (region != null && !reporter.isCancelled() && (region.getStartOffset() <= (validateRegion.getOffset() + validateRegion.getLength()))) { if (region.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) { // only checking directives processDirective(reporter, f, model, region); fTaglibPrefixes.clear(); } else if (region.getType() == DOMRegionContext.XML_TAG_NAME) { // and jsp tags String tagName = getStartTagName(region); int colonPosition = tagName.indexOf(':'); if (colonPosition > -1) { // get tag's prefix and check if it's really a jsp action // tag String prefix = tagName.substring(0, colonPosition); if (getTaglibPrefixes(sDoc).contains(prefix)) processDirective(reporter, f, model, region); } } region = region.getNext(); } }
SourceViewer doCreateViewer(Composite parent, SourceViewerConfiguration viewerConfiguration) { SourceViewer viewer = null; String contentTypeID = ContentTypeIdForXML.ContentTypeID_XML; viewer = new StructuredTextViewer(parent, null, null, false, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); ((StructuredTextViewer) viewer).getTextWidget().setFont(JFaceResources.getFont("org.eclipse.wst.sse.ui.textfont")); //$NON-NLS-1$ IStructuredModel scratchModel = StructuredModelManager.getModelManager().createUnManagedStructuredModelFor(contentTypeID); IDocument document = scratchModel.getStructuredDocument(); viewer.configure(viewerConfiguration); viewer.setDocument(document); return viewer; }
/** * Creates, configures and returns a source viewer to present the template * pattern on the preference page. Clients may override to provide a * custom source viewer featuring e.g. syntax coloring. * * @param parent * the parent control * @return a configured source viewer */ private SourceViewer createViewer(Composite parent) { SourceViewerConfiguration sourceViewerConfiguration = new StructuredTextViewerConfiguration() { StructuredTextViewerConfiguration baseConfiguration = new StructuredTextViewerConfigurationXML(); public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) { return baseConfiguration.getConfiguredContentTypes(sourceViewer); } public LineStyleProvider[] getLineStyleProviders(ISourceViewer sourceViewer, String partitionType) { return baseConfiguration.getLineStyleProviders(sourceViewer, partitionType); } }; SourceViewer viewer = new StructuredTextViewer(parent, null, null, false, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); ((StructuredTextViewer) viewer).getTextWidget().setFont(JFaceResources.getFont("org.eclipse.wst.sse.ui.textfont")); //$NON-NLS-1$ IStructuredModel scratchModel = StructuredModelManager.getModelManager().createUnManagedStructuredModelFor(ContentTypeIdForXML.ContentTypeID_XML); IDocument document = scratchModel.getStructuredDocument(); viewer.configure(sourceViewerConfiguration); viewer.setDocument(document); return viewer; }
/** * Translate ValidationMessage to IMessage and generate result log */ private IMessage translateMessage(ValidationMessage message) { int severity = IMessage.LOW_SEVERITY; switch (message.getSeverity()) { case ValidationMessage.ERROR : severity = IMessage.HIGH_SEVERITY; break; case ValidationMessage.WARNING : severity = IMessage.NORMAL_SEVERITY; break; default : break; } IMessage mes = new LocalizedMessage(severity, message.getMessage(), this.file); mes.setOffset(message.getOffset()); mes.setLength(message.getLength()); if (this.model != null) { IStructuredDocument flatModel = this.model.getStructuredDocument(); if (flatModel != null) { int line = flatModel.getLineOfOffset(message.getOffset()); mes.setLineNo(line + 1); } } return mes; } }