public void insertAction(ActionEvent event) { try { String fromIndex = StringUtils.extendedArabicToLatinDigit(registerBean.getRegNoFrom()); String toIndex = StringUtils.extendedArabicToLatinDigit(registerBean.getRegNoUntil()); RegisterContainer registerContainer = RegisterNumberParser.parse(fromIndex, toIndex); registerBean.setRegList((StorageContainer.NodeIterator) registerContainer.iterator()); JsfUtils.callFunctionScript("disableAllElements", ""); } catch (NumberFormatException e) { JsfUtils.getInstance().addError("invalidNumberFormatMsg"); JsfUtils.callFunctionScript("enableAllElements()", ""); } catch (IllegalArgumentException e) { JsfUtils.getInstance().addError("regnoFrom_is_greater_than_regnoTo_message"); JsfUtils.callFunctionScript("enableAllElements()", ""); } catch (IllegalStateException e) { JsfUtils.getInstance().addError("regno_is_too_long_message"); JsfUtils.callFunctionScript("enableAllElements()", ""); } }
public void onPoll(PollEvent event) { try { final boolean isLeftToRight = registerBean.isLeftToRight(); final Register currentRecord = registerBean.getCurrentRecord(); final String servicePolicy = registerBean.getServicePolicy(); final String acquisitionStatus = registerBean.getAcquisitionStatus(); final StorageContainer.NodeIterator regList = registerBean.getRegList(); if (regList.hasNext()) { String registerNo = (String) regList.next(); registerNo = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(registerNo) : StringUtils.latinToExtendedArabicDigit(registerNo); currentRecord.setSubfieldData(Tags.HOL_INFO_SERVICE_POLICY, 'a', servicePolicy); currentRecord.setSubfieldRangeData( Tags.HOL_ACQUISITION_STATUS, 'a', acquisitionStatus, 1, 1); currentRecord.setSubfieldData( Tags.HOL_LOC_CALL_NO, 'b', registerBean.getLocationItem().getCode()); currentRecord.setSubfieldData(Tags.HOL_LOC_CALL_NO, 'm', registerNo); // regsList.getIndex() started of 1 final int index = regList.getIndex() - 1; String volume = registerBean.getVolume(); if (registerBean.isHasCounterVolume()) { volume = String.valueOf(Integer.valueOf(volume) + index); } volume = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(volume) : StringUtils.latinToExtendedArabicDigit(volume); currentRecord.setSubfieldData(Tags.HOL_COPY_VOL_INFO, 'a', volume); String copy = registerBean.getCopy(); if (registerBean.isHasCounterCopy()) { copy = String.valueOf(Integer.valueOf(copy) + index); } copy = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(copy) : StringUtils.latinToExtendedArabicDigit(copy); currentRecord.setSubfieldData(Tags.HOL_COPY_VOL_INFO, 'b', copy); String address = registerBean.getAddress(); if (registerBean.isHasCounterAddress()) { address = String.valueOf(Integer.valueOf(address) + index); } address = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(address) : StringUtils.latinToExtendedArabicDigit(address); currentRecord.setSubfieldData(Tags.HOL_COPY_VOL_INFO, 'c', address); String section = registerBean.getSection(); if (registerBean.isHasCounterSection()) { section = String.valueOf(Integer.valueOf(section) + index); } section = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(section) : StringUtils.latinToExtendedArabicDigit(section); currentRecord.setSubfieldData(Tags.HOL_COPY_VOL_INFO, 'd', section); String date = registerBean.getDate(); if (StringUtils.isNotEmpty(date)) { date = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(date) : StringUtils.latinToExtendedArabicDigit(date); currentRecord.setSubfieldData(Tags.HOL_COPY_VOL_INFO, 'e', date); } String print = registerBean.getPrint(); if (StringUtils.isNotEmpty(print)) { print = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(print) : StringUtils.latinToExtendedArabicDigit(print); currentRecord.setSubfieldData(Tags.HOL_LOC_CALL_NO, '9', print); } String ref = registerBean.isReferences() ? "1" : "0"; ref = (isLeftToRight) ? StringUtils.extendedArabicToLatinDigit(ref) : StringUtils.latinToExtendedArabicDigit(ref); currentRecord.setSubfieldData(Tags.HOL_COPY_VOL_INFO, 'r', ref); DataEntryModel dataEntryModel = registerBean.getDataEntryModel(); try { StorageWebUtils.getInstance() .tryToPost( dataEntryModel, currentRecord.getBibliographicRecord(), currentRecord, registerNo, registerBean.getLocationItem(), JsfUtils.getInstance().getLocale()); } catch (DuplicateRegisterRecordException e) { JsfUtils.getInstance().addFormattedError(e.getMessage()); regList.next(); } dataEntryModel.cancel(); StorageWebUtils.getInstance() .releaseRecordLock(currentRecord.getClass(), currentRecord.getId(), true); dataEntryModel = StorageWebUtils.getInstance() .createDataEntryModel( Register.class, null, 0, currentRecord.getBibliographicRecord(), true); registerBean.setDataEntryModel(dataEntryModel); } } catch (Exception e) { } }
public HelperRegNoList getHelperRegNoList() { return new HelperRegNoList(registerBean.getBiblio(), registerBean.getLocationItem()); }
@Override public long getValue() { if (registerBean.getRegList() != null) return registerBean.getRegList().getIndex(); else return 0; }
@Override public long getMaximum() { if (registerBean.getRegList() != null) return registerBean.getRegList().getCount(); else return 0; }
public boolean isRenderPoll() { return registerBean.getRegList() != null; }
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { GeneralValidator validator = new GeneralValidator(); if (registerBean.isLeftToRight()) validator.validateNonEnglishEntry(context, component, value); else validator.validatePersianEntryanddate(context, component, value); }