Package org.eclipse.wst.sse.core.internal.provisional

Examples of org.eclipse.wst.sse.core.internal.provisional.IStructuredModel


       */
      return fCurrentModel.getContentTypeIdentifier();
    }

    String contentTypeId = null;
    IStructuredModel sModel = null;
    try {
      sModel = getStructuredModelForRead(doc);
      if (sModel != null) {
        contentTypeId = sModel.getContentTypeIdentifier();
      }
    }
    finally {
      if (sModel != null)
        sModel.releaseFromRead();
    }
    return contentTypeId;
  }
View Full Code Here


   * Remember to release model after use!!
   *
   * @return
   */
  private IStructuredModel getStructuredModelForRead(IDocument doc) {
    IStructuredModel sModel = null;
    if (doc != null && doc instanceof IStructuredDocument)
      sModel = StructuredModelManager.getModelManager().getModelForRead((IStructuredDocument) doc);
    return sModel;
  }
View Full Code Here

    if (!isInstalled() || isInRewriteSession() || dirtyRegion == null || getDocument() == null)
      return;

    // unhook old lifecycle listener
    if(fCurrentDoc != null) {
      IStructuredModel sModel = null;
      try {
        sModel = getStructuredModelForRead(fCurrentDoc);
       
        // use structured model to determine area to process
        if (sModel != null) {
          int start = dirtyRegion.getOffset();
          int end = start + dirtyRegion.getLength();
          IndexedRegion irStart = sModel.getIndexedRegion(start);
          IndexedRegion irEnd = sModel.getIndexedRegion(end);

          if (irStart != null) {
            start = Math.min(start, irStart.getStartOffset());
          }
          if (irEnd != null) {
            end = Math.max(end, irEnd.getEndOffset());
          }
          super.process(createDirtyRegion(start, end - start, DirtyRegion.INSERT));
        } else {
          super.process(dirtyRegion);
        }
      } finally {
        if(sModel != null) {
          sModel.releaseFromRead();
        }
      }
    } else {
      super.process(dirtyRegion);
    }
View Full Code Here

    /**
     * @see org.eclipse.wst.sse.core.internal.provisional.IModelLifecycleListener#processPreModelEvent(org.eclipse.wst.sse.core.internal.model.ModelLifecycleEvent)
     */
    public void processPreModelEvent(ModelLifecycleEvent event) {
      if(fCurrentDoc != null) {
        IStructuredModel model = null;
        try {
          model = getStructuredModelForRead(fCurrentDoc);
          if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED && event.getModel() == model) {
            changing = event.getModel();
            flushDirtyRegionQueue();
            // note: old annotations are removed via the strategies on
            // AbstractStructuredTextReconcilingStrategy#setDocument(...)
          }
        } finally {
          if(model != null) {
            model.releaseFromRead();
          }
        }
      }
    }
View Full Code Here

   *
   * @param sdRegion
   * @return the corresponding node for sdRegion
   */
  protected IndexedRegion getCorrespondingNode(IStructuredDocumentRegion sdRegion) {
    IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
        IndexedRegion indexedRegion = null;
        try {
            if (sModel != null)
                indexedRegion = sModel.getIndexedRegion(sdRegion.getStart());   
        } finally {
            if (sModel != null)
                sModel.releaseFromRead();
        }
        return indexedRegion;
    }
View Full Code Here

    if ((project != null) && (project.getLocation().isPrefixOf(fullIPath) == false)) {
      // it's at outside of Project
      return null;
    }

    IStructuredModel model = null;
    if (project != null) {
      IPath filePath = fullIPath.removeFirstSegments(project.getLocation().segmentCount());
      IFile file = (filePath != null && !filePath.isEmpty()) ? project.getFile(filePath) : null;
      if (file == null) {
        return null;
      }

      // obtain model
      if (which == GET_MODEL_FOR_EDIT) {
        model = getModelForEdit(file);
      }
      else if (which == GET_MODEL_FOR_READ) {
        model = getModelForRead(file);
      }

      // setting synchronization stamp is IModelManager's client's
      // responsibility
      if (model != null && model.getSynchronizationStamp() == IResource.NULL_STAMP)
        model.resetSynchronizationStamp(file);
    }
    else {
      String id = null;
      InputStream inStream = null;
      // obtain resolver
      URIResolver resolver = (project != null) ? (URIResolver) project.getAdapter(URIResolver.class) : null;
      if (resolver == null) {
        // ProjectResolver can take care of the case if project is
        // null.
        resolver = new ProjectResolver(project);
      }
      if (resolver == null) {
        return null;
      }

      // there is no project. we can't expect IProject help to create
      // id/inputStream
      java.io.File file = fullIPath.toFile();

      // obatin id
      id = calculateId(fullIPath);

      // obtain InputStream
      try {
        inStream = new FileInputStream(file);
      }
      catch (FileNotFoundException fnfe) {
        // the file does not exist, or we don't have read permission
        return null;
      }

      // obtain model
      try {
        if (which == GET_MODEL_FOR_EDIT) {
          model = getModelManager().getModelForEdit(id, inStream, resolver);
        }
        else if (which == GET_MODEL_FOR_READ) {
          model = getModelManager().getModelForRead(id, inStream, resolver);
        }
      }
      catch (UnsupportedEncodingException ue) {
      }
      catch (IOException ioe) {
      }
      finally {
        // close now !
        if (inStream != null) {
          inStream.close();
        }
      }
    }


    // set locationid
    if (model != null && model.getBaseLocation() == null) {
      model.setBaseLocation(fullIPath.toString());
    }

    return model;
  }
View Full Code Here

    if (file == null)
      return null;
    IModelManager manager = getModelManager();

    // create a fake InputStream
    IStructuredModel model = null;
    try {
      model = manager.getModelForEdit(file);
    }
    catch (UnsupportedCharsetException ex) {
      try {
View Full Code Here

    if (file == null)
      return null;
    IModelManager manager = getModelManager();

    // create a fake InputStream
    IStructuredModel model = null;
    try {
      model = manager.getModelForRead(file);
    }
    catch (UnsupportedCharsetException ex) {
      try {
View Full Code Here

      return null;
    IModelManager manager = getModelManager();
    if (manager == null)
      return null;

    IStructuredModel model = null;
    try {
      model = manager.getNewModelForEdit(iFile, false);
    }
    catch (IOException ex) {
    }
View Full Code Here

      return null;
    IModelManager manager = getModelManager();
    if (manager == null)
      return null;

    IStructuredModel model = null;
    try {
      model = manager.getNewModelForEdit(iFile, false);
    }
    catch (IOException ex) {
    }
View Full Code Here

TOP

Related Classes of org.eclipse.wst.sse.core.internal.provisional.IStructuredModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.