📄 integratorgetrecords.java
字号:
ServletContext ctx = request.getSession().getServletContext();
ActionContext actx = IntegratorHelper.getActionContext(ctx);
Reqs reqs = EntityFacade.buildReqsFromFields(new ArrayList<FieldData>(),
SEARCH_SAVING_ENTITY, SEARCH_SAVING_ENTITY, null, props, ls, actx);
IntegratedRecordSet set = EntityFacade.performRequest(reqs, SEARCH_SAVING_ENTITY, ls, actx,
EntityViewHelper.FieldsModificator.CUSTOMIZED_GRID);
List<IntegratedRecord> l = set.getRecordSet();
SavedSearchObject[] ret = new SavedSearchObject[l.size()];
Iterator<IntegratedRecord> it = l.iterator();
int i = 0;
while(it.hasNext()) {
IntegratedRecord record = it.next();
Map<String, FieldData> fields = record.getFieldSet();
TextboxFieldData idField = (TextboxFieldData) fields.get("search_id");
TextboxFieldData nameField = (TextboxFieldData) fields.get("name");
TextboxFieldData formIdField = (TextboxFieldData) fields.get("form_id");
String serializedFields = ((MemoFieldData) fields.get("body"))
.getText();
String formId = formIdField.getText();
String entity = EntityOperationsHelper.getEntityNameFromFormID(formId);
Map<String, FieldMeta> meta = EntityViewHelper.getMetaForEntity(
entity, EntityViewHelper.FieldsModificator.FORM,
false, ls,
actx);
FieldData[] fieldsData = EntitySerializeHelper.deSerializeFields(serializedFields, entity, meta, ls, actx);
ret[i] = new SavedSearchObject(nameField.getText(), formId, fieldsData, Long.parseLong(idField.getText()));
i++;
}
return ret;
}
public static ParseDateResponseObject parseDate(ParseDateRequestObject parseRequest, HttpServletRequest req) {
LogonSession ls = WebLoginManager.getLogonSession(req);
// user localized attrs
User user = ls.getUser();
Locale locale = SecurityHelper.getJavaLocale(user.getCountryID(), user.getLangID());
TimeZone tz = SecurityHelper.getJavaTimezone(user.getTimeZoneID());
String datePattern = user.getDatePattern();
String timePattern = user.getTimePattern();
boolean dayPosFirst = user.isDatePositionFirst();
ParseDateResponseObject result;
long sysDateMls;
try {
if (parseRequest.getStringToParse().indexOf("..") == -1) {
if(parseRequest.getStringToParse().indexOf(" ") == -1) {
sysDateMls = ExtDateParser.parseDate(parseRequest.getStringToParse(), dayPosFirst, locale, tz, datePattern, null);
} else {
sysDateMls = ExtDateParser.parseDate(parseRequest.getStringToParse(), dayPosFirst, locale, tz, datePattern, timePattern);
}
Date userDate = new Date(DateHelper.toUser(sysDateMls, tz));
result = new ParseDateResponseObject(userDate/*new Date(parseRequest.getStringToParse())*/, true);
} else {
String[] dates = parseRequest.getStringToParse().split("[.]{2}");
long l = ExtDateParser.parseDate(dates[0], dayPosFirst, locale, tz, datePattern, timePattern);
Date startDate = new Date(DateHelper.toUser(l, tz));
l = ExtDateParser.parseDate(dates[1], dayPosFirst, locale, tz, datePattern, timePattern);
Date endDate = new Date(DateHelper.toUser(l, tz));
result = new ParseDateResponseObject(startDate, endDate, true);
}
} catch (java.text.ParseException ex) {
ex.printStackTrace();
result = new ParseDateResponseObject();
}
return result;
}
public static FormatDataResponseObject formatDate(FormatDataRequestObject request, HttpServletRequest req) {
LogonSession ls = WebLoginManager.getLogonSession(req);
// user localized attrs
User user = ls.getUser();
String datePattern = user.getDatePattern();
String timePattern = user.getTimePattern();
Date startDate = new Date(request.getStartDate().getYear(), request.getStartDate().getMonth(), request.getStartDate().getDate(), request.getStartDate().getHours(), request.getStartDate().getMinutes());
Date endDate = null;
if(request.getEndDate() != null)
endDate = new Date(request.getEndDate().getYear(), request.getEndDate().getMonth(), request.getEndDate().getDate(), request.getEndDate().getHours(), request.getEndDate().getMinutes());
String formattedDate = EntitySerializeHelper.getDateStringRepresentation(startDate, endDate, datePattern, timePattern, null);
return new FormatDataResponseObject(formattedDate);
}
public static void customizeGrid(CustomizeGridRequestObject request, HttpServletRequest req)
throws DisplayableException {
LogonSession ls = WebLoginManager.getLogonSession(req);
ServletContext ctx = req.getSession().getServletContext();
// user localized attrs
User user = ls.getUser();
String entity = EntityOperationsHelper.getEntityNameFromFormID(request.getFormID());
SubsetData columnsData = request.getColumns();
if(columnsData == null) {
IntegratorHelper.throwException("Unable to retrieve data about selected columns");
}
long[] ids = columnsData.getSelectedIDs();
String[] fields = new String[ids.length];
ActionContext actx = IntegratorHelper.getActionContext(ctx);
FieldMeta[] metas = EntityViewHelper.getMetaInfoForEntity(entity,
EntityViewHelper.FieldsModificator.FORM, false, ls,
actx);
for (int i = 0; i < ids.length; i++) {
int idx = (int) ids[i];
fields[i] = metas[idx].getFieldID();
}
try {
UserPropertyManagerLocal userPropManager = actx.getUserPropertyManager();
userPropManager.setFieldsForGrid(user, entity, fields);
} catch (RuntimeException th) {
IntegratorHelper.reThrowException(th);
}
}
public static void deleteRecord(EntityDeleteRequestObject deleteRequest, HttpServletRequest httpRequest)
throws DisplayableException {
String entityName = EntityOperationsHelper.getEntityNameFromFormID(deleteRequest.getFormID());
List<EntityData> entityData = new ArrayList<EntityData>();
for (Long rowID : (List<Long>)deleteRequest.getRowIDs()) {
entityData.add(new EntityData(entityName, rowID, null));
}
ServletContext ctx = httpRequest.getSession().getServletContext();
LogonSession ls = WebLoginManager.getLogonSession(httpRequest);
try {
ActionContext actx = IntegratorHelper.getActionContext(ctx);
EntityFacade.deleteRecord(entityData.toArray(new EntityData[entityData.size()]), actx, ls);
} catch (EQLException e) {
IntegratorHelper.throwException("Eql exception occured. Caused by :" + e.getMessage() + ". ", e);
} catch (RuntimeException th) {
if (th.getCause() != null &&
th.getCause() instanceof EQLConstraintViolationException) {
IntegratorHelper.throwConstraintException((EQLConstraintViolationException) th.getCause(), ls, ctx);
} else {
IntegratorHelper.reThrowException(th);
}
}
}
public static void deleteSavedSearch(SavedSearchDeleteRequestObject request, HttpServletRequest httpRequest)
throws DisplayableException {
String entityName = SEARCH_SAVING_ENTITY;
List<EntityData> entityData = new ArrayList<EntityData>();
for(Long rowID: request.getRowIDs()){
entityData.add(new EntityData(entityName, rowID, null));
}
ServletContext ctx = httpRequest.getSession().getServletContext();
LogonSession ls = WebLoginManager.getLogonSession(httpRequest);
try {
EntityFacade.deleteRecord(entityData.toArray(new EntityData[entityData.size()]), IntegratorHelper.getActionContext(ctx), ls);
} catch (EQLException e) {
IntegratorHelper.throwException("Eql exception occured. Caused by :" + e.getMessage() + ". ", e);
} catch (RuntimeException th) {
IntegratorHelper.reThrowException(th);
}
}
public static HistoryOnDemandData loadHistory(HistoryDataRequest request, LogonSession ls, ActionContext actx) throws DisplayableException {
HistoryOnDemandData ret = null;
try {
IntegratedRecordSet result = EntityFacade.getEntityByIDRequest("history", request.getRecordId(), ls, actx);
if(result.getRowsCount() > 0) {
ResField historyResField = result.getInitialResultSet().getRess().getRes().getResRecord(0).getResField(1);
String history = historyResField.getResFieldValue();
HistoryLocal historyMgr = actx.getHistoryManager();
ret = new HistoryOnDemandData(request.getElementID(), historyMgr.toHTML(history));
}
} catch (EQLException e) {
IntegratorHelper.throwException("Eql exception occured. Caused by :" + e.getMessage() + ". ", e);
} catch (RuntimeException th) {
IntegratorHelper.reThrowException(th);
}
return ret;
}
public static AccumulatedEntityDataResponse clearEntity(ClearEntityRequestObject clearRequest, HttpServletRequest request) throws DisplayableException {
AccumulatedEntityDataResponse response = null;
try {
ServletContext ctx = request.getSession().getServletContext();
LogonSession ls = WebLoginManager.getLogonSession(request);
BoundFormsOperationsHelper.ResultFormStructure boundResultSet =
BoundFormsOperationsHelper.getClearBoundFormResult(clearRequest.getFormID(), ls, IntegratorHelper.getActionContext(ctx));
List<EntityData> fields = boundResultSet.getFieldDatas();
response = new AccumulatedEntityDataResponse(new EntityData[0], fields.toArray(new EntityData[fields.size()]), null);
} catch (RuntimeException th) {
IntegratorHelper.reThrowException(th);
}
return response;
}
public static boolean sendEmail(EmailComposeRequestObject request, HttpServletRequest httpRequest) throws DisplayableException {
LogonSession ls = WebLoginManager.getLogonSession(httpRequest);
ServletContext ctx = httpRequest.getSession().getServletContext();
MailAddress[] to = MailAddress.parse( request.getTo() );
MailAddress from;
String fromAddr = request.getFrom();
if (!StringHelper.isEmpty(fromAddr)) {
from = new MailAddress(fromAddr);
} else {
String defaultSender = InboxHelper.getDefSender(ls);
from = new MailAddress(defaultSender);
}
InboxMessage message = new InboxMessage(to, from, request.getSubject(), request.getBody());
String ccAddr = request.getCc();
if( !StringHelper.isEmpty( ccAddr ) ) {
message.setCc( MailAddress.parse( ccAddr ) );
}
message.setProcessId(request.getProcess_id());
InboxManagerLocal inboxLocal = IntegratorHelper.getActionContext(ctx).getInboxManagerLocal();
try {
inboxLocal.sendEmailMessage(ls, message, null);
} catch (MessagingException ex) {
//IntegratorHelper.reThrowException(ex);
return false;
} catch (RuntimeException th) {
IntegratorHelper.reThrowException(th);
return false;
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -