protected IRegion getRegion(IDocument document, final int offset) { StructuredModelWrapper smw = new StructuredModelWrapper(); smw.init(document); try { Document xmlDocument = smw.getDocument(); if (xmlDocument == null) return null; Node n = Utils.findNodeForOffset(xmlDocument, offset); if (n == null || !(n instanceof IDOMElement)) return null; IDOMElement elem = (IDOMElement) n; String tagName = elem.getTagName(); int start = Utils.getValueStart(elem); final int nameStart = start + (elem.isEndTag() ? "</" : "<").length(); // $NON-NLS-1$ //$NON-NLS-2$ final int nameEnd = nameStart + tagName.length(); if (nameStart > offset || nameEnd <= offset) return null; return new Region(nameStart, nameEnd - nameStart); } finally { smw.dispose(); } }
public Element createElement(Document document, String data, boolean isJSPTag) { IDOMElement element = (IDOMElement) getHandler().createElement(document, data, isJSPTag); if (element != null) { CommentElementAdapter adapter = (CommentElementAdapter) element.getAdapterFor(CommentElementAdapter.class); if (adapter != null) { adapter.setConfiguration(this); } } return element; }
public void getChildrenFromXml(List<Activity> list, IDOMElement input, Activity parent) { if (input.getLocalName().equals(IntSyslogSchemaConstants.ELEM_INBOUND_CHANNEL_ADAPTER)) { InboundChannelAdapterModelElement adapter = new InboundChannelAdapterModelElement(input, parent.getDiagram()); list.add(adapter); } }
public static PortletLayoutElement createFromElement( IDOMElement portletLayoutElement, ILayoutTplDiagramFactory factory) { if (portletLayoutElement == null) { return null; } PortletLayoutElement newPortletLayout = factory.newPortletLayout(); String existingClassName = portletLayoutElement.getAttribute("class"); // $NON-NLS-1$ if ((!CoreUtil.isNullOrEmpty(existingClassName)) && existingClassName.contains("portlet-layout")) // $NON-NLS-1$ { newPortletLayout.setClassName(existingClassName); } else { newPortletLayout.setClassName("portlet-layout"); // $NON-NLS-1$ } IDOMElement[] portletColumnElements = LayoutTplUtil.findChildElementsByClassName( portletLayoutElement, "div", "portlet-column"); // $NON-NLS-1$ //$NON-NLS-2$ for (IDOMElement portletColumnElement : portletColumnElements) { PortletColumnElement newPortletColumn = factory.newPortletColumnFromElement(portletColumnElement); newPortletLayout.addColumn(newPortletColumn); } return newPortletLayout; }
public String generateTagName(Element element) { if (element == null) return null; IDOMElement xe = (IDOMElement) element; String tagName = element.getTagName(); if (tagName == null) return null; if (xe.isJSPTag()) { if (tagName.equals(JSPTag.JSP_EXPRESSION)) return JSPTag.EXPRESSION_TOKEN; if (tagName.equals(JSPTag.JSP_DECLARATION)) return JSPTag.DECLARATION_TOKEN; if (tagName.equals(JSPTag.JSP_DIRECTIVE)) return JSPTag.DIRECTIVE_TOKEN; if (tagName.startsWith(JSPTag.JSP_DIRECTIVE)) { int offset = JSPTag.JSP_DIRECTIVE.length() + 1; // after '.' return (JSPTag.DIRECTIVE_TOKEN + tagName.substring(offset)); } return (xe.isCommentTag()) ? tagName : null; } else if (tagName.startsWith(JSPTag.TAG_OPEN)) { if (!tagName.endsWith(JSPTag.TAG_CLOSE)) { // close JSP return (tagName + JSPTag.TAG_CLOSE); } } else if (xe.isCommentTag()) { String prefix = element.getPrefix(); if (prefix.equals(SSI_PREFIX)) { return (SSI_TOKEN + element.getLocalName()); } } else { if (!xe.isJSPTag() && xe.isGlobalTag() && // global tag CMNodeUtil.getElementDeclaration(xe) != null) { String newName = tagName; switch (getTagNameCase(xe)) { case DocumentTypeAdapter.UPPER_CASE: newName = tagName.toUpperCase(Locale.ENGLISH); break; case DocumentTypeAdapter.LOWER_CASE: newName = tagName.toLowerCase(Locale.ENGLISH); break; } if (newName != tagName) { tagName = newName; setTagName(element, tagName); } } } return tagName; }
public static IRegion getElementRegion(IDOMElement element) { int endOffset; if (element.hasEndTag() && element.isClosed()) endOffset = element.getStartEndOffset(); else endOffset = element.getEndOffset(); return new Region(element.getStartOffset(), endOffset - element.getStartOffset()); }
void setupCommentElement(IDOMElement element) { element.setCommentTag(true); CommentElementAdapter adapter = new CommentElementAdapter(false, fHandler); adapter.setConfiguration(this); element.addAdapter(adapter); }