Examples of PageDirectiveAdapter


Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

      Node ownerNode = node.getOwnerDocument();
      if (ownerNode == null) {
        // then must be the document itself
        ownerNode = node;
      }
      PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) ownerNode).getAdapterFor(PageDirectiveAdapter.class);
      if (pageDirectiveAdapter != null) {

        String effectiveContentType = null;
        ModelQuery potentialModelQueryObject = null;

        String familyId = pageDirectiveAdapter.getEmbeddedType().getFamilyId();
        if (ContentTypeFamilyForHTML.HTML_FAMILY.equals(familyId)) {
          effectiveContentType = "text/html";
        }
        else {
          effectiveContentType = pageDirectiveAdapter.getContentType();
        }
       
        potentialModelQueryObject = (ModelQuery) embeddedModelQueries.get(effectiveContentType);
       
        if (potentialModelQueryObject == null) {
          ModelQueryAdapter embeddedAdapter = (ModelQueryAdapter) pageDirectiveAdapter.adapt((INodeNotifier) node, ModelQueryAdapter.class);
          if (embeddedAdapter != null) {
            // we will cache one model query per content type
            embeddedModelQuery = embeddedAdapter.getModelQuery();
            embeddedModelQueries.put(effectiveContentType, embeddedModelQuery);
          }
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

    // set yet,
    // and all factories must have been set up also.
    IDOMModel domModel = (IDOMModel) model;
    IStructuredDocument structuredDocument = model.getStructuredDocument();
    IDOMDocument document = domModel.getDocument();
    PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
    // ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
    // ((INodeNotifier)
    // document).getExistingAdapter(PropagatingAdapter.class);
    // ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
    // ((INodeNotifier)
    // document).getExistingAdapter(ModelQueryAdapter.class);
    oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
    oldEmbeddedContentType.uninitializeParser(structuredDocument.getParser());
    // since 'document' is not recreated in this
    // reinit path, we need to remove all adapters,
    // except for the propagated adapters (including page
    // directive adapter, and model query adapter).
    // to accomplish this, we'll just remove all, then
    // add back with a call to pre-load adapt.
    // let clients decide to unload adapters from document
    // Collection oldAdapters = document.getAdapters();
    // Iterator oldAdaptersIterator = oldAdapters.iterator();
    // while (oldAdaptersIterator.hasNext()) {
    // INodeAdapter oldAdapter = (INodeAdapter)
    // oldAdaptersIterator.next();
    // if (oldAdapter != pageDirectiveAdapter && oldAdapter !=
    // propagatingAdapter && oldAdapter != modelQueryAdapter) {
    // // DO NOT remove directly!
    // // can change contents while in notifity loop!
    // //oldAdaptersIterator.remove();
    // document.removeAdapter(oldAdapter);
    // }
    // }
    // DMW: I believe something like the following is needed,
    // since releases cached adapters
    // if (document instanceof DocumentImpl) {
    // ((DocumentImpl) document).releaseDocumentType();
    // ((DocumentImpl) document).releaseStyleSheets();
    // }
    // remember, embedded type factories are automatically cleared when
    // embededType changed
    pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
    // // but still need to clear the page directive watchers, and let
    // them be rediscovered (with new, accurate node as target)
    // pageDirectiveAdapter.clearPageWatchers();
    if (newEmbeddedContentType != null) {

      // need to null out or else ModelParserAdapter
      // won't get reinitialized
      ((DOMModelImpl) model).setModelParser(null);

      newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
      newEmbeddedContentType.initializeParser(structuredDocument.getParser());

      // partitioner setup is the responsibility of this loader
      IDocumentPartitioner documentPartitioner = structuredDocument.getDocumentPartitioner();
      // ISSUE: this logic is flawed, not sure of original intent, but
      // added null/type checks for safety.
      if (documentPartitioner != null && documentPartitioner instanceof StructuredTextPartitionerForJSP) {
        if (newEmbeddedContentType.getFamilyId().equals(ContentTypeIdForXML.ContentTypeID_XML)) {
          ((StructuredTextPartitionerForJSP) documentPartitioner).setEmbeddedPartitioner(new StructuredTextPartitionerForXML());
        }
        else if (newEmbeddedContentType.getFamilyId().equals(ContentTypeIdForHTML.ContentTypeID_HTML)) {
          ((StructuredTextPartitionerForJSP) documentPartitioner).setEmbeddedPartitioner(new StructuredTextPartitionerForHTML());
        }
      }
    }
    // adding language here, in this convienent central
    // location, but some obvious renaming or refactoring
    // wouldn't hurt, in future.
    // I needed to add this language setting for JSP Fragment support
    // Note: this is the one that counts, since at this point,
    // the model has an ID, so we can look up IFile, etc.
    String language = getLanguage(model);
    if (language != null && language.length() > 0) {
      pageDirectiveAdapter.setLanguage(language);
    }
  }
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

    // set yet,
    // and all factories must have been set up also.
    IDOMModel domModel = (IDOMModel) model;
    IStructuredDocument structuredDocument = model.getStructuredDocument();
    IDOMDocument document = domModel.getDocument();
    PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
    // ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
    // ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
    // ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
    // ((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
    // because, even in the clone case, the model has been paritally
    // intialized with
    // the old embedded type (during createModel), we need to unitialize
    // parts of it, based on the old (or default) ones
    oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
    oldEmbeddedContentType.uninitializeParser(structuredDocument.getParser());
    // remember, embedded type factories are automatically cleared when
    // embededType changed
    pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
    if (newEmbeddedContentType != null) {
      newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
      newEmbeddedContentType.initializeParser(structuredDocument.getParser());
    }
    // adding language here, in this convienent central
    // location, but some obvious renaming or refactoring
    // wouldn't hurt, in future.
    // I needed to add this language setting for JSP Fragment support
    // Note: this is the one that counts, since at this point,
    // the model has an ID, so we can look up IFile, etc.
    String language = getLanguage(model);
    if (language != null && language.length() > 0) {
      pageDirectiveAdapter.setLanguage(language);
    }
  }
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

    }
  }

  private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
    Document doc = ((IDOMModel) model).getDocument();
    PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
    EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
    return embeddedHandler;
  }
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

        }
      }
    }

    IDOMDocument document = domModel.getDocument();
    PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);

    if (embeddedContentType != null) {
      pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
      embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
    }
    else {
      // use default embeddedType if it couldn't determine one
      embeddedContentType = getJSPDefaultEmbeddedType(model);
      pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
      embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
    }
  }
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

  }

  protected void setLanguageInPageDirective(IStructuredModel newModel) {
    if (newModel instanceof IDOMModel) {
      IDOMDocument document = ((IDOMModel) newModel).getDocument();
      PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
      String language = getLanguage(newModel);
      pageDirectiveAdapter.setLanguage(language);
    }
  }
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

          if (internalModel.getFactoryRegistry() != null) {
            // set up the internal model
            if (internalModel.getFactoryRegistry().getFactoryFor(PageDirectiveAdapter.class) == null) {
              internalModel.getFactoryRegistry().addFactory(new PageDirectiveAdapterFactory());
            }
            PageDirectiveAdapter outerEmbeddedTypeAdapter = (PageDirectiveAdapter) xmlOuterModel.getDocument().getAdapterFor(PageDirectiveAdapter.class);
            PageDirectiveAdapter internalEmbeddedTypeAdapter = (PageDirectiveAdapter) ((INodeNotifier) ((Node) internalNode).getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
            internalEmbeddedTypeAdapter.setEmbeddedType(outerEmbeddedTypeAdapter.getEmbeddedType());
          }

          AdapterFactoryRegistry adapterRegistry = JSPUIPlugin.getDefault().getAdapterFactoryRegistry();
          Iterator adapterList = adapterRegistry.getAdapterFactories();
          // And all those appropriate for this particular type
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

    else {
      doc = node.getOwnerDocument();
    }
    if (doc != null) {
      if (doc instanceof IDOMDocument) {
        PageDirectiveAdapter adapter = (PageDirectiveAdapter) ((IDOMDocument) doc).getAdapterFor(PageDirectiveAdapter.class);
        if (adapter != null)
          language = adapter.getLanguage();
      }
      else {
        // iterate through all of the page directives
        NodeList pageDirectives = doc.getElementsByTagName(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
        for (int i = 0; i < pageDirectives.getLength(); i++) {
View Full Code Here

Examples of org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapter

   */
  private boolean isElIgnored(IPath path, IStructuredModel model) {
    if (DeploymentDescriptorPropertyCache.getInstance().getJSPVersion(path) < 2.0f)
      return true;

    PageDirectiveAdapter pdAdapter = ((PageDirectiveAdapter) (((IDOMModel) model).getDocument().getAdapterFor(PageDirectiveAdapter.class)));
    if (pdAdapter == null) {
      // double-check the factory (although there just might not be a page directive in the file)
      if (model.getFactoryRegistry().getFactoryFor(PageDirectiveAdapter.class) == null) {
        model.getFactoryRegistry().addFactory(new PageDirectiveAdapterFactory());
        pdAdapter = ((PageDirectiveAdapter) (((IDOMModel) model).getDocument().getAdapterFor(PageDirectiveAdapter.class)));
      }
    }
    if (pdAdapter != null) {
      String directiveIsELIgnored = pdAdapter.getElIgnored();
      // isELIgnored directive found
      if (directiveIsELIgnored != null)
        return Boolean.valueOf(directiveIsELIgnored).booleanValue();
    }
   
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.