List of usage examples for org.apache.commons.text StrSubstitutor replace
public String replace(final Object source)
From source file:org.efaps.esjp.accounting.Account2CaseInfo_Base.java
/** * Gets the 4 product./*from ww w . j a va2 s . c om*/ * * @param _parameter Parameter as passed by the eFaps API * @param _caseInst the case inst * @param _productInstance the product instance * @return the 4 product * @throws EFapsException on error */ protected static Account2CaseInfo get4Product(final Parameter _parameter, final Instance _caseInst, final Instance _productInstance) throws EFapsException { Account2CaseInfo ret = null; // first priority is CategoryProduct then TreeView and then Classification final QueryBuilder prodAttrQueryBldr = new QueryBuilder(CIAccounting.CategoryProduct2Product); prodAttrQueryBldr.addWhereAttrEqValue(CIAccounting.CategoryProduct2Product.ToLink, _productInstance); final QueryBuilder attrQueryBldr = new QueryBuilder(CIAccounting.CategoryProduct); attrQueryBldr.addWhereAttrInQuery(CIAccounting.CategoryProduct.ID, prodAttrQueryBldr.getAttributeQuery(CIAccounting.CategoryProduct2Product.FromLink)); attrQueryBldr.addWhereAttrEqValue(CIAccounting.CategoryProduct.PeriodAbstractLink, new Period().evaluateCurrentPeriod(_parameter)); final QueryBuilder queryBldr = new QueryBuilder(CIAccounting.Account2CaseCredit4CategoryProduct); queryBldr.addType(CIAccounting.Account2CaseDebit4CategoryProduct); queryBldr.addWhereAttrEqValue(CIAccounting.Account2CaseAbstract.ToCaseAbstractLink, _caseInst); queryBldr.addWhereAttrInQuery(CIAccounting.Account2CaseAbstract.LinkValue, attrQueryBldr.getAttributeQuery(CIAccounting.CategoryProduct.ID)); ret = Account2CaseInfo_Base.getAccount2CaseInfo(queryBldr); if (ret == null) { final QueryBuilder tvQueryBldr = new QueryBuilder(CIAccounting.Account2Case4ProductTreeViewAbstract); tvQueryBldr.addWhereAttrEqValue(CIAccounting.Account2Case4ProductTreeViewAbstract.ToCaseAbstractLink, _caseInst); final MultiPrintQuery tvMulti = tvQueryBldr.getPrint(); final SelectBuilder selNodeInst = SelectBuilder.get() .linkto(CIAccounting.Account2Case4ProductTreeViewAbstract.ProductTreeViewLink).instance(); tvMulti.addSelect(selNodeInst); tvMulti.execute(); int current = Integer.MAX_VALUE; Instance treeViewInst = null; while (tvMulti.next()) { final Instance nodeInst = tvMulti.getSelect(selNodeInst); final Set<Instance> products = TreeView.getProductDescendants(_parameter, nodeInst); if (products.contains(_productInstance) && products.size() < current) { current = products.size(); treeViewInst = nodeInst; } } if (InstanceUtils.isValid(treeViewInst)) { final QueryBuilder ciQueryBldr = new QueryBuilder( CIAccounting.Account2Case4ProductTreeViewAbstract); ciQueryBldr.addWhereAttrEqValue( CIAccounting.Account2Case4ProductTreeViewAbstract.ToCaseAbstractLink, _caseInst); ciQueryBldr.addWhereAttrEqValue( CIAccounting.Account2Case4ProductTreeViewAbstract.ProductTreeViewLink, treeViewInst); ret = Account2CaseInfo_Base.getAccount2CaseInfo(ciQueryBldr); } } if (ret == null) { final PrintQuery print = new PrintQuery(_productInstance); final SelectBuilder sel = new SelectBuilder().clazz().type(); print.addSelect(sel); print.execute(); final List<Classification> clazzes = print.getSelect(sel); if (clazzes != null) { for (final Classification clazz : clazzes) { Classification classTmp = clazz; while (classTmp != null && ret == null) { final QueryBuilder clazzQueryBldr = new QueryBuilder( CIAccounting.Account2CaseCredit4Classification); clazzQueryBldr.addType(CIAccounting.Account2CaseDebit4Classification); clazzQueryBldr.addWhereAttrEqValue(CIAccounting.Account2CaseAbstract.ToCaseAbstractLink, _caseInst); clazzQueryBldr.addWhereAttrEqValue(CIAccounting.Account2CaseCredit4Classification.LinkValue, classTmp.getId()); ret = Account2CaseInfo_Base.getAccount2CaseInfo(clazzQueryBldr); classTmp = classTmp.getParentClassification(); } } } } if (ret != null && !ret.getRemark().isEmpty()) { final Instance periodInst = new Period().evaluateCurrentPeriod(_parameter, _caseInst); final Properties props = Accounting.getSysConfig().getObjectAttributeValueAsProperties(periodInst); if (BooleanUtils.toBoolean(props.getProperty(AccountingSettings.PERIOD_ACTIVATEREMARK4TRANSPOS))) { final PrintQuery print = CachedPrintQuery.get4Request(_productInstance); print.addAttribute(CIProducts.ProductAbstract.Name, CIProducts.ProductAbstract.Description); print.execute(); final Map<String, String> map = new HashMap<>(); map.put(Accounting.SubstitutorKeys.PRODUCT_NAME.name(), print.getAttribute(CIProducts.ProductAbstract.Name)); map.put(Accounting.SubstitutorKeys.PRODUCT_DESCR.name(), print.getAttribute(CIProducts.ProductAbstract.Description)); final StrSubstitutor sub = new StrSubstitutor(map); ret.setRemark(sub.replace(ret.getRemark())); } } return ret; }
From source file:org.efaps.esjp.accounting.transaction.evaluation.DocumentInfo_Base.java
/** * Gets the description.//w ww . ja v a2s .c o m * * @param _parameter Parameter as passed by the eFaps API * @return the description * @throws EFapsException on error */ public String getDescription(final Parameter _parameter) throws EFapsException { String labelStr = ""; final Instance caseInstTmp = getCaseInst(); if (caseInstTmp != null && caseInstTmp.isValid()) { final PrintQuery print = new CachedPrintQuery(caseInstTmp, Case.CACHEKEY); print.addAttribute(CIAccounting.CaseAbstract.Label); print.execute(); labelStr = print.<String>getAttribute(CIAccounting.CaseAbstract.Label); } else { labelStr = DBProperties.getProperty(DocumentInfo.class.getName() + "." + (InstanceUtils.isValid(getInstance()) ? getInstance().getType().getName() : "Default") + ".description"); } final StrSubstitutor sub = new StrSubstitutor(getMap4Substitutor(_parameter)); return sub.replace(labelStr); }
From source file:org.efaps.esjp.accounting.transaction.evaluation.IncomingExchangeEvaluation_Base.java
/** * Gets the acc two case info for relation. * * @param _parameter Parameter as passed by the eFaps API * @param _doc the doc// ww w . ja va2s .c o m * @param _infos the infos * @throws EFapsException on error */ @Override protected void evalAccount2CaseInfo4Relation(final Parameter _parameter, final DocumentInfo _doc, final List<Account2CaseInfo> _infos) throws EFapsException { final List<Account2CaseInfo> tempInfos = new ArrayList<>(); for (final Account2CaseInfo acc2caseInfo : _infos) { if (acc2caseInfo.isEvalRelation()) { boolean added = false; final QueryBuilder swapQueryBldr = new QueryBuilder(CISales.Document2Document4Swap); swapQueryBldr.setOr(true); swapQueryBldr.addWhereAttrEqValue(CISales.Document2Document4Swap.FromLink, _doc.getInstance()); swapQueryBldr.addWhereAttrEqValue(CISales.Document2Document4Swap.ToLink, _doc.getInstance()); final InstanceQuery swapQuery = swapQueryBldr.getQuery(); final List<Instance> relInst = swapQuery.execute(); if (!relInst.isEmpty()) { final String remark = acc2caseInfo.getRemark(); acc2caseInfo.setRemark(""); for (final SwapInfo info : Swap.getSwapInfos(_parameter, _doc.getInstance(), relInst) .values()) { if (acc2caseInfo.isSeparately()) { final Account2CaseInfo acc2caseInfoTmp = Account2CaseInfo .getAccount2CaseInfo(acc2caseInfo.getInstance()); tempInfos.add(acc2caseInfoTmp); acc2caseInfoTmp.setAmount(info.getAmount()) .setCurrencyInstance(info.getCurrencyInstance()).setDeactCurrencyCheck(true); final Map<String, String> subMap = new HashMap<>(); subMap.put(Accounting.RemarkSubstitutorKeys.RELDOC_NAME.name(), info.getDocName()); final StrSubstitutor sub = new StrSubstitutor(subMap); acc2caseInfoTmp.setRemark(sub.replace(remark)); } else { final Map<String, String> subMap = new HashMap<>(); subMap.put(Accounting.RemarkSubstitutorKeys.RELDOC_NAME.name(), info.getDocName()); final StrSubstitutor sub = new StrSubstitutor(subMap); final String remarkTmp = sub.replace(remark); if (acc2caseInfo.getRemark().isEmpty()) { acc2caseInfo.setRemark(remarkTmp); } else { acc2caseInfo.setRemark(StringUtils .join(new String[] { acc2caseInfo.getRemark(), remarkTmp }, ", ")); } if (!added) { added = true; tempInfos.add(acc2caseInfo); } } } } else { tempInfos.add(acc2caseInfo); } } else { tempInfos.add(acc2caseInfo); } } _infos.clear(); _infos.addAll(tempInfos); }
From source file:org.efaps.esjp.accounting.transaction.evaluation.PaymentDocEvaluation_Base.java
@Override protected void evalAccount2CaseInfo4Relation(final Parameter _parameter, final DocumentInfo _doc, final List<Account2CaseInfo> _infos) throws EFapsException { final List<Account2CaseInfo> tempInfos = new ArrayList<>(); for (final Account2CaseInfo acc2caseInfo : _infos) { if (acc2caseInfo.isEvalRelation()) { boolean added = false; final QueryBuilder queryBldr = new QueryBuilder(CIERP.Document2PaymentDocumentAbstract); queryBldr.addWhereAttrEqValue(CIERP.Document2PaymentDocumentAbstract.ToAbstractLink, _doc.getInstance()); final MultiPrintQuery multi = queryBldr.getPrint(); final SelectBuilder selDoc = new SelectBuilder() .linkto(CIERP.Document2PaymentDocumentAbstract.FromAbstractLink); final SelectBuilder selDocInst = new SelectBuilder(selDoc).instance(); multi.addSelect(selDocInst); multi.addAttribute(CIERP.Document2PaymentDocumentAbstract.Amount, CIERP.Document2PaymentDocumentAbstract.RateCurrencyLink); if (multi.execute()) { final String remark = acc2caseInfo.getRemark(); acc2caseInfo.setRemark(""); while (multi.next()) { final Instance docInst = multi.<Instance>getSelect(selDocInst); final String docName; if (InstanceUtils.isKindOf(docInst, CIERP.DocumentAbstract)) { final PrintQuery print = CachedPrintQuery.get4Request(docInst); print.addAttribute(CISales.DocumentSumAbstract.Name); print.execute(); docName = print.getAttribute(CISales.DocumentSumAbstract.Name); } else { docName = ""; }// w w w .j ava 2s .com if (acc2caseInfo.isSeparately()) { final Account2CaseInfo acc2caseInfoTmp = Account2CaseInfo .getAccount2CaseInfo(acc2caseInfo.getInstance()); tempInfos.add(acc2caseInfoTmp); final CurrencyInst currencyInstObj = CurrencyInst.get(multi .<Long>getAttribute(CIERP.Document2PaymentDocumentAbstract.RateCurrencyLink)); acc2caseInfoTmp .setAmount(multi.getAttribute(CIERP.Document2PaymentDocumentAbstract.Amount)) .setCurrencyInstance(currencyInstObj.getInstance()).setDeactCurrencyCheck(true); final Map<String, String> subMap = new HashMap<>(); subMap.put(Accounting.RemarkSubstitutorKeys.RELDOC_NAME.name(), docName); subMap.put(Accounting.RemarkSubstitutorKeys.RELDOC_TYPE.name(), docInst.getType().getLabel()); final StrSubstitutor sub = new StrSubstitutor(subMap); acc2caseInfoTmp.setRemark(sub.replace(remark)); } else { final Map<String, String> subMap = new HashMap<>(); subMap.put(Accounting.RemarkSubstitutorKeys.RELDOC_NAME.name(), docName); subMap.put(Accounting.RemarkSubstitutorKeys.RELDOC_TYPE.name(), docInst.getType().getLabel()); final StrSubstitutor sub = new StrSubstitutor(subMap); final String remarkTmp = sub.replace(remark); if (acc2caseInfo.getRemark().isEmpty()) { acc2caseInfo.setRemark(remarkTmp); } else { acc2caseInfo.setRemark(StringUtils .join(new String[] { acc2caseInfo.getRemark(), remarkTmp }, ", ")); } if (!added) { added = true; tempInfos.add(acc2caseInfo); } } } } else { tempInfos.add(acc2caseInfo); } } else { tempInfos.add(acc2caseInfo); } } _infos.clear(); _infos.addAll(tempInfos); }
From source file:org.wso2.carbon.das.jobmanager.core.appCreator.SPSiddhiAppCreator.java
private List<SiddhiQuery> generateQueryList(String queryTemplate, String parentAppName, String queryGroupName, int parallelism) { List<SiddhiQuery> queries = new ArrayList<>(parallelism); for (int i = 0; i < parallelism; i++) { Map<String, String> valuesMap = new HashMap<>(1); String appName = queryGroupName + "-" + (i + 1); valuesMap.put(ResourceManagerConstants.APP_NAME, appName); StrSubstitutor substitutor = new StrSubstitutor(valuesMap); queries.add(new SiddhiQuery(appName, substitutor.replace(queryTemplate))); }/* w ww . j a v a2 s .c o m*/ return queries; }
From source file:org.wso2.carbon.das.jobmanager.core.appCreator.SPSiddhiAppCreator.java
private void updateQueryList(List<SiddhiQuery> queryList, Map<String, String> valuesMap) { StrSubstitutor substitutor = new StrSubstitutor(valuesMap); for (SiddhiQuery query : queryList) { String updatedQuery = substitutor.replace(query.getApp()); query.setApp(updatedQuery);//from ww w. j a v a 2s . c om } }
From source file:org.wso2.carbon.das.jobmanager.core.appCreator.SPSiddhiAppCreator.java
private String getUpdatedQuery(String query, Map<String, String> valuesMap) { StrSubstitutor substitutor = new StrSubstitutor(valuesMap); return substitutor.replace(query); }
From source file:org.wso2.carbon.sp.jobmanager.core.topology.SiddhiTopologyCreatorImpl.java
/** * Passthrough query is created using {@link SiddhiTopologyCreatorConstants#DEFAULT_PASSTROUGH_QUERY_TEMPLATE} * and required {@link InputStreamDataHolder} and {@link OutputStreamDataHolder} are assigned to the * SiddhiQueryGroup./*from w w w. j a v a 2 s . c o m*/ */ private void createPassthroughQuery(SiddhiQueryGroup siddhiQueryGroup, InputStreamDataHolder inputStreamDataHolder, String runtimeDefinition) { String streamId = inputStreamDataHolder.getStreamName(); Map<String, String> valuesMap = new HashMap(); String inputStreamID = SiddhiTopologyCreatorConstants.DEFAULT_INPUTSTREAM_NAME + UUID.randomUUID().toString().replaceAll("-", ""); valuesMap.put(SiddhiTopologyCreatorConstants.INPUTSTREAMID, inputStreamID); valuesMap.put(SiddhiTopologyCreatorConstants.OUTPUTSTREAMID, streamId); StrSubstitutor substitutor = new StrSubstitutor(valuesMap); String passThroughQuery = substitutor .replace(SiddhiTopologyCreatorConstants.DEFAULT_PASSTROUGH_QUERY_TEMPLATE); siddhiQueryGroup.addQuery(passThroughQuery); String inputStreamDefinition = inputStreamDataHolder.getStreamDefinition().replace(streamId, inputStreamID); String outputStreamDefinition = "${" + streamId + "} " + runtimeDefinition; siddhiQueryGroup.getInputStreams().put(inputStreamID, new InputStreamDataHolder(inputStreamID, inputStreamDefinition, EventHolder.STREAM, true, new SubscriptionStrategyDataHolder(SiddhiTopologyCreatorConstants.DEFAULT_PARALLEL, TransportStrategy.ALL, null))); siddhiQueryGroup.getOutputStreams().put(streamId, new OutputStreamDataHolder(streamId, outputStreamDefinition, EventHolder.STREAM, false)); }