if (getRequest().getMethod().equalsIgnoreCase("post")) {
String walkthroughReviewItemId = getRequest().getParameter("walkthroughReviewItem.id");
if (!StringUtil.isEmpty(walkthroughReviewItemId)) walkthroughReviewItem = walkthroughReviewItemManager.get(new Long(walkthroughReviewItemId));
}
String currentDatasource = ServletActionContext.getRequest().getSession().getAttribute("currentUserDatasource").toString();
Matcher matcher = Pattern.compile("template[0-9]*DS").matcher(currentDatasource);
if(!matcher.find()) projectDatasource = true;
}
Pattern pvalue;
Pattern pSerialNumber;
@Autowired
public SerialNumberManagerImpl(SerialNumberDao serialNumberDao) {
super(serialNumberDao);
this.serialNumberDao = serialNumberDao;
pSerialNumber = Pattern.compile(" \\{[a-z|A-Z]*-\\ }", 10); // [a-z|A-Z]*-
pvalue = Pattern.compile(" \\{N*\\ }", 10); // N*
}
public String generateSerialNumber(String name) {
StringBuffer result = new StringBuffer();
SerialNumber serialNumber = serialNumberDao.generateSerialNumber(name);
if (serialNumber == null) return null;
String s1 = serialNumber.getRule();
Date date = new Date();
Matcher matcher3 = pvalue.matcher(s1);
if(matcher3.find()){
String s5 = matcher3.group(0);
s5 = s5.substring(1, s5.length() - 1);
s1 = s5.toLowerCase().replace("n", "");
}
Matcher matcher5 = pSerialNumber.matcher(s1);
if(matcher5.find()){
s1 = s1.replaceAll("\\{", "").replaceAll("\\}", "");
}
result.append(s1);
Long sequence = new Long(serialNumber.getSequence().longValue() + 1);
int length = serialNumber.getLength().intValue();
int num = sequence.toString().length();
if ((length - num) < 0){
serialNumber.setLength(new Long(length+1));
}
for(int i=0;i< ( length - sequence.toString().length() ) ; i++){
result.append("0");
}
result.append(sequence);
serialNumber.setSequence( sequence );
serialNumber = serialNumberDao.save(serialNumber);
flush();
return result.toString();
}