diff options
Diffstat (limited to 'bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/css/core/internal/document/JSPedCSSModelParser.java')
-rw-r--r-- | bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/css/core/internal/document/JSPedCSSModelParser.java | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/css/core/internal/document/JSPedCSSModelParser.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/css/core/internal/document/JSPedCSSModelParser.java deleted file mode 100644 index 0aa723fadb..0000000000 --- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/css/core/internal/document/JSPedCSSModelParser.java +++ /dev/null @@ -1,162 +0,0 @@ -/******************************************************************************* - * Copyright (c) 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 - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * - *******************************************************************************/ -package org.eclipse.jst.jsp.css.core.internal.document; - -import java.util.regex.Pattern; - -import org.eclipse.jst.jsp.css.core.internal.parserz.JSPedCSSRegionContexts; -import org.eclipse.wst.css.core.internal.document.CSSModelCreationContext; -import org.eclipse.wst.css.core.internal.document.CSSModelParser; -import org.eclipse.wst.css.core.internal.document.CSSNodeImpl; -import org.eclipse.wst.css.core.internal.document.CSSStructuredDocumentRegionContainer; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSDocument; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSRuleContainer; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; -import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocumentRegion; - - -/** - * - */ -class JSPedCSSModelParser extends CSSModelParser { - - public JSPedCSSModelParser(ICSSDocument doc) { - super(doc); - } - /** - * - */ - protected CSSNodeImpl insertStructuredDocumentRegion(IStructuredDocumentRegion region) { - CSSModelCreationContext creationContext = getCreationContext(); - if (creationContext == null || region == null) { - return null; - } - - String type = ((BasicStructuredDocumentRegion) region).getType(); - CSSNodeImpl modified = null; - - //ICSSNode target = fCreationContext.getTargetNode(); - - if (type == JSPedCSSRegionContexts.CSS_JSP_DIRECTIVE){ - - boolean isInclude = region.getText().indexOf("include") != -1; - if (isInclude){ - modified = insertUnknownImport(region); - } else { - modified = insertUnknownRule(region); - } - } - - // post process - if (modified != null) { - if (modified instanceof CSSStructuredDocumentRegionContainer) { - ((CSSStructuredDocumentRegionContainer) modified).propagateRangeStructuredDocumentRegion(); - } - } - - return modified != null ? modified : super.insertStructuredDocumentRegion(region); - } - - private CSSNodeImpl insertUnknownImport(IStructuredDocumentRegion region) { - CSSModelCreationContext creationContext = getCreationContext(); - CSSNodeImpl parent = creationContext.getTargetNode(); - ICSSDocument sheet = parent.getOwnerDocument(); - - String text = region.getText(); - Pattern pattern = Pattern.compile(" "); - String[] strs = pattern.split(text); - String hrefValue = null; - for (int i=0;i<strs.length;i++) { - String hrefStr = "file=\""; - if (strs[i].startsWith(hrefStr)){ - int hrefStr_length = hrefStr.length(); - // minus 1 to avoid quote? - int hrefValue_length = strs[i].length() - 1; - if (hrefValue_length > hrefStr_length) { - hrefValue = strs[i].substring(hrefStr_length, hrefValue_length); - } - else { - /* - * ISSUE: this handles cases where, e.g. "file=" has no - * subsequent 'value' ... and from code in insertStructuredDocumentRegion - * I believe should return null, rather than empty string, but, this may - * need some fine tuning eventually. - */ - hrefValue = null; - } - break; - } - } - - if (hrefValue == null) { - return null; - } - - JSPCSSImportRuleImpl rule = new JSPCSSImportRuleImpl(); - rule.setOwnerDocument(sheet); - rule.appendChild((CSSNodeImpl)sheet.createMediaList()); - rule.setRangeStructuredDocumentRegion(region, region); - - - if (!isUpdateContextActive()) { - rule.setHref(hrefValue);//Attribute(ICSSImportRule.HREF, hrefValue); - } - - - // insert to tree - if (!isUpdateContextActive() && parent != null) { - //propagateRangePreInsert(sheet, rule); - CSSNodeImpl next = creationContext.getNextNode(); - if (next != null) { - ((CSSNodeImpl)sheet).insertBefore(rule, next); - } - else { - ((CSSNodeImpl)sheet).appendChild(rule); - } - } - //creationContext.setTargetNode(rule); - return rule; - } - - private CSSNodeImpl insertUnknownRule(IStructuredDocumentRegion flatNode) { - CSSModelCreationContext creationContext = getCreationContext(); - CSSNodeImpl parent = creationContext.getTargetNode(); - if (!isParseFloating() && !(parent instanceof ICSSRuleContainer)) { - return null; - } - - JSPCSSNodeImpl rule = new JSPCSSNodeImpl(flatNode.getText()); - rule.setOwnerDocument(parent.getOwnerDocument()); - - // setup flat container - rule.setRangeStructuredDocumentRegion(flatNode, flatNode); - - - // insert to tree - if (!isUpdateContextActive() && parent != null) { - propagateRangePreInsert(parent, rule); - CSSNodeImpl next = creationContext.getNextNode(); - if (next != null) { - parent.insertBefore(rule, next); - } - else { - parent.appendChild(rule); - } - } - - //creationContext.setTargetNode(parent.getOwnerDocument()); - // TargetNext is set to null automatically - - return rule; - } - -} |