pnever 2004/12/22 06:27:52
Modified:
proposals/tamino/src/store/org/apache/slide/store/tamino/datastore
Tag: TWS421_BRANCH XDbSession.java
proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects
Tag: TWS421_BRANCH XDescriptors.java
XStateMachine.java
Log:
Trace for Tamino
Revision Changes Path
No revision
No revision
1.1.4.1 +37 -30
jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/XDbSession.java
Index: XDbSession.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/XDbSession.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- XDbSession.java 25 Mar 2004 16:18:00 -0000 1.1
+++ XDbSession.java 22 Dec 2004 14:27:52 -0000 1.1.4.1
@@ -22,39 +22,21 @@
package org.apache.slide.store.tamino.datastore;
+import com.softwareag.tamino.db.api.accessor.*;
+import java.util.*;
+import org.apache.slide.store.tamino.common.*;
+
import com.softwareag.common.instrumentation.logging.Level;
import com.softwareag.common.instrumentation.logging.Logger;
import com.softwareag.common.instrumentation.logging.LoggerFactory;
import com.softwareag.common.instrumentation.logging.LoggerUtil;
-import com.softwareag.tamino.db.api.accessor.TAccessLocation;
-import com.softwareag.tamino.db.api.accessor.TAccessor;
-import com.softwareag.tamino.db.api.accessor.TAccessorException;
-import com.softwareag.tamino.db.api.accessor.TInsertException;
-import com.softwareag.tamino.db.api.accessor.TNonXMLObjectAccessor;
-import com.softwareag.tamino.db.api.accessor.TQuery;
-import com.softwareag.tamino.db.api.accessor.TQueryBuilder;
-import com.softwareag.tamino.db.api.accessor.TStreamAccessor;
-import com.softwareag.tamino.db.api.accessor.TXMLObjectAccessor;
import com.softwareag.tamino.db.api.common.TException;
import com.softwareag.tamino.db.api.io.TInputStream;
import com.softwareag.tamino.db.api.objectModel.TNonXMLObject;
import com.softwareag.tamino.db.api.objectModel.dom.TDOMObjectModel;
import com.softwareag.tamino.db.api.objectModel.jdom.TJDOMObjectModel;
import com.softwareag.tamino.db.api.response.TResponse;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-import org.apache.slide.store.tamino.common.IContent;
-import org.apache.slide.store.tamino.common.IDesc;
-import org.apache.slide.store.tamino.common.IDescriptors;
-import org.apache.slide.store.tamino.common.XDatastoreException;
-import org.apache.slide.store.tamino.common.XForbiddenException;
-import org.apache.slide.store.tamino.common.XGlobals;
-import
org.apache.slide.store.tamino.common.XOldMetadataSchemaVersionException;
+import org.apache.slide.common.Domain;
import org.apache.slide.store.tamino.datastore.schema.XDoctype;
import org.apache.slide.store.tamino.jdomobjects.XDescriptors;
import org.apache.slide.store.tamino.store.ISlideAccessor;
@@ -154,8 +136,7 @@
*
* @return a String
*/
- private String getInoId (TInputStream resultStream)
- {
+ private String getInoId (TInputStream resultStream) {
// should be checked, if hasFirstObjectId. If not, you need to parse
return resultStream.getFirstObjectId();
}
@@ -406,10 +387,15 @@
if (!updateContent (content, contentId)) {
deleteContent (id);
result = createContent (content);
+ if (!id.equals(EMPTY_CONTENT_ID) &&
id.equals(result.getContentId())) {
+ throw new XDatastoreException("Inconsistency detected:
contentId="+id+" will be deleted and created by an update operation");
+ }
}
else {
content.setContentId (contentId.toString());
-
+ if ("true".equalsIgnoreCase(Domain.getParameter("jj_debug",
"false"))) {
+ System.out.println(" @@@
["+Thread.currentThread().getName()+"] Tamino update: "+content.getContentId());
+ }
// hack to get the content length: read again
result = setLength (content);
}
@@ -422,6 +408,9 @@
updateNonXmlContent (content, contentId);
content.setContentId (contentId.toString());
+ if ("true".equalsIgnoreCase(Domain.getParameter("jj_debug",
"false"))) {
+ System.out.println(" @@@
["+Thread.currentThread().getName()+"] Tamino update: "+content.getContentId());
+ }
result = setLength (content);
}
@@ -429,6 +418,9 @@
else {
deleteContent (id);
result = createContent (content);
+ if (!id.equals(EMPTY_CONTENT_ID) &&
id.equals(result.getContentId())) {
+ throw new XDatastoreException("Inconsistency detected:
contentId="+id+" will be deleted and created by an update operation");
+ }
}
dbHandler.updateContentTimer().stop( timerId );
@@ -474,6 +466,9 @@
if (contentWrapper.isEmptyContent()) {
content.setContentId (new XContentId ().toString());
+ if ("true".equalsIgnoreCase(Domain.getParameter("jj_debug",
"false"))) {
+ System.out.println(" @@@
["+Thread.currentThread().getName()+"] Tamino create: "+content.getContentId());
+ }
content.setLength (0);
}
else {
@@ -575,6 +570,9 @@
content.setContentId (new XContentId (id, docType).toString());
+ if ("true".equalsIgnoreCase(Domain.getParameter("jj_debug",
"false"))) {
+ System.out.println(" @@@
["+Thread.currentThread().getName()+"] Tamino create: "+content.getContentId());
+ }
result = setLength(content);
}
@@ -722,6 +720,10 @@
XContentId contentId = new XContentId (id);
+ if ("true".equalsIgnoreCase(Domain.getParameter("jj_debug",
"false"))) {
+ System.out.println(" @@@
["+Thread.currentThread().getName()+"] Tamino delete: "+id);
+ }
+
if (!contentId.isEmptyContent()) {
dbHandler.deleteContentCounter().increment();
Object timerId = dbHandler.deleteContentTimer().start();
@@ -967,6 +969,11 @@
int state = desc.getState();
Object timerId = null;
+ if (state == IDesc.CREATED || state == IDesc.CHANGED || state ==
IDesc.DELETED) {
+ if ("true".equalsIgnoreCase(Domain.getParameter("jj_debug",
"false"))) {
+ System.out.println(" $$$
["+Thread.currentThread().getName()+"] Tamino process desc: "+desc.details());
+ }
+ }
// System.out.println(desc.toString());
switch (state) {
No revision
No revision
1.1.4.1 +21 -4
jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects/XDescriptors.java
Index: XDescriptors.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects/XDescriptors.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- XDescriptors.java 25 Mar 2004 16:18:02 -0000 1.1
+++ XDescriptors.java 22 Dec 2004 14:27:52 -0000 1.1.4.1
@@ -662,6 +662,23 @@
return JDom.outputter().outputString (toXml());
}
+ public String details() {
+ StringBuffer b = new StringBuffer();
+ b.append(String.valueOf(stateMachine));
+ b.append(" uuri=").append(uuri);
+ Iterator iter = descriptorList.iterator();
+ while (iter.hasNext()) {
+ NodeRevisionDescriptor nrd = (NodeRevisionDescriptor)iter.next();
+ NodeProperty p = nrd.getProperty("xdavContentId",
TAMINO_NAMESPACE_URI);
+ String v = "";
+ if (p != null) {
+ v = String.valueOf(p.getValue());
+ }
+ b.append("
"+nrd.getBranchName()+"_"+nrd.getRevisionNumber()+"["+v+"]");
+ }
+ return b.toString();
+ }
+
/**
* sets the readOnly flag of this resource
*
1.1.4.1 +25 -4
jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects/XStateMachine.java
Index: XStateMachine.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects/XStateMachine.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- XStateMachine.java 25 Mar 2004 16:18:02 -0000 1.1
+++ XStateMachine.java 22 Dec 2004 14:27:52 -0000 1.1.4.1
@@ -203,4 +203,25 @@
if (state == INVALID)
throw new XAssertionFailed ("state 'INVALID'");
}
+
+ public String toString() {
+ switch (state) {
+ case INVALID:
+ return "INVALID";
+ case INIT_NEW:
+ return "NO_STATE";
+ case INIT_DB:
+ return "CREATED";
+ case SET:
+ return "CREATED_DELETED";
+ case REMOVE:
+ return "DELETED";
+ case R_LAST:
+ return "UNCHANGED";
+ case COMMIT:
+ return "CHANGED";
+ default:
+ return "***UNKNOWN STATE***";
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]