package com.intuit.tank.script; /* * #%L * JSF Support Beans * %% * Copyright (C) 2011 - 2015 Intuit Inc. * %% * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * #L% */ import java.io.Serializable; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import javax.enterprise.context.ConversationScoped; import javax.inject.Named; import com.intuit.tank.project.AssignmentResponseContent; import com.intuit.tank.project.RequestData; import com.intuit.tank.project.ValidationResponseContent; import com.intuit.tank.script.RequestDataPhase; import com.intuit.tank.transform.scriptGenerator.ConverterUtil; import com.intuit.tank.vm.api.enumerated.DataLocation; import com.intuit.tank.vm.api.enumerated.ValidationType; @Named @ConversationScoped public class ResponseContentEditor implements Serializable { private static final long serialVersionUID = 1L; private List<RequestDataContentWrapper> validationContent = new ArrayList<RequestDataContentWrapper>(); private List<RequestDataContentWrapper> assignmentContent = new ArrayList<RequestDataContentWrapper>(); public void editResponseContent(Set<RequestData> requestData) { validationContent = new ArrayList<RequestDataContentWrapper>(); assignmentContent = new ArrayList<RequestDataContentWrapper>(); for (RequestData data : requestData) { if (ConverterUtil.isAssignment(data)) { assignmentContent.add(new RequestDataContentWrapper(data)); } else { validationContent.add(new RequestDataContentWrapper(data)); } } } /** * @return the validationContent */ public List<RequestDataContentWrapper> getValidationContent() { return validationContent; } /** * @return the assignmentContent */ public List<RequestDataContentWrapper> getAssignmentContent() { return assignmentContent; } private void insertValidation(RequestDataPhase phase) { RequestData rd = new RequestData(); rd.setKey("key"); rd.setValue(ValidationType.equals.getValue() + "value"); rd.setPhase(phase); validationContent.add(new RequestDataContentWrapper(rd, false)); } public void insertPreValidation() { insertValidation(RequestDataPhase.PRE_REQUEST); } public void insertPostValidation() { insertValidation(RequestDataPhase.POST_REQUEST); } public void insertAssignment() { RequestData rd = new RequestData(); rd.setKey("key"); rd.setValue("=value"); rd.setPhase(RequestDataPhase.POST_REQUEST); assignmentContent.add(new RequestDataContentWrapper(rd, true)); } public void removeAssignment(RequestDataContentWrapper data) { assignmentContent.remove(data); } public void removeValidation(RequestDataContentWrapper data) { validationContent.remove(data); } public ValidationType[] getValidationValues() { return ValidationType.values(); } public DataLocation[] getDataLocationValues() { return DataLocation.values(); } public RequestDataPhase[] getPhases() { return RequestDataPhase.values(); } public boolean isValidation(RequestData data) { return data instanceof ValidationResponseContent; } public boolean isAssignment(RequestData data) { return data instanceof AssignmentResponseContent; } public Set<RequestData> getRequestDataSet() { Set<RequestData> reqDataSet = new HashSet<RequestData>(); for (RequestDataContentWrapper requestDataContentWrapper : assignmentContent) { reqDataSet.add(requestDataContentWrapper.getData()); } for (RequestDataContentWrapper requestDataContentWrapper : validationContent) { reqDataSet.add(requestDataContentWrapper.getData()); } return reqDataSet; } }