- 1
- 2
- 3
- 4
- 5
Date date = (Date)value.getParam("DocReceiptDate");
if (date.getHours() == 24) {
date.setHours(0);
}
String documentReceiptDate = (new SimpleDateFormat("dd.MM.yyyy.kk.mm")).format(date);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+81
Date date = (Date)value.getParam("DocReceiptDate");
if (date.getHours() == 24) {
date.setHours(0);
}
String documentReceiptDate = (new SimpleDateFormat("dd.MM.yyyy.kk.mm")).format(date);
Элегантная попытка форматирования даты.
Задача было вместо 24 часов писать 00, например не "24.11.2011.24.23", а "24.11.2011.00.23".
Как все уже догадались, следовало просто использовать формат "dd.MM.yyyy.HH.mm".
+80
Calendar startCal = Calendar.getInstance();
startCal.setTime(DateUtils.truncateDateAndTimeToDateOnly(startDate));
Date strtDt = startCal.getTime();
Calendar endCal = Calendar.getInstance();
endCal.setTime(DateUtils.truncateDateAndTimeToDateOnly(endDate));
Date endDt = endCal.getTime();
Далее по тексту strtDt и endDt используются ровно один раз, startCal и endCal не используются больше вообще. Утилитный метод возвращает требуемый экземпляр класса Date.
+80
if((remoteMachineName == null || remoteMachineName == "")){
result = new Result(false,"Invalid Remote Machine Name..!!");
}else{
CheckOrTerminateProcInstanceTask task = new CheckOrTerminateProcInstanceTask
(processName, argList, oper, username, password,remoteMachineName,chkTer,chkTerMatch);
if (remoteMachineName != null && remoteMachineName.length() > 0) {
....
}else{
....
}
}
Суровые индийские проверки
+80
m_scrabblerProperties = Utils.loadPropertiesFile(m_args[1]);
if (null != m_scrabblerProperties)
{
System.out.println("Executing DBScrubber with properties file " + m_args[1] + " loaded from the classpath");
}
else
{
try
{
m_scrabblerProperties.load(new FileInputStream(m_args[1]));
System.out.println("Executing DBScrubber with properties file " + m_args[1] + " loaded from the file system");
}
catch (IOException e)
{
System.err.println("Failed to load " + m_args[1] + " from the classpath or the file system");
}
}
Utils.loadPropertiesFile - какая то хитрая поделуха которая ищет файл в кэше. Если он не найден в кэше, то автор видимо хотел попробовать считать файл с диска, но судя по всему оказался оказался дебилом.
+121
// This is de facto a Map<Integer, Long> because SUM() returns longs, but
// QueryDSL's type inference makes a fluke here and thinks sum() is an Integer.
// So the return type is Map<Integer, Integer>. Aren't generics fun?
final Map<Integer, ? extends Number> map =
dsl.from(q).where(q.department.eq(params.getDepartment()), q.quantity.ne(0),
q.action.in(UserAction.ORDER_ENGRAVE, UserAction.ORDER_STOCK_WASTAGE,
UserAction.ORDER_INVOICE, UserAction.ORDER_STOCK_ADJUSTMENT),
QueryDsl.subFrom(q2).where(q2.order.eq(q.order), q2.timestamp.goe(interval.getA()),
q2.timestamp.lt(interval.getB()),
q2.action.in(UserAction.ORDER_ENGRAVE, UserAction.ORDER_STOCK_WASTAGE,
UserAction.ORDER_INVOICE, UserAction.ORDER_STOCK_ADJUSTMENT)).exists())
.groupBy(q.order.id).having(q.quantity.sum().gt(0)).map(q.order.id, q.quantity.sum());
+71
public class AuthorizedUserObservervable implements Runnable {
private long sleepTime = 1000;
private HashMap<AuthorizedUserObserver, HashMap<AuthorizedUser, Integer>> observers = new HashMap<AuthorizedUserObserver, HashMap<AuthorizedUser, Integer>>();
private void setSleepTime(long sleepTime) {
this.sleepTime = sleepTime;
}
public void add(AuthorizedUserObserver auo) {
HashMap<AuthorizedUser, Integer> userCache = new HashMap<AuthorizedUser, Integer>();
for (AuthorizedUser user : auo.getUsers()) {
userCache.put(user, null);
}
observers.put(auo, userCache);
}
public void beginObservation() {
new Thread(this).start();
}
@Override
public void run() {
while (true) {
try {
for (Map.Entry<AuthorizedUserObserver, HashMap<AuthorizedUser, Integer>> observer : observers.entrySet()) {
for (Map.Entry<AuthorizedUser, Integer> user : observer.getValue().entrySet()) {
int newPostsCount = user.getKey().getNewPostsCount();
if (user.getValue() == null || newPostsCount != user.getValue()) {
HashMap<AuthorizedUser, Integer> userCache = new HashMap<AuthorizedUser, Integer>();
userCache.put(user.getKey(), newPostsCount);
observers.put(observer.getKey(), userCache);
observer.getKey().notify(user.getKey(), newPostsCount);
}
}
}
Thread.sleep(sleepTime);
} catch (InterruptedException ex) {
Logger.getLogger(UserObservervable.class.getName()).log(Level.SEVERE, null, ex);
} catch (AuthenticationException e) {
Thread.currentThread().stop(e);
}
}
}
}
Чего стоит гибкость.
+73
Credential credential = (Credential) getCurrentObject();
if(isNew(credential)) {
CredentialDetails details=credential.getCurrentDetails();
if(details == null)
throw new NullPointerException("Credential details object is null");
CredentialDetails updatedDetails = credential.getCurrentDetails();
updatedDetails.setStartDate(getCurrentDate());
updatedDetails.setExternalID(credential.getExternalID());
}
if(isNew(credential)==false) {
CredentialDetails details=credential.getCurrentDetails();
if(details == null)
throw new NullPointerException("Credential details object is null");
CredentialDetails updatedDetails = credential.getCurrentDetails();
updatedDetails.setStartDate(getCurrentDate());
updatedDetails.setExternalID(credential.getExternalID());
m_existingDetailsClone.setEndDate(updatedDetails.getStartDate());
updatedDetails.setPreviousDetails(m_existingDetailsClone);
getModCol().addModified( m_existingDetailsClone );
}
Такое впечатление что автор кода клинический идиот. Зачем так насиловать несчастные POJO Credential и CredentialDetailsю
+74
public class User extends HttpApiDealer{
private int id = 347;
private Date lustUpdate;
private long refreshTime = 10;
private boolean onlineStatus;
public boolean isOnline() {
Date timeForRefresh = new Date();
timeForRefresh.setTime(new Date().getTime() - refreshTime);
if(lustUpdate == null) {
lustUpdate = new Date();
}else if(lustUpdate.after(timeForRefresh)) {
}
return true; //заглушка
}
}
Хм, смущает меня работа с датами в этом коде.
+80
public static java.util.Date getPreviousMonth () throws ParseException {
Date currentDate = new Date(System.currentTimeMillis());
Calendar currentCalendar = Calendar.getInstance();
currentCalendar.setTimeInMillis(currentDate.getTime());
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");
//currentCalendar.set(Calendar.MONTH, currentCalendar.get(Calendar.MONTH) - 1);
currentCalendar.set(Calendar.DAY_OF_MONTH, currentCalendar.get(Calendar.DAY_OF_MONTH) - 30);
//currentCalendar.set(Calendar.DATE, currentCalendar.getActualMinimum(Calendar.DAY_OF_MONTH));
format.format(currentCalendar.getTime());
java.util.Date resultDate = null;
resultDate = format.parse(format.format(currentCalendar.getTime()));
return resultDate;
}
Занимаюсь рефакторингом. Особо радует предпоследняя строчка.
+74
protected static final Set<String> SUCCESS_STATUSES = new HashSet<String>(3) {
private static final long serialVersionUID = 76234654856701L;{
add(PROCESSING_COMPLETE_RESULTS_CLEAR.toString());
add(PROCESSING_COMPLETE_WITH_RESULTS_INFORMATION.toString());
add(NOT_PROCESSED_STATE_LIMITATION.toString());
}};
Эпичный способ создать статическую константную мапу без статического блока в основном классе