Заполнение Пользовательских Диапазонов


Метод у объекта учетной записи помимо содержит список диапазонов, на другой стороне я предоставляю услуги получили список пользователей каждого пользователя содержит список диапазонов .

этот метод следует сравнивать диапазоны, полученные от пользователей с диапазонами счет, если матч добавить этого пользователя в диапазонах счета.

private void fillUsersAccount(Account account,String companyID) throws Exception {


    ApplicationResponse response = RESTServiceUtils.callService(ApplicationContextProvider.getApplicationContext().getBean(EnvironmentConfig.class).getAccountURL()+companyID, false, false, null, ApplicationResponse.class);

    Object companyObjectDetails = response.getResult();


    ArrayList<?> array =(ArrayList<?>)companyObjectDetails;

    List<UserDetails> resultUesrList=array.stream().map(result->parseObject(result)).collect(Collectors.toList());


    //get list of users 
    for(int i=0;i<resultUesrList.size();i++) {

        //get user details
        UserDetails user=resultUesrList.get(i);



        //Retrieve user ranges details 
        List<Range> ranges=user.getRanges();


        //get ranges in user
        for(int j=0;j<ranges.size();j++) {

            //get range user 
            Range rangeUser=ranges.get(j);

            //get ranges inner account 
            for (Range rangeOuter : account.getRanges()) {

                //check if range id equals and type range
                if(rangeUser.getRangeId().equals(rangeOuter.getRangeId())&&rangeUser.getRangeType().equals(rangeOuter.getRangeType()))  {

                    if(rangeOuter.getUsers()!=null) {
                        rangeOuter.getUsers().add(user);
                    }else {
                        List<UserDetails> users=new ArrayList<UserDetails>();
                        users.add(user);
                        rangeOuter.setUsers(users);
                    }


                }

            }

        }


    }


}


95
-2
задан 28 февраля 2018 в 10:02 Источник Поделиться
Комментарии
1 ответ


  • По умолчанию параметры форматирования: ,, ; следует пробел, =, <, != находится в окружении пространства, ...
    Найти себе какие-то преференции и форматирование IDE, который поможет вам сохранить их.

  • Горизонтальная прокрутка-это смерть для читабельности. Если ваши линии слишком длинные, экстракт переменных или вставлять переносы строк в соответствующих местах. Код, как вы получите ваш response просто не приемлема.


    ApplicationResponse response = RESTServiceUtils.callService(ApplicationContextProvider.getApplicationContext().getBean(EnvironmentConfig.class).getAccountURL()+companyID, false, false, null, ApplicationResponse.class);


  • Дженерики являются полезным понятием. Не взорвать его, не используя их. companyObjectDetails будучи Object это капитал правонарушения.

  • Правописание ... я не верю, что я должен говорить об этом, но... resultUesrList должны быть прописаны resultUserList.

  • Вертикальное пространство: этот код очень широкое вертикально (вверх-вниз), но напрасно сжатой по горизонтали (влево-вправо). Почему каждый инструкция отделена от всех других указаний , по крайней мере, одной пустой строкой? Это просто напрашивается на неприятности...

  • Предпочитаю foreach перебирает for петли там, где это возможно. Это позволяет избежать возникновения системных ресурсов при работе с определенных структур. Это также уменьшает количество имен, которые необходимо создавать, поддерживать и подумать. Две внешние циклы for могут быть преобразованы.

  • Комментарии не должны повторяться очевидное. Писать код так, что комментарии становятся излишними. Если код нуждается в комментарии, вы просто еще не достаточно сильно, о том, как вы можете сделать ваш код более самодокументируемый.

  • Последнее, но не менее важное: не throws Exception. Бросить наиболее конкретное исключение возможных. Это добавляет информацию во время компиляции. Вы хотите каждый кусок информации вы можете получить ваши руки во время компиляции. Это может значительно упростить кодирование и может разблокировки оптимизации компилятора вы даже не мечтают.

1
ответ дан 28 февраля 2018 в 11:02 Источник Поделиться