2016-03-20 10 views
1

В Sonar 4.5.6 (с настройками по умолчанию) Я вижу Duplicated Blocks сообщений, какДублированный блок кода в Sonar для операторов импорта в Java

enter image description here

Моего Java код, для которого я получаю сообщение является как показано ниже: -

package com.jabong.orchestratorservice.adapter.order.endpoints; 

import com.jabong.orchestratorservice.adapter.order.request.UpdateOrderStatusReadyShipRequest; 

public class UpdateOrderReadyShipEndPoint extends BaseOrderEndPoint { 
    private final static String API_NAME = "setStatusToReadyToShip"; 

    @Override 
    public String getSourceEndPoint() { 
    return new StringBuilder("direct:").append(API_NAME).toString(); 
    } 

    @Override 
    public String getDestinationEndPoint() { 
    return new StringBuilder("bean:orderHelper?method=").append(API_NAME).toString(); 
    } 

    @Override 
    protected String getName() { 
    return API_NAME; 
    } 

    @Override 
    protected String getApiInputClassName() { 
    return UpdateOrderStatusReadyShipRequest.class.getName(); 
    } 
} 

UpdateOrderStatusReadyShipRequest также не импортирует UpdateOrderReadyShipEndPoint

package com.jabong.orchestratorservice.adapter.order.request; 

public class UpdateOrderStatusReadyShipRequest extends BaseOrderRequest { 

Может кто-нибудь, дайте мне знать, что это значит?

+0

Включает ли другой класс этот? – Tom

+0

Нет, это не импорт. – tuk

ответ

6

Правило Duplicate Blocks вызывает проблемы на уровне файлов. Поэтому он не пытается сказать вам, что ваш оператор импорта дублируется, но что-то в файле является дублирующим блоком. Если вы прокрутите вниз, вы увидите вертикальную желтую/оранжевую полосу в левом поле. Он отмечает дубликат блока. Нажмите на панель, чтобы получить информацию о том, где дублируется блок.

+1

У меня была такая же проблема в моем проекте. Абстрактный класс реализован с двумя другими классами с одинаковыми переопределениями. Сонар издал это как тот же блок. Но на самом деле это не так. В любом случае я избавляюсь от него, заменяя порядок методов в одном из этих классов. Смешно, не так ли? :) –