@@ -95,18 +95,22 @@ public override void SetJobParameter(string id, string name, string value)
95
95
{
96
96
if ( id == null ) throw new ArgumentNullException ( "id" ) ;
97
97
if ( name == null ) throw new ArgumentNullException ( "name" ) ;
98
-
98
+ var converter = JobIdConverter . Get ( id ) ;
99
+ if ( ! converter . Valid )
100
+ {
101
+ return ;
102
+ }
99
103
Storage . UseSession ( session =>
100
104
{
101
105
var updated = session . CreateQuery ( SQLHelper . UpdateJobParameterValueStatement )
102
106
. SetParameter ( SQLHelper . ValueParameterName , value )
103
- . SetParameter ( SQLHelper . IdParameterName , int . Parse ( id ) )
107
+ . SetParameter ( SQLHelper . IdParameterName , converter . Value )
104
108
. ExecuteUpdate ( ) ;
105
109
if ( updated == 0 )
106
110
{
107
111
var jobParameter = new _JobParameter
108
112
{
109
- Job = new _Job { Id = int . Parse ( id ) } ,
113
+ Job = new _Job { Id = converter . Value } ,
110
114
Name = name ,
111
115
Value = value
112
116
} ;
@@ -120,25 +124,37 @@ public override void SetJobParameter(string id, string name, string value)
120
124
public override string GetJobParameter ( string id , string name )
121
125
{
122
126
if ( id == null ) throw new ArgumentNullException ( "id" ) ;
127
+ var converter = JobIdConverter . Get ( id ) ;
128
+ if ( ! converter . Valid )
129
+ {
130
+ return null ;
131
+ }
123
132
if ( name == null ) throw new ArgumentNullException ( "name" ) ;
124
133
125
134
return Storage . UseSession ( session =>
126
135
session . Query < _JobParameter > ( )
127
- . Where ( i => i . Job . Id == int . Parse ( id ) && i . Name == name )
136
+ . Where ( i => i . Job . Id == converter . Value && i . Name == name )
128
137
. Select ( i => i . Value )
129
138
. SingleOrDefault ( ) ) ;
130
139
}
131
140
132
141
public override JobData GetJobData ( string jobId )
133
142
{
134
143
if ( jobId == null ) throw new ArgumentNullException ( "jobId" ) ;
144
+ var converter = JobIdConverter . Get ( jobId ) ;
135
145
146
+ if ( ! converter . Valid )
147
+ {
148
+ return null ;
149
+ }
150
+ Logger . InfoFormat ( "Get job data for job '{0}'" , jobId ) ;
151
+
136
152
return Storage . UseSession ( session =>
137
153
{
138
154
var jobData =
139
155
session
140
156
. Query < _Job > ( )
141
- . SingleOrDefault ( i => i . Id == int . Parse ( jobId ) ) ;
157
+ . SingleOrDefault ( i => i . Id == converter . Value ) ;
142
158
143
159
if ( jobData == null ) return null ;
144
160
@@ -170,11 +186,15 @@ public override JobData GetJobData(string jobId)
170
186
public override StateData GetStateData ( string jobId )
171
187
{
172
188
if ( jobId == null ) throw new ArgumentNullException ( "jobId" ) ;
173
-
189
+ var converter = JobIdConverter . Get ( jobId ) ;
190
+ if ( ! converter . Valid )
191
+ {
192
+ return null ;
193
+ }
174
194
return Storage . UseSession ( session =>
175
195
{
176
196
var job = session . Query < _Job > ( )
177
- . Where ( i => i . Id == int . Parse ( jobId ) )
197
+ . Where ( i => i . Id == converter . Value )
178
198
. Select ( i => new { i . StateName , i . StateData , i . StateReason } )
179
199
. SingleOrDefault ( ) ;
180
200
if ( job == null )
@@ -271,7 +291,7 @@ public override List<string> GetRangeFromSet(string key, int startingFrom, int e
271
291
{
272
292
return session . Query < _Set > ( )
273
293
. OrderBy ( i => i . Id )
274
- . Skip ( startingFrom - 1 )
294
+ . Skip ( startingFrom )
275
295
. Take ( endingAt - startingFrom + 1 )
276
296
. Select ( i => i . Value )
277
297
. ToList ( ) ;
@@ -371,7 +391,7 @@ public override List<string> GetRangeFromList(string key, int startingFrom, int
371
391
. OrderByDescending ( i => i . Id )
372
392
. Where ( i => i . Key == key )
373
393
. Select ( i => i . Value )
374
- . Skip ( startingFrom - 1 )
394
+ . Skip ( startingFrom )
375
395
. Take ( endingAt - startingFrom + 1 )
376
396
. ToList ( ) ;
377
397
} ) ;
@@ -446,4 +466,23 @@ public override Dictionary<string, string> GetAllEntriesFromHash(string key)
446
466
} ) ;
447
467
}
448
468
}
469
+
470
+ class JobIdConverter
471
+ {
472
+ public bool Valid { get ; private set ; }
473
+ public long Value { get ; private set ; }
474
+
475
+ public static JobIdConverter Get ( string jobId )
476
+ {
477
+ long tmp ;
478
+ var valid = long . TryParse ( jobId , out tmp ) ;
479
+ return new JobIdConverter { Value = tmp , Valid = valid } ;
480
+ }
481
+
482
+ private JobIdConverter ( )
483
+ {
484
+
485
+ }
486
+
487
+ }
449
488
}
0 commit comments