blob: d0d05d52b4186ee682c9c7c3746ae64f00dc0d8e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
package com.c2kernel.entity.agent;
import java.util.Iterator;
import java.util.Vector;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.lookup.InvalidEntityPathException;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.persistency.RemoteMap;
import com.c2kernel.utils.Logger;
/**************************************************************************
*
* @author $Author: abranson $ $Date: 2006/03/03 13:52:21 $
* @version $Revision: 1.15 $
***************************************************************************/
public class JobList extends RemoteMap
{
/**************************************************************************
* Empty constructor for Castor
**************************************************************************/
public JobList(int sysKey, Object locker)
throws ObjectNotFoundException, InvalidEntityPathException
{
super(sysKey, ClusterStorage.JOB, locker);
}
/**************************************************************************
*
**************************************************************************/
public void addJob( Job job )
{
synchronized(this) {
int jobId = getLastId()+1;
job.setID(jobId);
put(String.valueOf(jobId), job);
}
}
/**
* Cannot be stored
*/
public String getClusterType() {
return null;
}
public int containsJob( Job job )
{
Iterator actMembers = keySet().iterator();
Job j = null;
while( actMembers.hasNext() )
{
j = (Job)actMembers.next();
if( j.equals(job) )
return j.getID();
}
return -1;
}
public Job getJob(int id) {
return (Job)get(String.valueOf(id));
}
/**
* @param job
*/
public void removeJobsWithSysKey( int sysKey )
{
Iterator currentMembers = values().iterator();
Job j = null;
while( currentMembers.hasNext() )
{
j = (Job)currentMembers.next();
if( j.getItemSysKey() == sysKey )
remove( String.valueOf(j.getID()) );
}
Logger.msg(5, "JobList::removeJobsWithSysKey() - " + sysKey + " DONE." );
}
public void removeJobsForStep( int sysKey, String stepPath )
{
Iterator currentMembers = values().iterator();
while( currentMembers.hasNext() )
{
Job j = (Job)currentMembers.next();
if( j.getItemSysKey() == sysKey && j.getStepPath().equals(stepPath))
remove( String.valueOf(j.getID()) );
}
Logger.msg(5, "JobList::removeJobsForStep() - " + sysKey + " DONE." );
}
/**
* @param itemKey
* @param string
* @return
*/
public Vector getJobsOfSysKey(int sysKey)
{
Iterator currentMembers = values().iterator();
Job j = null;
Vector jobs = new Vector();
while( currentMembers.hasNext() )
{
j = (Job)currentMembers.next();
if( j.getItemSysKey() == sysKey )
jobs.add(j);
}
Logger.msg(5, "JobList::getJobsOfSysKey() - returning " + jobs.size() + " Jobs." );
return jobs;
}
}
|