Github user jburwell commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/801#discussion_r39895682
  
    --- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ImplementNetworkVspCommand.java
 ---
    @@ -33,16 +34,23 @@
         String _networkName;
         String _networkCidr;
         String _networkGateway;
    +    Long _networkAclId;
    +    List<String> _dnsServers;
    +    List<String> _gatewaySystemIds;
         String _networkUuid;
         boolean _isL3Network;
    +    boolean _isVpc;
    +    boolean _isSharedNetwork;
         String _vpcName;
         String _vpcUuid;
         boolean _defaultEgressPolicy;
    -    Collection<String> _ipAddressRange;
    +    Collection<String[]> _ipAddressRange;
    +    String _domainTemplateName;
     
         public ImplementNetworkVspCommand(String networkDomainName, String 
networkDomainPath, String networkDomainUuid, String networkAccountName, String 
networkAccountUuid,
    -            String networkName, String networkCidr, String networkGateway, 
String networkUuid, boolean isL3Network, String vpcName, String vpcUuid, 
boolean defaultEgressPolicy,
    -            Collection<String> ipAddressRange) {
    +            String networkName, String networkCidr, String networkGateway, 
Long networkAclId, List<String> dnsServers, List<String> gatewaySystemIds, 
String networkUuid,
    +            boolean isL3Network, boolean isVpc, boolean isSharedNetwork, 
String vpcName, String vpcUuid, boolean defaultEgressPolicy, 
Collection<String[]> ipAddressRange,
    +            String domainTemplateName) {
    --- End diff --
    
    The number of parameters is extremely large -- creating a brittle interface 
and difficult to comprehend client client.  Please refactor to the Builder 
pattern (i.e. declare the builder a ``public static final`` inner class to 
create instances of ``ImplementNetworkVspCommand`` and declare the constructor 
of ``ImplementNetworkVspCommand`` ``private``). 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to