blob: aa30677a12fd3655af2221ecb9b4eada8f47b94f (
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
|
/**************************************************************************
* AddDomainPath
*
* Copyright (C) 2001 CERN - European Organization for Nuclear Research
* All rights reserved.
**************************************************************************/
package com.c2kernel.lifecycle.instance.predefined.entitycreation;
import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
import com.c2kernel.common.InvalidTransitionException;
import com.c2kernel.lifecycle.instance.predefined.PredefinedStep;
import com.c2kernel.lookup.AgentPath;
import com.c2kernel.utils.CastorXMLUtility;
import com.c2kernel.utils.Logger;
public class CreateNewAgent extends PredefinedStep
{
public CreateNewAgent()
{
super();
}
//requestdata is xmlstring
@Override
public void request( AgentPath agent, int transitionID, String requestData)
throws AccessRightsException,
InvalidTransitionException,
InvalidDataException
{
checkAccessRights(agent);
String redactedRequestData;
try {
NewAgent newAgent = (NewAgent)CastorXMLUtility.unmarshall(requestData);
newAgent.create(agent.getSysKey());
newAgent.password = "REDACTED";
redactedRequestData = CastorXMLUtility.marshall(newAgent);
} catch (Exception ex) {
Logger.error(ex);
throw new InvalidDataException("Error creating agent", "");
}
sendEventStoreOutcome(transitionID, redactedRequestData, agent);
}
}
|