use of com.netsuite.webservices.v2014_2.platform.core.types.RecordType in project components by Talend.
the class NetSuiteMockTestBase method createCustomFieldRefs.
protected Map<String, CustomFieldRef> createCustomFieldRefs(Map<String, CustomFieldSpec<RecordType, CustomizationFieldType>> customFieldSpecs) throws Exception {
NetSuiteClientService<?> clientService = webServiceMockTestFixture.getClientService();
Map<String, CustomFieldRef> map = new HashMap<>();
for (CustomFieldSpec<RecordType, CustomizationFieldType> spec : customFieldSpecs.values()) {
CustomFieldRef fieldRef = clientService.getBasicMetaData().createInstance(spec.getFieldRefType().getTypeName());
fieldRef.setScriptId(spec.getScriptId());
fieldRef.setInternalId(spec.getInternalId());
BeanInfo beanInfo = Beans.getBeanInfo(fieldRef.getClass());
PropertyInfo valuePropInfo = beanInfo.getProperty("value");
Object value = composeValue(valuePropInfo.getWriteType());
if (value != null) {
Beans.setProperty(fieldRef, "value", value);
}
map.put(fieldRef.getScriptId(), fieldRef);
}
return map;
}
use of com.netsuite.webservices.v2014_2.platform.core.types.RecordType in project components by Talend.
the class NetSuiteMockTestBase method createCustomFieldCustomizationRefs.
protected Map<String, CustomizationRef> createCustomFieldCustomizationRefs(Map<String, CustomFieldSpec<RecordType, CustomizationFieldType>> customFieldSpecs) throws Exception {
Map<String, CustomizationRef> map = new HashMap<>();
for (CustomFieldSpec<RecordType, CustomizationFieldType> spec : customFieldSpecs.values()) {
CustomizationRef ref = new CustomizationRef();
ref.setScriptId(spec.getScriptId());
ref.setInternalId(spec.getInternalId());
ref.setType(spec.getRecordType());
map.put(ref.getScriptId(), ref);
}
return map;
}
use of com.netsuite.webservices.v2014_2.platform.core.types.RecordType in project components by Talend.
the class NetSuiteMockTestBase method createCustomFieldTypes.
protected Map<String, CustomFieldType> createCustomFieldTypes(Map<String, CustomFieldSpec<RecordType, CustomizationFieldType>> customFieldSpecs) throws Exception {
Map<String, CustomFieldType> customFieldTypeMap = new HashMap<>();
for (CustomFieldSpec<RecordType, CustomizationFieldType> spec : customFieldSpecs.values()) {
CustomFieldType fieldRecord = (CustomFieldType) spec.getFieldTypeClass().newInstance();
Beans.setProperty(fieldRecord, "internalId", spec.getInternalId());
fieldRecord.setScriptId(spec.getScriptId());
fieldRecord.setFieldType(spec.getFieldType());
for (String appliesTo : spec.getAppliesTo()) {
Beans.setProperty(fieldRecord, appliesTo, Boolean.TRUE);
}
customFieldTypeMap.put(fieldRecord.getScriptId(), fieldRecord);
}
return customFieldTypeMap;
}
use of com.netsuite.webservices.v2014_2.platform.core.types.RecordType in project components by Talend.
the class NetSuiteMockTestBase method mockCustomizationRequestResults.
protected void mockCustomizationRequestResults(final Map<String, CustomFieldSpec<RecordType, CustomizationFieldType>> customFieldSpecs) throws Exception {
final NetSuitePortType port = webServiceMockTestFixture.getPortMock();
when(port.getCustomizationId(any(GetCustomizationIdRequest.class))).then(new Answer<GetCustomizationIdResponse>() {
@Override
public GetCustomizationIdResponse answer(InvocationOnMock invocationOnMock) throws Throwable {
GetCustomizationIdRequest request = (GetCustomizationIdRequest) invocationOnMock.getArguments()[0];
CustomizationType customizationType = request.getCustomizationType();
GetCustomizationIdResult result = new GetCustomizationIdResult();
result.setCustomizationRefList(new CustomizationRefList());
result.setStatus(createSuccessStatus());
Map<String, CustomizationRef> customizationRefMap = createCustomFieldCustomizationRefs(customFieldSpecs);
for (String scriptId : customFieldSpecs.keySet()) {
RecordType recordType = RecordType.fromValue(customizationType.getGetCustomizationType().value());
CustomizationRef customizationRef = customizationRefMap.get(scriptId);
if (recordType == customizationRef.getType()) {
result.getCustomizationRefList().getCustomizationRef().add(customizationRef);
}
}
result.setTotalRecords(result.getCustomizationRefList().getCustomizationRef().size());
GetCustomizationIdResponse response = new GetCustomizationIdResponse();
response.setGetCustomizationIdResult(result);
return response;
}
});
when(port.getList(any(GetListRequest.class))).then(new Answer<GetListResponse>() {
@Override
public GetListResponse answer(InvocationOnMock invocationOnMock) throws Throwable {
GetListRequest request = (GetListRequest) invocationOnMock.getArguments()[0];
ReadResponseList readResponseList = new ReadResponseList();
readResponseList.setStatus(createSuccessStatus());
Map<String, CustomFieldType> customFieldTypeMap = createCustomFieldTypes(customFieldSpecs);
for (BaseRef ref : request.getBaseRef()) {
if (ref instanceof CustomizationRef) {
CustomizationRef customizationRef = (CustomizationRef) ref;
if (customFieldTypeMap.containsKey(customizationRef.getScriptId())) {
CustomFieldType fieldType = customFieldTypeMap.get(customizationRef.getScriptId());
ReadResponse readResponse = new ReadResponse();
readResponse.setRecord(fieldType);
readResponse.setStatus(createSuccessStatus());
readResponseList.getReadResponse().add(readResponse);
}
}
}
GetListResponse response = new GetListResponse();
response.setReadResponseList(readResponseList);
return response;
}
});
}
use of com.netsuite.webservices.v2014_2.platform.core.types.RecordType in project components by Talend.
the class NetSuiteMockTestBase method createCustomFieldCustomizationRefs.
protected Map<String, CustomizationRef> createCustomFieldCustomizationRefs(Map<String, CustomFieldSpec<RecordType, CustomizationFieldType>> customFieldSpecs) throws Exception {
Map<String, CustomizationRef> map = new HashMap<>();
for (CustomFieldSpec<RecordType, CustomizationFieldType> spec : customFieldSpecs.values()) {
CustomizationRef ref = new CustomizationRef();
ref.setScriptId(spec.getScriptId());
ref.setInternalId(spec.getInternalId());
ref.setType(spec.getRecordType());
map.put(ref.getScriptId(), ref);
}
return map;
}
Aggregations