[Spedit-commits] CVS: prototype/Sources/net/sourceforge/spedit/core XMLDocument.java,1.7,1.8 XMLElem
Status: Planning
Brought to you by:
krunte
|
From: S?bastien P. <kaz...@us...> - 2001-12-06 10:11:20
|
Update of /cvsroot/spedit/prototype/Sources/net/sourceforge/spedit/core
In directory usw-pr-cvs1:/tmp/cvs-serv12239/net/sourceforge/spedit/core
Modified Files:
XMLDocument.java XMLElementWrapper.java
Log Message:
Partly fixed remove bug. Functional thought.
Index: XMLDocument.java
===================================================================
RCS file: /cvsroot/spedit/prototype/Sources/net/sourceforge/spedit/core/XMLDocument.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** XMLDocument.java 2001/12/05 16:28:44 1.7
--- XMLDocument.java 2001/12/06 10:11:17 1.8
***************
*** 13,18 ****
// ----------------------------------------------------------------------------
// Creation date : 03-Sep-2001
! // Last mod. : 07-Nov-2001
// History :
// 07-Nov-2001 Improved document filtering with
// stripping.(sp)
--- 13,19 ----
// ----------------------------------------------------------------------------
// Creation date : 03-Sep-2001
! // Last mod. : 05-Dec-2001
// History :
+ // 05-Dec-2001 GetText exception dump(sp)
// 07-Nov-2001 Improved document filtering with
// stripping.(sp)
***************
*** 553,557 ****
--- 554,566 ----
throws BadLocationException
{
+ try{
return content.getString(offset, length);
+ }
+ catch (BadLocationException e)
+ {
+ System.err.println("Bad location exception has occured in XMLDocument.getText.\n"+
+ "> Given offset is "+offset+" and given length is "+length+", while text length is "+content.length());
+ throw e;
+ }
}
***************
*** 569,573 ****
throws BadLocationException
{
! content.getChars(offset, length, s);
}
--- 578,591 ----
throws BadLocationException
{
! try
! {
! content.getChars(offset, length, s);
! }
! catch (BadLocationException e)
! {
! System.err.println("Bad location exception has occured in XMLDocument.getText.\n"+
! "> Given offset is "+offset+" and given length is "+length+", while text length is "+content.length());
! throw e;
! }
}
***************
*** 1128,1132 ****
if ( doc!=null )
{
! doc.fireDocumentEvent(this);
if ( doc !=null && type==DocumentEvent.EventType.INSERT )
{
--- 1146,1150 ----
if ( doc!=null )
{
!
if ( doc !=null && type==DocumentEvent.EventType.INSERT )
{
***************
*** 1164,1167 ****
--- 1182,1187 ----
System.out.println("Element CHANGE not supported yet.");
}
+
+ doc.fireDocumentEvent(this);
}
}
Index: XMLElementWrapper.java
===================================================================
RCS file: /cvsroot/spedit/prototype/Sources/net/sourceforge/spedit/core/XMLElementWrapper.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** XMLElementWrapper.java 2001/12/05 16:28:44 1.4
--- XMLElementWrapper.java 2001/12/06 10:11:17 1.5
***************
*** 547,601 ****
return element.startOffset;
}
-
- /*
- if ( element.getParent()==null )
- {
- return 0;
- }
- else if ( getDocument()==null )
- {
- return 0;
- }
- else if ( startPosition!=null )
- {
- return startPosition.getOffset();
- }
- else
- {
- XMLDocument doc = (XMLDocument)getDocument();
- XMLElement parent = (XMLElement)element.getParent();
- int startOffset = parent.getWrapper().getStartOffset();
-
- //We iterate through the parent children
- for ( int i=0 ; i<parent.getContent().size() ; i++ )
- {
- Object o = parent.getContent().get(i);
- //If child is an XMLElement
- if ( o instanceof XMLElement )
- {
- XMLElement elt = (XMLElement)o;
- if ( elt==element )
- { break; }
- else
- { startOffset+=elt.getWrapper().getLength(); }
- }
- //If child is an XMLElement
- else if ( o instanceof XMLText )
- {
- startOffset+=((XMLText)o).getValue().length();
- }
- //Otherwise there is an unsupported child type, so we warn the
- //user.
- else
- {
- System.err.println("Warning: XMLElementWrapper.getStartOffset");
- System.err.println(" Element child not supported:"+
- o.toString());
- }
- }
- startPosition = doc.createBackwardPosition(startOffset);
- return startOffset;
- }
- */
}
--- 547,550 ----
***************
*** 609,664 ****
{
return getStartOffset()+getLength();
- /*
- //If the end position has already been created, we use it
- if ( endPosition!=null )
- {
- return endPosition.getOffset();
- }
- else if ( getDocument()==null )
- {
- return 0;
- }
- //Otherwise we create it
- else
- {
- XMLDocument doc = (XMLDocument)getDocument();
- int contentLength=0;
-
- //We iterate through the element children to calculate the total
- //length of the children.
- for ( int i=0 ; i<element.getContent().size() ; i++ )
- {
- Object elt = element.getContent().get(i);
- System.out.println("Content element : "+elt);
- //The child is an XMLElement
- if ( elt instanceof XMLElement )
- {
- System.out.println(" Found child : "+elt);
- int old = contentLength;
- contentLength+=((XMLElement)elt).getWrapper().getLength();
- old = contentLength-old;
- System.out.println(" of length : "+old);
- }
- //The child is an XMLText
- else if ( elt instanceof XMLText)
- {
- System.out.println(" Found text : "+elt);
- int old = contentLength;
- contentLength+=((XMLText)elt).getValue().length();
- old = contentLength-old;
- System.out.println(" of length : "+old);
- }
- //The child is of an unknown type.
- else
- {
- System.err.println("Warning: XMLElementWrapper.getEndOffset");
- System.err.println(" Element child not supported:"+
- elt.toString());
- }
- }
- endPosition = doc.createForwardPosition(getStartOffset());
- return endPosition.getOffset();
- }
- */
}
--- 558,561 ----
***************
*** 670,699 ****
public int getLength()
{
! //We check if the cached attributes values are
! //still valid
! //if ( element.getDocument()==null || ((XMLDocument)element.getDocument()).timeStamp>element.timeStamp )
{
! element.contentLength=0;
! ListIterator iterator = element.getContent().listIterator();
! while( iterator.hasNext() )
{
! Object elt = iterator.next();
! if ( elt instanceof XMLElement )
! {
! element.contentLength+=((XMLElement)elt).getWrapper().getLength();
! }
! else if ( elt instanceof XMLText)
! {
! element.contentLength+=((XMLText)elt).getValue().length();
! }
! else
! {
! System.err.println("Unknown content: "+elt);
! }
}
}
return element.contentLength;
-
- //return getEndOffset()-getStartOffset();
}
--- 567,590 ----
public int getLength()
{
!
! element.contentLength=0;
! ListIterator iterator = element.getContent().listIterator();
! while( iterator.hasNext() )
{
! Object elt = iterator.next();
! if ( elt instanceof XMLElement )
{
! element.contentLength+=((XMLElement)elt).getWrapper().getLength();
}
+ else if ( elt instanceof XMLText)
+ {
+ element.contentLength+=((XMLText)elt).getValue().length();
+ }
+ else
+ {
+ System.err.println("Unknown content: "+elt);
+ }
}
return element.contentLength;
}
***************
*** 728,764 ****
startOffset+=increment;
}
return -1;
-
- /*
- int startOffset = getStartOffset();
- List content = ((XMLElement)element).getContent();
-
- //We iterate through the children
- for (int i=0 ; i<content.size() ; i++ )
- {
- int increment=0;
- Object o=content.get(i);
-
- //Here we test recognized elements, but we do not warn of
- //unrecognized ones, because they should already be signaled by
- //start and end offset accesses.
- if ( o instanceof XMLElement )
- {
- XMLElement elt = (XMLElement)o;
- increment =elt.getWrapper().getLength();
- }
- else if ( o instanceof XMLText )
- { increment=((XMLText)o).getValue().length(); }
-
- //Here we break if we have found the element
- if ( object.equals(o) )
- { return startOffset; }
- //Otherwise we increment thes start offset
- else
- { startOffset+=increment; }
- }
- //If nothing was found we return -1
- return -1;
- */
}
--- 619,624 ----
startOffset+=increment;
}
+ System.err.println("GETTING START OFFSET OF "+object.toString()+" which is -1");
return -1;
}
***************
*** 1124,1129 ****
//We fire the event
if ( fireEvent ) { event.fire(); }
!
return result;
--- 984,990 ----
//We fire the event
+ System.out.println("Event firing "+getName());
if ( fireEvent ) { event.fire(); }
! System.out.println("Removal end "+getName());
return result;
|