00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 package org.objectweb.cjdbc.controller.scheduler.raidb2;
00026
00027 import org.objectweb.cjdbc.common.sql.AbstractWriteRequest;
00028 import org.objectweb.cjdbc.common.sql.ParsingGranularities;
00029 import org.objectweb.cjdbc.common.sql.SelectRequest;
00030 import org.objectweb.cjdbc.common.xml.DatabasesXmlTags;
00031 import org.objectweb.cjdbc.controller.requestmanager.RAIDbLevels;
00032 import org.objectweb.cjdbc.controller.scheduler.AbstractScheduler;
00033
00034
00035
00036
00037
00038
00039
00040
00041 public class RAIDb2PassThroughLevelScheduler extends AbstractScheduler
00042 {
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 private long requestId;
00055
00056
00057
00058
00059
00060
00061
00062
00063 public RAIDb2PassThroughLevelScheduler()
00064 {
00065 super(RAIDbLevels.RAIDb2, ParsingGranularities.NO_PARSING);
00066 requestId = 0;
00067 }
00068
00069
00070
00071
00072
00073
00074
00075
00076 public final synchronized void scheduleReadRequest(SelectRequest request)
00077 {
00078 request.setId(requestId++);
00079 }
00080
00081
00082
00083
00084 public final void readCompletedNotify(SelectRequest request)
00085 {
00086 }
00087
00088
00089
00090
00091 public final synchronized void scheduleNonSuspendedWriteRequest(
00092 AbstractWriteRequest request)
00093 {
00094 request.setId(requestId++);
00095 }
00096
00097
00098
00099
00100 public final void notifyWriteCompleted(AbstractWriteRequest request)
00101 {
00102 }
00103
00104
00105
00106
00107
00108
00109
00110
00111 protected final void commitTransaction(long transactionId)
00112 {
00113 }
00114
00115
00116
00117
00118 protected final void rollbackTransaction(long transactionId)
00119 {
00120 }
00121
00122
00123
00124
00125
00126
00127
00128 public String getXmlImpl()
00129 {
00130 StringBuffer info = new StringBuffer();
00131 info.append("<" + DatabasesXmlTags.ELT_RAIDb2Scheduler + " "
00132 + DatabasesXmlTags.ATT_level + "=\"" + DatabasesXmlTags.VAL_passThrough
00133 + "\"/>");
00134 info.append(System.getProperty("line.separator"));
00135 return info.toString();
00136 }
00137
00138 }