1. Java / Говнокод #10175

    +66

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    package util;
    
    import play.db.jpa.JPA;
    import play.db.jpa.Model;
    import play.mvc.Http;
    import play.mvc.Router;
    import play.mvc.Scope;
    
    import javax.persistence.Query;
    import javax.persistence.EntityManager;
    import java.lang.reflect.Field;
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * Page of results for model classes (because paginate module looks too buggy).
     * It is not generic solution but it fits the needs.
     * @author <a href="mailto:[email protected]">Roman Kashitsyn</a>
     */
    public class Page<M extends Model> implements PageBuilder<M> {
        
        public static final int MAX_PAGE_SIZE = 20;
        public static final int DEFAULT_PAGE_SIZE = 10;
        public static final int DEFAULT_PAGE_NUMBER = 1;
    
        public static final String PAGE_NUMBER_PARAM = "page";
        public static final String PAGE_SIZE_PARAM = "psize";
        public static final String ORDER_PARAM = "order";
        public static final String ORDER_BY_PARAM = "orderBy";
        
        private static final String ASC = "asc";
        private static final String DESC = "desc";
        private static final List<String> ALLOWED_ORDERS = Arrays.asList(ASC, DESC);
    
        private int pageSize = DEFAULT_PAGE_SIZE;
        private int pageNumber = DEFAULT_PAGE_NUMBER;
        private int total;
        private String orderBy;
        private String order;
        private final Http.Request request;
        private final Map<String, Object> params;
        private List<M> results;
        private final Class<M> clazz;
    
        public class SizeSwitcher {
            private final Map<String, Object> params;
    
            private SizeSwitcher() {
                // making defensive copy
                params = new HashMap<String, Object>(Page.this.params);
                // list of different size should always begin with 1 page
                params.put(PAGE_NUMBER_PARAM, 1);
            }
    
            public String urlToSwitchSize(int newSize) {
                params.put(PAGE_SIZE_PARAM, newSize);
                return Router.reverse(Page.this.request.action, params).url;
            }
    
            public int currentSize() {
                return Page.this.pageSize;
            }
        }
    
        private Page(Class<M> clazz) {
            this.clazz = clazz;
            request = Http.Request.current();
            params = new HashMap<String, Object>(Scope.Params.current().allSimple());
        }
        
        public static <M extends Model> PageBuilder<M> of(Class<M> modelClass) {
            return new Page<M>(modelClass);
        }
        
        public PageBuilder<M> withParams(Map<?, ?> params) {
            pageNumber = limit(params.get(PAGE_NUMBER_PARAM), pageNumber, Integer.MAX_VALUE);
            pageSize = limit(params.get(PAGE_SIZE_PARAM), pageSize, MAX_PAGE_SIZE);
            Object orderByParam = params.get(ORDER_BY_PARAM);
            if (orderByParam != null) {
                orderBy(getSingleValue(orderByParam).toString());
            }
            Object orderParam = params.get(ORDER_PARAM);
            if (orderParam != null) {
                String proposedValue = getSingleValue(orderParam).toString();
                if (ALLOWED_ORDERS.contains(proposedValue)) {
                    order = getSingleValue(orderParam).toString();
                }
            }
            return this;
        }
    
        public PageBuilder<M> withNumber(int num) {
            this.pageNumber = num;
            return this;
        }

    Govnisti_Diavol, 03 Мая 2012

    Комментарии (14)
  2. Java / Говнокод #10168

    +71

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    public class ... {
    
    public Double toDoubleValue(String s){
    	Double value;
    	if (s!=""){
    		value = Double.valueOf(s);
    		return value;
    	}
    	else {
    		value = 0.00;
    		return value;
    	}
            ....
            toDoubleValue(row.getColumnValue(col.getId()).toString());
    }

    1. На null не проверяется
    2. Можно было тоже самое написать короче, не объявляя дополнительный метод, с помощью ?:

    -EZ-, 02 Мая 2012

    Комментарии (21)
  3. Java / Говнокод #10127

    +63

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    public class SinglePictureAdapter extends BaseAdapter {
    	private int viewType;
    	private int resource;
    	private Context context;
    	
    	public SinglePictureAdapter(Context context, int resource, int viewType) {
    		this.viewType = viewType;
    		this.resource = resource;
    		this.context = context;
    	}
    	
    	@Override
    	public int getItemViewType(int position) {
    		return viewType;
    	}
    	
    	@Override
    	public int getCount() {
    		return 1;
    	}
    
    	@Override
    	public Object getItem(int position) {
    		return null;
    	}
    
    	@Override
    	public long getItemId(int position) {
    		return 0;
    	}
    
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent) {
    		if (convertView == null) {
    			LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    			convertView = inflater.inflate(resource, null);
    		}
    		return convertView;
    	}
    }

    SinglePictureAdapter, а picture *ять где?

    enikey87, 01 Мая 2012

    Комментарии (12)
  4. Java / Говнокод #10072

    +84

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    public static String converterMsToTimeString(Long msecond){
    		String result="";
    		if (msecond!=0){
    			long hours =  msecond /(1000*60*60);
    			long minuts =  (msecond % (1000*60*60))/(1000*60);
    			long seconds =  ((msecond % (1000*60*60)) %(1000*60)) / 1000;
    			result = (hours < 10 ? "0" + String.valueOf(hours) : String.valueOf(hours)) + ":" 
    					+ (minuts < 10 ? "0" + String.valueOf(minuts) : String.valueOf(minuts)) + ":"
    						+ (seconds < 10 ? "0" + String.valueOf(seconds) : String.valueOf(seconds));
    			
    		}
    		result=""; // not many
    		return result;
    	}

    Вставлено как есть. Смысл комента ускользает...

    alexcom, 28 Апреля 2012

    Комментарии (21)
  5. Java / Говнокод #10063

    +82

    1. 1
    info.setCreatingDate(document.getREGDATE() != null ? document.getREGDATE() : null);

    из реального проекта

    amberLord, 27 Апреля 2012

    Комментарии (15)
  6. Java / Говнокод #10033

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Asynchronously load the DXF.
    // While we're doing that, the data can change, so we should guard against it.
    new WebappResourceLoader().loadResource(ResourceType.DXF, sDxfName + ".dxf",
    	new ResourceCallback<List<String>>() {
    		@Override
    		public void onSuccess(final List<String> result) {
    			if (!sDxfName.equals(dxfToLoad)) {
    				// Too slow, dude.
    				return;
    			}

    someone, 25 Апреля 2012

    Комментарии (3)
  7. Java / Говнокод #10026

    +96

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public void setWeather(WeatherData[] weather) {
    		weatherInfo.setWeather(weather[0]);
    		weatherInfo.setTomorrowWeather(weather[1]);
    		weatherInfo.setDayAfterTomorrowWeather(weather[2]);
    		weatherInfo.setDayAfterDayAfterTomorrowWeather(weather[3]);
    		weatherInfo.setDayAfterDayAfterDayAfterTomorrowWeather(weather[4]);
    		weatherInfo.setDayAfterDayAfterDayAfterDayAfterTomorrowWeather(weather[5]);
    	}

    Студенты такие студенты....

    b3er, 23 Апреля 2012

    Комментарии (14)
  8. Java / Говнокод #10019

    +70

    1. 1
    if (sAttrName.equalsIgnoreCase("10")) {

    someone, 23 Апреля 2012

    Комментарии (10)
  9. Java / Говнокод #10014

    +92

    1. 1
    "".equalsIgnoreCase(propertiesFile) != true

    индусское достояние

    Desperate, 22 Апреля 2012

    Комментарии (20)
  10. Java / Говнокод #9997

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    return suffix == ' ' ? ssize : (
                    si ? ssize + suffix : (
                        suffix == ' ' ? ssize + suffix : (
                            ssize + suffix + "iB"
                        )
                    )
            );

    Ведь всего-то навсего
    if (suffix == ' ') return ssize;
    if (si) return ssize + suffix;
    return ssize + suffix + "iB";

    Doctoror, 20 Апреля 2012

    Комментарии (18)