You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ia...@apache.org on 2004/01/02 17:26:29 UTC
cvs commit: ws-axis/java/src/org/apache/axis/message CommentImpl.java
ias 2004/01/02 08:26:29
Added: java/src/org/apache/axis/message CommentImpl.java
Log:
Initial check-in and fix for Bug 22981 - The SAAJ 1.2 Preliminary Upgrade
Thanks to Dr. Ahn, Heejune.
Note:
-This change passed all-tests.
Revision Changes Path
1.1 ws-axis/java/src/org/apache/axis/message/CommentImpl.java
Index: CommentImpl.java
===================================================================
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 2001-2003 The Apache Software Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: 1.
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. The end-user documentation
* included with the redistribution, if any, must include the following
* acknowledgment: "This product includes software developed by the Apache
* Software Foundation (http://www.apache.org/)." Alternately, this
* acknowledgment may appear in the software itself, if and wherever such
* third-party acknowledgments normally appear. 4. The names "Axis" and "Apache
* Software Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written permission,
* please contact apache@apache.org. 5. Products derived from this software may
* not be called "Apache", nor may "Apache" appear in their name, without prior
* written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many individuals
* on behalf of the Apache Software Foundation. For more information on the
* Apache Software Foundation, please see <http://www.apache.org/> .
*/
package org.apache.axis.message;
import javax.xml.soap.Text;
import org.w3c.dom.Comment;
import org.w3c.dom.DOMException;
/**
* Most of methods are inherited from TEXT, defined for its Interface Marker
* only
*
* @author Heejune Ahn (cityboy@tmax.co.kr)
*/
public class CommentImpl
extends org.apache.axis.message.Text
implements Text, Comment {
public CommentImpl(String text) {
super(text);
}
public boolean isComment() {
return true;
}
public org.w3c.dom.Text splitText(int offset) throws DOMException {
int length = textRep.getLength();
// take the first part, and save the second part for new Text
// length check and exception will be thrown here, no need to
// duplicated check
String tailData = textRep.substringData(offset, length);
textRep.deleteData(offset, length);
// insert the first part again as a new node
Text tailText = new CommentImpl(tailData);
org.w3c.dom.Node myParent = (org.w3c.dom.Node) getParentNode();
if (myParent != null) {
org.w3c.dom.NodeList brothers =
(org.w3c.dom.NodeList) myParent.getChildNodes();
for (int i = 0; i < brothers.getLength(); i++) {
if (brothers.item(i).equals(this)) {
myParent.insertBefore(tailText, this);
return tailText;
}
}
}
return tailText;
}
}