use of com.netsuite.webservices.platform.core.SearchEnumMultiSelectField in project tdi-studio-se by Talend.
the class NetsuiteManagement_CXF method submitRequest.
public List<Record> submitRequest(boolean useRequestLevelAuth) throws Exception {
if (useRequestLevelAuth) {
initializeStub();
}
List<String> list = Arrays.asList(TalendComponentGenerator.transactionTypeList);
if (list.contains(this.entityClass.getSimpleName())) {
Method typeSetter = findMethod(this.searchBasicClass, "setType");
SearchEnumMultiSelectField semsf = new SearchEnumMultiSelectField();
semsf.getSearchValue().add(TalendComponentGenerator.toInitialLower(this.entityClass.getSimpleName()));
semsf.setOperator(SearchEnumMultiSelectFieldOperator.ANY_OF);
typeSetter.invoke(this.searchBasic, new Object[] { semsf });
}
if (this.hasCustomCriteria) {
this.criteriaSetter = findMethod(this.searchBasicClass, "setCustomFieldList");
SearchCustomFieldList scl = new SearchCustomFieldList();
scl.getCustomField().addAll(Arrays.asList(this.customCriteria));
this.criteriaSetter.invoke(this.searchBasic, new Object[] { scl });
}
Method basicSetter = findMethod(this.searchClass, "setBasic");
basicSetter.invoke(this.search, new Object[] { this.searchBasic });
SearchRecord s = this.search;
if (this.searchAdvanced != null) {
s = this.searchAdvanced;
Method setCriteriaMethod = findMethod(this.searchAdvancedClass, "setCriteria");
setCriteriaMethod.invoke(this.searchAdvanced, new Object[] { this.search });
}
SearchRequest searchRequest = new SearchRequest();
searchRequest.setSearchRecord(s);
this.searchResult = this._port.search(searchRequest).getSearchResult();
if (this.searchResult.getStatus().isIsSuccess()) {
this.searchId = this.searchResult.getSearchId();
if (this.searchResult.getRecordList() != null) {
return filterItemSearch();
}
}
return null;
}
use of com.netsuite.webservices.platform.core.SearchEnumMultiSelectField in project tdi-studio-se by Talend.
the class NetsuiteManagement_CXF method getSearchField.
private Object getSearchField(Class<?> searchClass, List<String> searchValue, String searchFieldName, String searchOperator) throws DatatypeConfigurationException {
Object criteria = null;
Method getFieldMethod = findMethod(searchClass, "get" + searchFieldName);
String searchType = getFieldMethod.getReturnType().getSimpleName();
if (searchType.equals("SearchStringField")) {
SearchStringField searchArgumentType = new SearchStringField();
if (searchValue != null && searchValue.size() != 0) {
searchArgumentType.setSearchValue(searchValue.get(0));
}
searchArgumentType.setOperator(SearchStringFieldOperator.fromValue(searchOperator));
criteria = searchArgumentType;
} else if (searchType.equals("SearchLongField")) {
SearchLongField searchArgumentType = new SearchLongField();
if (searchValue != null && searchValue.size() != 0) {
searchArgumentType.setSearchValue(Long.valueOf(Long.parseLong(searchValue.get(0))));
if (searchValue.size() > 1) {
searchArgumentType.setSearchValue2(Long.valueOf(Long.parseLong(searchValue.get(1))));
}
}
searchArgumentType.setOperator(SearchLongFieldOperator.fromValue(searchOperator));
criteria = searchArgumentType;
} else if (searchType.equals("SearchDateField")) {
SearchDateField searchArgumentType = new SearchDateField();
if (searchValue != null && searchValue.size() != 0) {
Calendar calValue = Calendar.getInstance();
String dateFormat = "yyyy-MM-dd";
String timeFormat = "HH:mm:ss";
String format = dateFormat + " " + timeFormat;
if (searchValue.get(0).length() == dateFormat.length()) {
format = dateFormat;
}
if (searchValue.get(0).length() == timeFormat.length()) {
searchValue.set(0, new SimpleDateFormat(dateFormat).format(calValue.getTime()) + " " + searchValue.get(0));
}
DateFormat df = new SimpleDateFormat(format);
try {
calValue.setTime(df.parse(searchValue.get(0)));
} catch (ParseException e) {
e.printStackTrace();
}
XMLGregorianCalendar xts = DatatypeFactory.newInstance().newXMLGregorianCalendar();
xts.setYear(calValue.get(Calendar.YEAR));
xts.setMonth(calValue.get(Calendar.MONTH) + 1);
xts.setDay(calValue.get(Calendar.DAY_OF_MONTH));
xts.setHour(calValue.get(Calendar.HOUR_OF_DAY));
xts.setMinute(calValue.get(Calendar.MINUTE));
xts.setSecond(calValue.get(Calendar.SECOND));
xts.setMillisecond(calValue.get(Calendar.MILLISECOND));
xts.setTimezone(calValue.get(Calendar.ZONE_OFFSET) / 60000);
searchArgumentType.setSearchValue(xts);
if (searchValue.size() > 1) {
try {
calValue.setTime(df.parse(searchValue.get(1)));
} catch (ParseException e) {
e.printStackTrace();
}
XMLGregorianCalendar xts2 = DatatypeFactory.newInstance().newXMLGregorianCalendar();
xts2.setYear(calValue.get(Calendar.YEAR));
xts2.setMonth(calValue.get(Calendar.MONTH) + 1);
xts2.setDay(calValue.get(Calendar.DAY_OF_MONTH));
xts2.setHour(calValue.get(Calendar.HOUR_OF_DAY));
xts2.setMinute(calValue.get(Calendar.MINUTE));
xts2.setSecond(calValue.get(Calendar.SECOND));
xts2.setMillisecond(calValue.get(Calendar.MILLISECOND));
xts2.setTimezone(calValue.get(Calendar.ZONE_OFFSET) / 60000);
searchArgumentType.setSearchValue2(xts2);
}
}
searchArgumentType.setOperator(SearchDateFieldOperator.fromValue(searchOperator));
criteria = searchArgumentType;
} else if (searchType.equals("SearchBooleanField")) {
SearchBooleanField searchArgumentType = new SearchBooleanField();
searchArgumentType.setSearchValue(Boolean.valueOf(searchValue.get(0)));
criteria = searchArgumentType;
} else if (searchType.equals("SearchDoubleField")) {
SearchDoubleField searchArgumentType = new SearchDoubleField();
if (searchValue != null && searchValue.size() != 0) {
searchArgumentType.setSearchValue(Double.valueOf(Double.parseDouble(searchValue.get(0))));
if (searchValue.size() > 1) {
searchArgumentType.setSearchValue2(Double.valueOf(Double.parseDouble(searchValue.get(1))));
}
}
searchArgumentType.setOperator(SearchDoubleFieldOperator.fromValue(searchOperator));
criteria = searchArgumentType;
} else if (searchType.equals("SearchMultiSelectField")) {
SearchMultiSelectField searchArgumentType = new SearchMultiSelectField();
List<RecordRef> values = searchArgumentType.getSearchValue();
for (int i = 0; i < searchValue.size(); i++) {
RecordRef ref = new RecordRef();
ref.setName(searchValue.get(i));
ref.setInternalId(searchValue.get(i));
ref.setExternalId(null);
ref.setType(null);
values.add(ref);
}
searchArgumentType.setOperator(SearchMultiSelectFieldOperator.fromValue(searchOperator));
criteria = searchArgumentType;
} else if (searchType.equals("SearchEnumMultiSelectField")) {
SearchEnumMultiSelectField searchArgumentType = new SearchEnumMultiSelectField();
searchArgumentType.getSearchValue().addAll(searchValue);
searchArgumentType.setOperator(SearchEnumMultiSelectFieldOperator.fromValue(searchOperator));
criteria = searchArgumentType;
} else if (searchType.equals("String[]")) {
SearchEnumMultiSelectField searchArgumentType = new SearchEnumMultiSelectField();
searchArgumentType.getSearchValue().addAll(searchValue);
searchArgumentType.setOperator(SearchEnumMultiSelectFieldOperator.fromValue(searchOperator));
criteria = searchArgumentType;
} else {
throw new IllegalArgumentException("Unsupported search field type: " + searchType);
}
return criteria;
}
Aggregations