aboutsummaryrefslogtreecommitdiffstats
path: root/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/TransactionHandler.java
blob: 8d10b3c7fc56d3fb1fa9e8ecd8894bd3024f784b (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
package org.onap.appc.flow.controller.node;

import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION;
import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE;

import java.util.Properties;
import org.apache.commons.lang3.StringUtils;
import org.onap.appc.flow.controller.data.Transaction;
import org.onap.ccsdk.sli.core.sli.SvcLogicContext;

/**
 * Helper class for RestServiceNode
 */
class TransactionHandler {

  private TransactionHandler() {}

  static Transaction buildTransaction(SvcLogicContext ctx, Properties prop,
      String resourceUri) throws Exception {

    String inputRequestAction = ctx.getAttribute(INPUT_REQUEST_ACTION);
    String inputRequestActionType = ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE);

    if (StringUtils.isBlank(inputRequestActionType)) {
      throw new IllegalArgumentException(
          "Don't know REST operation for Action " + inputRequestActionType);
    }
    if (StringUtils.isBlank(inputRequestAction)) {
      throw new IllegalArgumentException("Don't know request-action " + INPUT_REQUEST_ACTION);
    }

    Transaction transaction = new Transaction();
    transaction.setExecutionEndPoint(resourceUri);
    transaction.setExecutionRPC(inputRequestActionType);
    transaction.setAction(INPUT_REQUEST_ACTION);

    //This code need to get changed to get the UserID and pass from a common place.
    transaction.setuId(prop.getProperty(inputRequestAction.concat(".default-rest-user")));
    transaction.setPswd(prop.getProperty(inputRequestAction.concat(".default-rest-pass")));

    return transaction;
  }

}