http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/14bd345f/server/src/com/cloud/api/ApiServer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServer.java 
b/server/src/com/cloud/api/ApiServer.java
index 8a88cbb..6faaa4a 100755
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java
@@ -52,16 +52,29 @@ import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
 import org.apache.cloudstack.acl.APIAccessChecker;
-import org.apache.cloudstack.acl.ControlledEntity;
-import org.apache.cloudstack.api.*;
+import org.apache.cloudstack.api.APICommand;
+import org.apache.cloudstack.api.BaseAsyncCmd;
+import org.apache.cloudstack.api.BaseAsyncCreateCmd;
+import org.apache.cloudstack.api.BaseCmd;
+import org.apache.cloudstack.api.BaseListCmd;
+import org.apache.cloudstack.api.ResponseObject;
+import org.apache.cloudstack.api.ServerApiException;
+import org.apache.cloudstack.api.command.admin.host.ListHostsCmd;
+import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd;
+import org.apache.cloudstack.api.command.admin.user.ListUsersCmd;
 import org.apache.cloudstack.api.command.user.account.ListAccountsCmd;
 import org.apache.cloudstack.api.command.user.account.ListProjectAccountsCmd;
 import org.apache.cloudstack.api.command.user.event.ListEventsCmd;
+import 
org.apache.cloudstack.api.command.user.project.ListProjectInvitationsCmd;
+import org.apache.cloudstack.api.command.user.project.ListProjectsCmd;
+import 
org.apache.cloudstack.api.command.user.securitygroup.ListSecurityGroupsCmd;
+import org.apache.cloudstack.api.command.user.tag.ListTagsCmd;
 import org.apache.cloudstack.api.command.user.vm.ListVMsCmd;
 import org.apache.cloudstack.api.command.user.vmgroup.ListVMGroupsCmd;
 import org.apache.cloudstack.api.command.user.volume.ListVolumesCmd;
+import org.apache.cloudstack.api.response.ExceptionResponse;
+import org.apache.cloudstack.api.response.ListResponse;
 import org.apache.commons.codec.binary.Base64;
-import org.apache.http.client.utils.URLEncodedUtils;
 import org.apache.http.ConnectionClosedException;
 import org.apache.http.HttpException;
 import org.apache.http.HttpRequest;
@@ -69,6 +82,7 @@ import org.apache.http.HttpResponse;
 import org.apache.http.HttpServerConnection;
 import org.apache.http.HttpStatus;
 import org.apache.http.NameValuePair;
+import org.apache.http.client.utils.URLEncodedUtils;
 import org.apache.http.entity.BasicHttpEntity;
 import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.impl.DefaultHttpServerConnection;
@@ -89,18 +103,9 @@ import org.apache.http.protocol.ResponseContent;
 import org.apache.http.protocol.ResponseDate;
 import org.apache.http.protocol.ResponseServer;
 import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
+import org.reflections.Reflections;
 
-import org.apache.cloudstack.api.command.admin.host.ListHostsCmd;
-import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd;
-import org.apache.cloudstack.api.command.admin.user.ListUsersCmd;
-import 
org.apache.cloudstack.api.command.user.project.ListProjectInvitationsCmd;
-import org.apache.cloudstack.api.command.user.project.ListProjectsCmd;
-import 
org.apache.cloudstack.api.command.user.securitygroup.ListSecurityGroupsCmd;
-import org.apache.cloudstack.api.command.user.tag.ListTagsCmd;
 import com.cloud.api.response.ApiResponseSerializer;
-import org.apache.cloudstack.api.response.ExceptionResponse;
-import org.apache.cloudstack.api.response.ListResponse;
 import com.cloud.async.AsyncJob;
 import com.cloud.async.AsyncJobManager;
 import com.cloud.async.AsyncJobVO;
@@ -123,18 +128,15 @@ import com.cloud.user.UserAccount;
 import com.cloud.user.UserContext;
 import com.cloud.user.UserVO;
 import com.cloud.utils.Pair;
-import com.cloud.utils.component.Adapters;
 import com.cloud.utils.StringUtils;
+import com.cloud.utils.component.ComponentContext;
 import com.cloud.utils.component.ComponentLocator;
-import com.cloud.utils.component.Inject;
 import com.cloud.utils.concurrency.NamedThreadFactory;
 import com.cloud.utils.db.SearchCriteria;
 import com.cloud.utils.db.Transaction;
 import com.cloud.utils.exception.CSExceptionErrorCode;
 import com.cloud.uuididentity.dao.IdentityDao;
 
-import org.reflections.Reflections;
-
 public class ApiServer implements HttpRequestHandler {
     private static final Logger s_logger = 
Logger.getLogger(ApiServer.class.getName());
     private static final Logger s_accessLogger = Logger.getLogger("apiserver." 
+ ApiServer.class.getName());
@@ -143,18 +145,18 @@ public class ApiServer implements HttpRequestHandler {
     public static String jsonContentType = "text/javascript";
     private ApiDispatcher _dispatcher;
 
-    @Inject private AccountManager _accountMgr = null;
-    @Inject private DomainManager _domainMgr = null;
-    @Inject private AsyncJobManager _asyncMgr = null;
-    @Inject(adapter = APIAccessChecker.class)
-    protected Adapters<APIAccessChecker> _apiAccessCheckers;
+    @Inject private final AccountManager _accountMgr = null;
+    @Inject private final DomainManager _domainMgr = null;
+    @Inject private final AsyncJobManager _asyncMgr = null;
+    @Inject private ConfigurationDao _configDao;
+    @Inject protected List<APIAccessChecker> _apiAccessCheckers;
 
     private Account _systemAccount = null;
     private User _systemUser = null;
     private static int _workerCount = 0;
     private static ApiServer s_instance = null;
     private static final DateFormat _dateFormat = new 
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
-    private Map<String, Class<?>> _apiNameCmdClassMap = new HashMap<String, 
Class<?>>();
+    private final Map<String, Class<?>> _apiNameCmdClassMap = new 
HashMap<String, Class<?>>();
 
     private static ExecutorService _executor = new ThreadPoolExecutor(10, 150, 
60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new 
NamedThreadFactory("ApiServer"));
 
@@ -164,20 +166,13 @@ public class ApiServer implements HttpRequestHandler {
 
     public static void initApiServer(String[] apiConfig) {
         if (s_instance == null) {
-            //Injecting will create ApiServer object with all its
-            //vars injected as well, no need to do the following:
-            //s_instance = new ApiServer();
-            s_instance = ComponentLocator.inject(ApiServer.class);
+            s_instance = new ApiServer();
+            s_instance = ComponentContext.inject(s_instance);
             s_instance.init(apiConfig);
         }
     }
 
     public static ApiServer getInstance() {
-        // Assumption: CloudStartupServlet would initialize ApiServer
-        // initApiServer(null);
-        if (s_instance == null) {
-            s_logger.fatal("ApiServer instance failed to initialize");
-        }
         return s_instance;
     }
 
@@ -188,11 +183,9 @@ public class ApiServer implements HttpRequestHandler {
         _systemAccount = _accountMgr.getSystemAccount();
         _systemUser = _accountMgr.getSystemUser();
         _dispatcher = ApiDispatcher.getInstance();
-  
+
         Integer apiPort = null; // api port, null by default
-        ComponentLocator locator = 
ComponentLocator.getLocator(ManagementServer.Name);
-        ConfigurationDao configDao = locator.getDao(ConfigurationDao.class);
-        SearchCriteria<ConfigurationVO> sc = configDao.createSearchCriteria();
+        SearchCriteria<ConfigurationVO> sc = _configDao.createSearchCriteria();
         sc.addAnd("name", SearchCriteria.Op.EQ, "integration.api.port");
         List<ConfigurationVO> values = _configDao.search(sc, null);
         if ((values != null) && (values.size() > 0)) {
@@ -215,8 +208,8 @@ public class ApiServer implements HttpRequestHandler {
             _apiNameCmdClassMap.put(apiName, cmdClass);
         }
 
-        encodeApiResponse = 
Boolean.valueOf(configDao.getValue(Config.EncodeApiResponse.key()));
-        String jsonType = 
configDao.getValue(Config.JavaScriptDefaultContentType.key());
+        encodeApiResponse = 
Boolean.valueOf(_configDao.getValue(Config.EncodeApiResponse.key()));
+        String jsonType = 
_configDao.getValue(Config.JavaScriptDefaultContentType.key());
         if (jsonType != null) {
             jsonContentType = jsonType;
         }
@@ -357,29 +350,29 @@ public class ApiServer implements HttpRequestHandler {
             }
         } catch (Exception ex) {
             if (ex instanceof InvalidParameterValueException) {
-               InvalidParameterValueException ref = 
(InvalidParameterValueException)ex;
-               ServerApiException e = new 
ServerApiException(BaseCmd.PARAM_ERROR, ex.getMessage());                    
+                InvalidParameterValueException ref = 
(InvalidParameterValueException)ex;
+                ServerApiException e = new 
ServerApiException(BaseCmd.PARAM_ERROR, ex.getMessage());                   
                 // copy over the IdentityProxy information as well and throw 
the serverapiexception.
                 ArrayList<String> idList = ref.getIdProxyList();
                 if (idList != null) {
-                       // Iterate through entire arraylist and copy over each 
proxy id.
-                       for (int i = 0 ; i < idList.size(); i++) {
-                               e.addProxyObject(idList.get(i));
-                       }
+                    // Iterate through entire arraylist and copy over each 
proxy id.
+                    for (int i = 0 ; i < idList.size(); i++) {
+                        e.addProxyObject(idList.get(i));
+                    }
                 }
                 // Also copy over the cserror code and the function/layer in 
which it was thrown.
-               e.setCSErrorCode(ref.getCSErrorCode());
+                e.setCSErrorCode(ref.getCSErrorCode());
                 throw e;
             } else if (ex instanceof PermissionDeniedException) {
-               PermissionDeniedException ref = (PermissionDeniedException)ex;
-               ServerApiException e = new 
ServerApiException(BaseCmd.ACCOUNT_ERROR, ex.getMessage());
+                PermissionDeniedException ref = (PermissionDeniedException)ex;
+                ServerApiException e = new 
ServerApiException(BaseCmd.ACCOUNT_ERROR, ex.getMessage());
                 // copy over the IdentityProxy information as well and throw 
the serverapiexception.
-               ArrayList<String> idList = ref.getIdProxyList();
+                ArrayList<String> idList = ref.getIdProxyList();
                 if (idList != null) {
-                       // Iterate through entire arraylist and copy over each 
proxy id.
-                       for (int i = 0 ; i < idList.size(); i++) {
-                               e.addProxyObject(idList.get(i));
-                       }
+                    // Iterate through entire arraylist and copy over each 
proxy id.
+                    for (int i = 0 ; i < idList.size(); i++) {
+                        e.addProxyObject(idList.get(i));
+                    }
                 }
                 e.setCSErrorCode(ref.getCSErrorCode());
                 throw e;
@@ -514,15 +507,15 @@ public class ApiServer implements HttpRequestHandler {
                 }
             }
 
-                for (ResponseObject response : responses) {
+            for (ResponseObject response : responses) {
                 if (response.getObjectId() != null && 
objectJobMap.containsKey(response.getObjectId())) {
                     AsyncJob job = objectJobMap.get(response.getObjectId());
                     response.setJobId(job.getUuid());
-                        response.setJobStatus(job.getStatus());
-                    }
+                    response.setJobStatus(job.getStatus());
                 }
             }
         }
+    }
 
     private void buildAuditTrail(StringBuffer auditTrailSb, String command, 
String result) {
         if (result == null) {
@@ -553,7 +546,7 @@ public class ApiServer implements HttpRequestHandler {
 
             // if userId not null, that mean that user is logged in
             if (userId != null) {
-               User user = ApiDBUtils.findUserById(userId);
+                User user = ApiDBUtils.findUserById(userId);
                 if (!isCommandAvailable(user, commandName)) {
                     s_logger.warn("The given command:" + commandName + " does 
not exist or it is not available for user");
                     throw new 
ServerApiException(BaseCmd.UNSUPPORTED_ACTION_ERROR, "The given command does 
not exist or it is not available for user");
@@ -688,7 +681,7 @@ public class ApiServer implements HttpRequestHandler {
         }
         return false;
     }
-    
+
     public Long fetchDomainId(String domainUUID){
         ComponentLocator locator = 
ComponentLocator.getLocator(ManagementServer.Name);
         IdentityDao identityDao = locator.getDao(IdentityDao.class);
@@ -739,19 +732,19 @@ public class ApiServer implements HttpRequestHandler {
             if(user.getUuid() != null){
                 session.setAttribute("user_UUID", user.getUuid());
             }
-            
+
             session.setAttribute("username", userAcct.getUsername());
             session.setAttribute("firstname", userAcct.getFirstname());
             session.setAttribute("lastname", userAcct.getLastname());
             session.setAttribute("accountobj", account);
             session.setAttribute("account", account.getAccountName());
-            
+
             session.setAttribute("domainid", account.getDomainId());
             DomainVO domain = (DomainVO) 
_domainMgr.getDomain(account.getDomainId());
             if(domain.getUuid() != null){
                 session.setAttribute("domain_UUID", domain.getUuid());
             }
-            
+
             session.setAttribute("type", 
Short.valueOf(account.getType()).toString());
             session.setAttribute("registrationtoken", 
userAcct.getRegistrationToken());
             session.setAttribute("registered", new 
Boolean(userAcct.isRegistered()).toString());
@@ -855,8 +848,8 @@ public class ApiServer implements HttpRequestHandler {
 
             _params = new BasicHttpParams();
             _params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 
30000).setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
-                    
.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, 
false).setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
-                    .setParameter(CoreProtocolPNames.ORIGIN_SERVER, 
"HttpComponents/1.1");
+            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, 
false).setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
+            .setParameter(CoreProtocolPNames.ORIGIN_SERVER, 
"HttpComponents/1.1");
 
             // Set up the HTTP protocol processor
             BasicHttpProcessor httpproc = new BasicHttpProcessor();
@@ -968,41 +961,41 @@ public class ApiServer implements HttpRequestHandler {
             // Exception. When invoked from ApiServlet's processRequest(), 
this can be
             // a standard exception like NumberFormatException. We'll leave 
the standard ones alone.
             if (ex != null) {
-               if (ex instanceof ServerApiException || ex instanceof 
PermissionDeniedException
-                               || ex instanceof 
InvalidParameterValueException) {
-                       // Cast the exception appropriately and retrieve the 
IdentityProxy
-                       if (ex instanceof ServerApiException) {
-                               ServerApiException ref = (ServerApiException) 
ex;
-                               ArrayList<String> idList = ref.getIdProxyList();
-                               if (idList != null) {
-                                       for (int i=0; i < idList.size(); i++) {
-                                               
apiResponse.addProxyObject(idList.get(i));
-                                       }                                       
-                               }
-                               // Also copy over the cserror code and the 
function/layer in which it was thrown.
-                               
apiResponse.setCSErrorCode(ref.getCSErrorCode());
-                       } else if (ex instanceof PermissionDeniedException) {
-                               PermissionDeniedException ref = 
(PermissionDeniedException) ex;
-                               ArrayList<String> idList = ref.getIdProxyList();
-                               if (idList != null) {
-                                       for (int i=0; i < idList.size(); i++) {
-                                               
apiResponse.addProxyObject(idList.get(i));
-                                       }                                       
-                               }
-                               // Also copy over the cserror code and the 
function/layer in which it was thrown.
-                               
apiResponse.setCSErrorCode(ref.getCSErrorCode());
-                       } else if (ex instanceof 
InvalidParameterValueException) {
-                               InvalidParameterValueException ref = 
(InvalidParameterValueException) ex;
-                               ArrayList<String> idList = ref.getIdProxyList();
-                               if (idList != null) {
-                                       for (int i=0; i < idList.size(); i++) {
-                                               
apiResponse.addProxyObject(idList.get(i));
-                                       }                                       
-                               }
-                               // Also copy over the cserror code and the 
function/layer in which it was thrown.
-                               
apiResponse.setCSErrorCode(ref.getCSErrorCode());
-                       }
-               }
+                if (ex instanceof ServerApiException || ex instanceof 
PermissionDeniedException
+                        || ex instanceof InvalidParameterValueException) {
+                    // Cast the exception appropriately and retrieve the 
IdentityProxy
+                    if (ex instanceof ServerApiException) {
+                        ServerApiException ref = (ServerApiException) ex;
+                        ArrayList<String> idList = ref.getIdProxyList();
+                        if (idList != null) {
+                            for (int i=0; i < idList.size(); i++) {
+                                apiResponse.addProxyObject(idList.get(i));
+                            }                                          
+                        }
+                        // Also copy over the cserror code and the 
function/layer in which it was thrown.
+                        apiResponse.setCSErrorCode(ref.getCSErrorCode());
+                    } else if (ex instanceof PermissionDeniedException) {
+                        PermissionDeniedException ref = 
(PermissionDeniedException) ex;
+                        ArrayList<String> idList = ref.getIdProxyList();
+                        if (idList != null) {
+                            for (int i=0; i < idList.size(); i++) {
+                                apiResponse.addProxyObject(idList.get(i));
+                            }                                          
+                        }
+                        // Also copy over the cserror code and the 
function/layer in which it was thrown.
+                        apiResponse.setCSErrorCode(ref.getCSErrorCode());
+                    } else if (ex instanceof InvalidParameterValueException) {
+                        InvalidParameterValueException ref = 
(InvalidParameterValueException) ex;
+                        ArrayList<String> idList = ref.getIdProxyList();
+                        if (idList != null) {
+                            for (int i=0; i < idList.size(); i++) {
+                                apiResponse.addProxyObject(idList.get(i));
+                            }                                          
+                        }
+                        // Also copy over the cserror code and the 
function/layer in which it was thrown.
+                        apiResponse.setCSErrorCode(ref.getCSErrorCode());
+                    }
+                }
             }
             SerializationContext.current().setUuidTranslation(true);
             responseText = 
ApiResponseSerializer.toSerializedString(apiResponse, responseType);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/14bd345f/server/src/com/cloud/network/StorageNetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/StorageNetworkManagerImpl.java 
b/server/src/com/cloud/network/StorageNetworkManagerImpl.java
index 6c2411c..b3dd357 100755
--- a/server/src/com/cloud/network/StorageNetworkManagerImpl.java
+++ b/server/src/com/cloud/network/StorageNetworkManagerImpl.java
@@ -27,15 +27,15 @@ import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
 import 
org.apache.cloudstack.api.command.admin.network.CreateStorageNetworkIpRangeCmd;
+import 
org.apache.cloudstack.api.command.admin.network.DeleteStorageNetworkIpRangeCmd;
 import 
org.apache.cloudstack.api.command.admin.network.ListStorageNetworkIpRangeCmd;
 import 
org.apache.cloudstack.api.command.admin.network.UpdateStorageNetworkIpRangeCmd;
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
-import 
org.apache.cloudstack.api.command.admin.network.DeleteStorageNetworkIpRangeCmd;
 import com.cloud.dc.HostPodVO;
-import com.cloud.dc.StorageNetworkIpRange;
 import com.cloud.dc.StorageNetworkIpAddressVO;
+import com.cloud.dc.StorageNetworkIpRange;
 import com.cloud.dc.StorageNetworkIpRangeVO;
 import com.cloud.dc.dao.HostPodDao;
 import com.cloud.dc.dao.StorageNetworkIpAddressDao;
@@ -43,12 +43,11 @@ import com.cloud.dc.dao.StorageNetworkIpRangeDao;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.dao.NetworkDao;
-import com.cloud.utils.component.Inject;
 import com.cloud.utils.db.DB;
+import com.cloud.utils.db.SearchCriteria.Op;
 import com.cloud.utils.db.SearchCriteria2;
 import com.cloud.utils.db.SearchCriteriaService;
 import com.cloud.utils.db.Transaction;
-import com.cloud.utils.db.SearchCriteria.Op;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.net.NetUtils;
 import com.cloud.vm.SecondaryStorageVmVO;
@@ -56,329 +55,332 @@ import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.dao.SecondaryStorageVmDao;
 
 @Component
-@Local(value = {StorageNetworkManager.class, StorageNetworkService.class})
+@Local(value = { StorageNetworkManager.class, StorageNetworkService.class })
 public class StorageNetworkManagerImpl implements StorageNetworkManager, 
StorageNetworkService {
-       private static final Logger s_logger = 
Logger.getLogger(StorageNetworkManagerImpl.class);
-       
-       String _name;
-       @Inject
-       StorageNetworkIpAddressDao _sNwIpDao;
-       @Inject
-       StorageNetworkIpRangeDao _sNwIpRangeDao;
+    private static final Logger s_logger = 
Logger.getLogger(StorageNetworkManagerImpl.class);
+
+    String _name;
+    @Inject
+    StorageNetworkIpAddressDao _sNwIpDao;
+    @Inject
+    StorageNetworkIpRangeDao _sNwIpRangeDao;
     @Inject
     NetworkDao _networkDao;
-       @Inject
-       HostPodDao _podDao;
-       @Inject
-       SecondaryStorageVmDao _ssvmDao;
-       
-       @Override
-       public boolean configure(String name, Map<String, Object> params) 
throws ConfigurationException {
-               _name = name;
-               return true;
-       }
-
-       @Override
-       public boolean start() {
-               // TODO Auto-generated method stub
-               return true;
-       }
-
-       @Override
-       public boolean stop() {
-               // TODO Auto-generated method stub
-               return true;
-       }
-
-       @Override
-       public String getName() {
-               // TODO Auto-generated method stub
-               return null;
-       }
-
-       private void checkOverlapPrivateIpRange(long podId, String startIp, 
String endIp) {
-               HostPodVO pod = _podDao.findById(podId);
-               if (pod == null) {
-                       throw new CloudRuntimeException("Cannot find pod " + 
podId);
-               }
-               String[] IpRange = pod.getDescription().split("-");
-               if ((IpRange[0] == null || IpRange[1] == null) || 
(!NetUtils.isValidIp(IpRange[0]) || !NetUtils.isValidIp(IpRange[1]))) {
-                       return;
-               }
+    @Inject
+    HostPodDao _podDao;
+    @Inject
+    SecondaryStorageVmDao _ssvmDao;
+
+    @Override
+    public boolean configure(String name, Map<String, Object> params) throws 
ConfigurationException {
+        _name = name;
+        return true;
+    }
+
+    @Override
+    public boolean start() {
+        // TODO Auto-generated method stub
+        return true;
+    }
+
+    @Override
+    public boolean stop() {
+        // TODO Auto-generated method stub
+        return true;
+    }
+
+    @Override
+    public String getName() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    private void checkOverlapPrivateIpRange(long podId, String startIp, String 
endIp) {
+        HostPodVO pod = _podDao.findById(podId);
+        if (pod == null) {
+            throw new CloudRuntimeException("Cannot find pod " + podId);
+        }
+        String[] IpRange = pod.getDescription().split("-");
+        if ((IpRange[0] == null || IpRange[1] == null) || 
(!NetUtils.isValidIp(IpRange[0]) || !NetUtils.isValidIp(IpRange[1]))) {
+            return;
+        }
         if (NetUtils.ipRangesOverlap(startIp, endIp, IpRange[0], IpRange[1])) {
             throw new InvalidParameterValueException("The Storage network 
Start IP and endIP address range overlap with private IP :" + IpRange[0] + ":" 
+ IpRange[1]);
         }
-       }
-       
-       private void checkOverlapStorageIpRange(long podId, String startIp, 
String endIp) {
-               List<StorageNetworkIpRangeVO> curRanges = 
_sNwIpRangeDao.listByPodId(podId);
-               for (StorageNetworkIpRangeVO range : curRanges) {
-                       if (NetUtils.ipRangesOverlap(startIp, endIp, 
range.getStartIp(), range.getEndIp())) {
-                   throw new InvalidParameterValueException("The Storage 
network Start IP and endIP address range overlap with private IP :" + 
range.getStartIp() + " - " + range.getEndIp());
-               }
-               }
-       }
-               
-       private void createStorageIpEntires(Transaction txn, long rangeId, 
String startIp, String endIp, long zoneId) throws SQLException {
+    }
+
+    private void checkOverlapStorageIpRange(long podId, String startIp, String 
endIp) {
+        List<StorageNetworkIpRangeVO> curRanges = 
_sNwIpRangeDao.listByPodId(podId);
+        for (StorageNetworkIpRangeVO range : curRanges) {
+            if (NetUtils.ipRangesOverlap(startIp, endIp, range.getStartIp(), 
range.getEndIp())) {
+                throw new InvalidParameterValueException("The Storage network 
Start IP and endIP address range overlap with private IP :" + 
range.getStartIp() + " - " + range.getEndIp());
+            }
+        }
+    }
+
+    private void createStorageIpEntires(Transaction txn, long rangeId, String 
startIp, String endIp, long zoneId) throws SQLException {
         long startIPLong = NetUtils.ip2Long(startIp);
         long endIPLong = NetUtils.ip2Long(endIp);
-               String insertSql = "INSERT INTO 
`cloud`.`op_dc_storage_network_ip_address` (range_id, ip_address, mac_address, 
taken) VALUES (?, ?, (select mac_address from `cloud`.`data_center` where 
id=?), ?)";
-               String updateSql = "UPDATE `cloud`.`data_center` set 
mac_address = mac_address+1 where id=?";
-               PreparedStatement stmt = null;
-               Connection conn = txn.getConnection();
-       
-        while (startIPLong <= endIPLong) {             
-                       stmt = conn.prepareStatement(insertSql);
-                       stmt.setLong(1, rangeId);
-                       stmt.setString(2, NetUtils.long2Ip(startIPLong++));
-                       stmt.setLong(3, zoneId);
-                       stmt.setNull(4, java.sql.Types.DATE);
+        String insertSql = "INSERT INTO 
`cloud`.`op_dc_storage_network_ip_address` (range_id, ip_address, mac_address, 
taken) VALUES (?, ?, (select mac_address from `cloud`.`data_center` where 
id=?), ?)";
+        String updateSql = "UPDATE `cloud`.`data_center` set mac_address = 
mac_address+1 where id=?";
+        PreparedStatement stmt = null;
+        Connection conn = txn.getConnection();
+
+        while (startIPLong <= endIPLong) {
+            stmt = conn.prepareStatement(insertSql);
+            stmt.setLong(1, rangeId);
+            stmt.setString(2, NetUtils.long2Ip(startIPLong++));
+            stmt.setLong(3, zoneId);
+            stmt.setNull(4, java.sql.Types.DATE);
             stmt.executeUpdate();
             stmt.close();
-            
+
             stmt = txn.prepareStatement(updateSql);
             stmt.setLong(1, zoneId);
             stmt.executeUpdate();
             stmt.close();
         }
-       }
-       
-       @Override
-       @DB
+    }
+
+    @Override
+    @DB
     public StorageNetworkIpRange updateIpRange(UpdateStorageNetworkIpRangeCmd 
cmd) {
-           Integer vlan = cmd.getVlan();
-           Long rangeId = cmd.getId();
-           String startIp = cmd.getStartIp();
-           String endIp = cmd.getEndIp();
-           String netmask = cmd.getNetmask();
-           
-               if (netmask != null && !NetUtils.isValidNetmask(netmask)) {
-                       throw new CloudRuntimeException("Invalid netmask:" + 
netmask);
-               }
-               
-               if (_sNwIpDao.countInUseIpByRangeId(rangeId) > 0) {
-                       throw new CloudRuntimeException("Cannot update the 
range," + getInUseIpAddress(rangeId));
-               }
-               
-               StorageNetworkIpRangeVO range = 
_sNwIpRangeDao.findById(rangeId);
-               if (range == null) {
-                       throw new CloudRuntimeException("Cannot find storage ip 
range " + rangeId);
-               }
-               
-               if (startIp != null || endIp != null) {
-                       long podId = range.getPodId();
-                       startIp = startIp == null ? range.getStartIp() : 
startIp;
-                       endIp = endIp == null ? range.getEndIp() : endIp;
-                       checkOverlapPrivateIpRange(podId, startIp, endIp);
-                       checkOverlapStorageIpRange(podId, startIp, endIp);
-               }
-               
-               Transaction txn = Transaction.currentTxn();
-               txn.start();
-               try {
-                       range = 
_sNwIpRangeDao.acquireInLockTable(range.getId());
-                       if (range == null) {
-                               throw new CloudRuntimeException("Cannot acquire 
lock on storage ip range " + rangeId);
-                       }
-                       StorageNetworkIpRangeVO vo = 
_sNwIpRangeDao.createForUpdate();
-                       if (vlan != null) {
-                               vo.setVlan(vlan);
-                       }
-                       if (startIp != null) {
-                               vo.setStartIp(startIp);
-                       }
-                       if (endIp != null) {
-                               vo.setEndIp(endIp);
-                       }
-                       if (netmask != null) {
-                               vo.setNetmask(netmask);
-                       }
-                       _sNwIpRangeDao.update(rangeId, vo);
-               } finally {
-                       if (range != null) {
-                               
_sNwIpRangeDao.releaseFromLockTable(range.getId());
-                       }
-               }
-               txn.commit();
-               
-           return _sNwIpRangeDao.findById(rangeId);
+        Integer vlan = cmd.getVlan();
+        Long rangeId = cmd.getId();
+        String startIp = cmd.getStartIp();
+        String endIp = cmd.getEndIp();
+        String netmask = cmd.getNetmask();
+
+        if (netmask != null && !NetUtils.isValidNetmask(netmask)) {
+            throw new CloudRuntimeException("Invalid netmask:" + netmask);
+        }
+
+        if (_sNwIpDao.countInUseIpByRangeId(rangeId) > 0) {
+            throw new CloudRuntimeException("Cannot update the range," + 
getInUseIpAddress(rangeId));
+        }
+
+        StorageNetworkIpRangeVO range = _sNwIpRangeDao.findById(rangeId);
+        if (range == null) {
+            throw new CloudRuntimeException("Cannot find storage ip range " + 
rangeId);
+        }
+
+        if (startIp != null || endIp != null) {
+            long podId = range.getPodId();
+            startIp = startIp == null ? range.getStartIp() : startIp;
+            endIp = endIp == null ? range.getEndIp() : endIp;
+            checkOverlapPrivateIpRange(podId, startIp, endIp);
+            checkOverlapStorageIpRange(podId, startIp, endIp);
+        }
+
+        Transaction txn = Transaction.currentTxn();
+        txn.start();
+        try {
+            range = _sNwIpRangeDao.acquireInLockTable(range.getId());
+            if (range == null) {
+                throw new CloudRuntimeException("Cannot acquire lock on 
storage ip range " + rangeId);
+            }
+            StorageNetworkIpRangeVO vo = _sNwIpRangeDao.createForUpdate();
+            if (vlan != null) {
+                vo.setVlan(vlan);
+            }
+            if (startIp != null) {
+                vo.setStartIp(startIp);
+            }
+            if (endIp != null) {
+                vo.setEndIp(endIp);
+            }
+            if (netmask != null) {
+                vo.setNetmask(netmask);
+            }
+            _sNwIpRangeDao.update(rangeId, vo);
+        } finally {
+            if (range != null) {
+                _sNwIpRangeDao.releaseFromLockTable(range.getId());
+            }
+        }
+        txn.commit();
+
+        return _sNwIpRangeDao.findById(rangeId);
+    }
+
+    @Override
+    @DB
+    public StorageNetworkIpRange createIpRange(CreateStorageNetworkIpRangeCmd 
cmd) throws SQLException {
+        Long podId = cmd.getPodId();
+        String startIp = cmd.getStartIp();
+        String endIp = cmd.getEndIp();
+        Integer vlan = cmd.getVlan();
+        String netmask = cmd.getNetmask();
+
+        if (endIp == null) {
+            endIp = startIp;
+        }
+
+        if (!NetUtils.isValidNetmask(netmask)) {
+            throw new CloudRuntimeException("Invalid netmask:" + netmask);
+        }
+
+        HostPodVO pod = _podDao.findById(podId);
+        if (pod == null) {
+            throw new CloudRuntimeException("Cannot find pod " + podId);
+        }
+        Long zoneId = pod.getDataCenterId();
+
+        List<NetworkVO> nws = _networkDao.listByZoneAndTrafficType(zoneId, 
TrafficType.Storage);
+        if (nws.size() == 0) {
+            throw new CloudRuntimeException("Cannot find storage network in 
zone " + zoneId);
+        }
+        if (nws.size() > 1) {
+            throw new CloudRuntimeException("Find more than one storage 
network in zone " + zoneId + "," + nws.size() + " found");
+        }
+        NetworkVO nw = nws.get(0);
+
+        checkOverlapPrivateIpRange(podId, startIp, endIp);
+        checkOverlapStorageIpRange(podId, startIp, endIp);
+
+        Transaction txn = Transaction.currentTxn();
+        StorageNetworkIpRangeVO range = null;
+
+        txn.start();
+        range = new StorageNetworkIpRangeVO(zoneId, podId, nw.getId(), 
startIp, endIp, vlan, netmask, cmd.getGateWay());
+        _sNwIpRangeDao.persist(range);
+        try {
+            createStorageIpEntires(txn, range.getId(), startIp, endIp, zoneId);
+        } catch (SQLException e) {
+            txn.rollback();
+            StringBuilder err = new StringBuilder();
+            err.append("Create storage network range failed.");
+            err.append("startIp=" + startIp);
+            err.append("endIp=" + endIp);
+            err.append("netmask=" + netmask);
+            err.append("zoneId=" + zoneId);
+            s_logger.debug(err.toString(), e);
+            throw e;
+        }
+
+        txn.commit();
+
+        return range;
+    }
+
+    private String getInUseIpAddress(long rangeId) {
+        List<String> ips = _sNwIpDao.listInUseIpByRangeId(rangeId);
+        StringBuilder res = new StringBuilder();
+        res.append("Below IP of range " + rangeId + " is still in use:");
+        for (String ip : ips) {
+            res.append(ip).append(",");
+        }
+        return res.toString();
     }
-       
-       @Override
-       @DB
-       public StorageNetworkIpRange 
createIpRange(CreateStorageNetworkIpRangeCmd cmd) throws SQLException {
-               Long podId = cmd.getPodId();
-               String startIp = cmd.getStartIp();
-               String endIp = cmd.getEndIp();
-               Integer vlan = cmd.getVlan();
-               String netmask = cmd.getNetmask();
-
-               if (endIp == null) {
-                       endIp = startIp;
-               }
-               
-               if (!NetUtils.isValidNetmask(netmask)) {
-                       throw new CloudRuntimeException("Invalid netmask:" + 
netmask);
-               }
-               
-               HostPodVO pod = _podDao.findById(podId);
-               if (pod == null) {
-                       throw new CloudRuntimeException("Cannot find pod " + 
podId);
-               }
-               Long zoneId = pod.getDataCenterId();
-               
-               List<NetworkVO> nws = 
_networkDao.listByZoneAndTrafficType(zoneId, TrafficType.Storage);
-               if (nws.size() == 0) {
-                       throw new CloudRuntimeException("Cannot find storage 
network in zone " + zoneId);
-               }
-               if (nws.size() > 1) {
-                       throw new CloudRuntimeException("Find more than one 
storage network in zone " + zoneId + "," + nws.size() + " found");
-               }
-               NetworkVO nw = nws.get(0);
-               
-               checkOverlapPrivateIpRange(podId, startIp, endIp);
-               checkOverlapStorageIpRange(podId, startIp, endIp);
-
-               Transaction txn = Transaction.currentTxn();
-               StorageNetworkIpRangeVO range = null;
-
-               txn.start();
-               range = new StorageNetworkIpRangeVO(zoneId, podId, nw.getId(), 
startIp, endIp, vlan, netmask, cmd.getGateWay());
-               _sNwIpRangeDao.persist(range);
-               try {
-                       createStorageIpEntires(txn, range.getId(), startIp, 
endIp, zoneId);
-               } catch (SQLException e) {
-                       txn.rollback();
-                       StringBuilder err = new StringBuilder();
-                       err.append("Create storage network range failed.");
-                       err.append("startIp=" + startIp);
-                       err.append("endIp=" + endIp);
-                       err.append("netmask=" + netmask);
-                       err.append("zoneId=" + zoneId);
-                       s_logger.debug(err.toString(), e);
-                       throw e;
-               }
-
-               txn.commit();
-               
-               return range;
-       }
-       
-       private String getInUseIpAddress(long rangeId) {
-               List<String> ips = _sNwIpDao.listInUseIpByRangeId(rangeId);
-               StringBuilder res = new StringBuilder();
-               res.append("Below IP of range " + rangeId + " is still in 
use:");
-               for (String ip : ips) {
-                       res.append(ip).append(",");
-               }
-               return res.toString();
-       }
-       
-       @Override
-       @DB
+
+    @Override
+    @DB
     public void deleteIpRange(DeleteStorageNetworkIpRangeCmd cmd) {
-               long rangeId = cmd.getId();
-               StorageNetworkIpRangeVO range = 
_sNwIpRangeDao.findById(rangeId);
-               if (range == null) {
-                       throw new CloudRuntimeException("Can not find storage 
network ip range " + rangeId);
-               }
-               
-               if (_sNwIpDao.countInUseIpByRangeId(rangeId) > 0) {
-                       throw new 
CloudRuntimeException(getInUseIpAddress(rangeId));
-               }
-
-               final Transaction txn = Transaction.currentTxn();
-               txn.start();
-               try {
-                       range = _sNwIpRangeDao.acquireInLockTable(rangeId);
-                       if (range == null) {
-                               String msg = "Unable to acquire lock on storage 
network ip range id=" + rangeId + ", delete failed";
-                               s_logger.warn(msg);
-                               throw new CloudRuntimeException(msg);
-                       }
-                       /* entries in op_dc_storage_network_ip_address will be 
deleted automatically due to fk_storage_ip_address__range_id constraint key */
-                       _sNwIpRangeDao.remove(rangeId);
-               } finally {
-                       if (range != null) {
-                               _sNwIpRangeDao.releaseFromLockTable(rangeId);
-                       }
-               }
-               txn.commit();
-       }
-       
-       @Override
+        long rangeId = cmd.getId();
+        StorageNetworkIpRangeVO range = _sNwIpRangeDao.findById(rangeId);
+        if (range == null) {
+            throw new CloudRuntimeException("Can not find storage network ip 
range " + rangeId);
+        }
+
+        if (_sNwIpDao.countInUseIpByRangeId(rangeId) > 0) {
+            throw new CloudRuntimeException(getInUseIpAddress(rangeId));
+        }
+
+        final Transaction txn = Transaction.currentTxn();
+        txn.start();
+        try {
+            range = _sNwIpRangeDao.acquireInLockTable(rangeId);
+            if (range == null) {
+                String msg = "Unable to acquire lock on storage network ip 
range id=" + rangeId + ", delete failed";
+                s_logger.warn(msg);
+                throw new CloudRuntimeException(msg);
+            }
+            /*
+             * entries in op_dc_storage_network_ip_address will be deleted 
automatically due to
+             * fk_storage_ip_address__range_id constraint key
+             */
+            _sNwIpRangeDao.remove(rangeId);
+        } finally {
+            if (range != null) {
+                _sNwIpRangeDao.releaseFromLockTable(rangeId);
+            }
+        }
+        txn.commit();
+    }
+
+    @Override
     public List<StorageNetworkIpRange> 
listIpRange(ListStorageNetworkIpRangeCmd cmd) {
-               Long rangeId = cmd.getRangeId();
-               Long podId = cmd.getPodId();
-               Long zoneId = cmd.getZoneId();
-               
-               List result = null;
-               if (rangeId != null) {
-                       result = _sNwIpRangeDao.listByRangeId(rangeId);
-               } else if (podId != null) {
-                       result = _sNwIpRangeDao.listByPodId(podId);
-               } else if (zoneId != null) {
-                       result = _sNwIpRangeDao.listByDataCenterId(zoneId);
-               } else {
-                       result = _sNwIpRangeDao.listAll();
-               }
-               
-               return (List<StorageNetworkIpRange>)result;
-       }
-
-       @Override
-       public void releaseIpAddress(String ip) {
-               _sNwIpDao.releaseIpAddress(ip);
-       }
-       
-       @Override
+        Long rangeId = cmd.getRangeId();
+        Long podId = cmd.getPodId();
+        Long zoneId = cmd.getZoneId();
+
+        List result = null;
+        if (rangeId != null) {
+            result = _sNwIpRangeDao.listByRangeId(rangeId);
+        } else if (podId != null) {
+            result = _sNwIpRangeDao.listByPodId(podId);
+        } else if (zoneId != null) {
+            result = _sNwIpRangeDao.listByDataCenterId(zoneId);
+        } else {
+            result = _sNwIpRangeDao.listAll();
+        }
+
+        return result;
+    }
+
+    @Override
+    public void releaseIpAddress(String ip) {
+        _sNwIpDao.releaseIpAddress(ip);
+    }
+
+    @Override
     public StorageNetworkIpAddressVO acquireIpAddress(long podId) {
-               List<StorageNetworkIpRangeVO> ranges = 
_sNwIpRangeDao.listByPodId(podId);
-               for (StorageNetworkIpRangeVO r : ranges) {
-                       try {
-                               r = 
_sNwIpRangeDao.acquireInLockTable(r.getId());
-                               if (r == null) {
-                                       String msg = "Unable to acquire lock on 
storage network ip range id=" + r.getId() + ", delete failed";
-                                       s_logger.warn(msg);
-                                       throw new CloudRuntimeException(msg);
-                               }
-                               
-                               StorageNetworkIpAddressVO ip = 
_sNwIpDao.takeIpAddress(r.getId());
-                               if (ip != null) {
-                                       return ip;
-                               }
-                       } finally {
-                               if (r != null) {
-                                       
_sNwIpRangeDao.releaseFromLockTable(r.getId());
-                               }
-                       }
-               }
-               
-               return null;
+        List<StorageNetworkIpRangeVO> ranges = 
_sNwIpRangeDao.listByPodId(podId);
+        for (StorageNetworkIpRangeVO r : ranges) {
+            try {
+                r = _sNwIpRangeDao.acquireInLockTable(r.getId());
+                if (r == null) {
+                    String msg = "Unable to acquire lock on storage network ip 
range id=" + r.getId() + ", delete failed";
+                    s_logger.warn(msg);
+                    throw new CloudRuntimeException(msg);
+                }
+
+                StorageNetworkIpAddressVO ip = 
_sNwIpDao.takeIpAddress(r.getId());
+                if (ip != null) {
+                    return ip;
+                }
+            } finally {
+                if (r != null) {
+                    _sNwIpRangeDao.releaseFromLockTable(r.getId());
+                }
+            }
+        }
+
+        return null;
     }
 
-       @Override
+    @Override
     public boolean isStorageIpRangeAvailable(long zoneId) {
-           SearchCriteriaService<StorageNetworkIpRangeVO, 
StorageNetworkIpRangeVO> sc = 
SearchCriteria2.create(StorageNetworkIpRangeVO.class);
-           sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, zoneId);
-           List<StorageNetworkIpRangeVO> entries = sc.list();
-               return entries.size() > 0;
+        SearchCriteriaService<StorageNetworkIpRangeVO, 
StorageNetworkIpRangeVO> sc = 
SearchCriteria2.create(StorageNetworkIpRangeVO.class);
+        sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, zoneId);
+        List<StorageNetworkIpRangeVO> entries = sc.list();
+        return entries.size() > 0;
     }
 
-       @Override
+    @Override
     public List<SecondaryStorageVmVO> getSSVMWithNoStorageNetwork(long zoneId) 
{
-           List<SecondaryStorageVmVO> ssvms = 
_ssvmDao.getSecStorageVmListInStates(null, zoneId, 
VirtualMachine.State.Starting, VirtualMachine.State.Running, 
VirtualMachine.State.Stopping);
-           return ssvms;
+        List<SecondaryStorageVmVO> ssvms = 
_ssvmDao.getSecStorageVmListInStates(null, zoneId, 
VirtualMachine.State.Starting, VirtualMachine.State.Running, 
VirtualMachine.State.Stopping);
+        return ssvms;
     }
 
-       @Override
+    @Override
     public boolean isAnyStorageIpInUseInZone(long zoneId) {
-               List<StorageNetworkIpRangeVO> ranges = 
_sNwIpRangeDao.listByDataCenterId(zoneId);
-               for (StorageNetworkIpRangeVO r : ranges) {
-                       if (_sNwIpDao.countInUseIpByRangeId(r.getId()) > 0) {
-                               return true;
-                       }
-               }
-           return false;
+        List<StorageNetworkIpRangeVO> ranges = 
_sNwIpRangeDao.listByDataCenterId(zoneId);
+        for (StorageNetworkIpRangeVO r : ranges) {
+            if (_sNwIpDao.countInUseIpByRangeId(r.getId()) > 0) {
+                return true;
+            }
+        }
+        return false;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/14bd345f/server/src/com/cloud/network/dao/NetworkDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/NetworkDaoImpl.java 
b/server/src/com/cloud/network/dao/NetworkDaoImpl.java
index c6440c3..c3559b6 100644
--- a/server/src/com/cloud/network/dao/NetworkDaoImpl.java
+++ b/server/src/com/cloud/network/dao/NetworkDaoImpl.java
@@ -22,10 +22,11 @@ import java.util.Random;
 
 import javax.annotation.PostConstruct;
 import javax.ejb.Local;
-import javax.inject.Inject;
 import javax.persistence.TableGenerator;
 
 import org.apache.cloudstack.acl.ControlledEntity.ACLType;
+import org.springframework.stereotype.Component;
+
 import com.cloud.network.Network;
 import com.cloud.network.Network.GuestType;
 import com.cloud.network.Network.Provider;
@@ -61,21 +62,21 @@ import com.cloud.utils.net.NetUtils;
 @Local(value = NetworkDao.class)
 @DB(txn = false)
 public class NetworkDaoImpl extends GenericDaoBase<NetworkVO, Long> implements 
NetworkDao {
-    final SearchBuilder<NetworkVO> AllFieldsSearch;
-    final SearchBuilder<NetworkVO> AccountSearch;
-    final SearchBuilder<NetworkVO> RelatedConfigSearch;
-    final SearchBuilder<NetworkVO> AccountNetworkSearch;
-    final SearchBuilder<NetworkVO> ZoneBroadcastUriSearch;
-    final SearchBuilder<NetworkVO> ZoneSecurityGroupSearch;
-    final GenericSearchBuilder<NetworkVO, Integer> CountBy;
-    final SearchBuilder<NetworkVO> PhysicalNetworkSearch;
-    final SearchBuilder<NetworkVO> SecurityGroupSearch;
-    final GenericSearchBuilder<NetworkVO, Long> 
NetworksRegularUserCanCreateSearch;
-    private final GenericSearchBuilder<NetworkVO, Integer> NetworksCount;
-    final SearchBuilder<NetworkVO> SourceNATSearch;
-    final GenericSearchBuilder<NetworkVO, Long>  CountByZoneAndURI;
-    final GenericSearchBuilder<NetworkVO, Long> VpcNetworksCount;
-    final SearchBuilder<NetworkVO> OfferingAccountNetworkSearch;
+    SearchBuilder<NetworkVO> AllFieldsSearch;
+    SearchBuilder<NetworkVO> AccountSearch;
+    SearchBuilder<NetworkVO> RelatedConfigSearch;
+    SearchBuilder<NetworkVO> AccountNetworkSearch;
+    SearchBuilder<NetworkVO> ZoneBroadcastUriSearch;
+    SearchBuilder<NetworkVO> ZoneSecurityGroupSearch;
+    GenericSearchBuilder<NetworkVO, Integer> CountBy;
+    SearchBuilder<NetworkVO> PhysicalNetworkSearch;
+    SearchBuilder<NetworkVO> SecurityGroupSearch;
+    GenericSearchBuilder<NetworkVO, Long> NetworksRegularUserCanCreateSearch;
+    GenericSearchBuilder<NetworkVO, Integer> NetworksCount;
+    SearchBuilder<NetworkVO> SourceNATSearch;
+    GenericSearchBuilder<NetworkVO, Long>  CountByZoneAndURI;
+    GenericSearchBuilder<NetworkVO, Long> VpcNetworksCount;
+    SearchBuilder<NetworkVO> OfferingAccountNetworkSearch;
 
     ResourceTagsDaoImpl _tagsDao = 
ComponentLocator.inject(ResourceTagsDaoImpl.class);
     NetworkAccountDaoImpl _accountsDao = 
ComponentLocator.inject(NetworkAccountDaoImpl.class);
@@ -85,13 +86,13 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
     NetworkOfferingDaoImpl _ntwkOffDao = 
ComponentLocator.inject(NetworkOfferingDaoImpl.class);
 
 
-    final TableGenerator _tgMacAddress;
+    TableGenerator _tgMacAddress;
     Random _rand = new Random(System.currentTimeMillis());
     long _prefix = 0x2;
 
     public NetworkDaoImpl() {
     }
-    
+
     @PostConstruct
     protected void init() {
         AllFieldsSearch = createSearchBuilder();
@@ -150,7 +151,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         CountByZoneAndURI.and("guestType", 
CountByZoneAndURI.entity().getGuestType(), Op.EQ);
 
         CountByZoneAndURI.done();
-        
+
         ZoneSecurityGroupSearch = createSearchBuilder();
         ZoneSecurityGroupSearch.and("dataCenterId", 
ZoneSecurityGroupSearch.entity().getDataCenterId(), Op.EQ);
         SearchBuilder<NetworkServiceMapVO> offJoin = 
_ntwkSvcMap.createSearchBuilder();
@@ -174,12 +175,12 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         join3.and("service", join3.entity().getService(), Op.EQ);
         SecurityGroupSearch.join("services", join3, 
SecurityGroupSearch.entity().getId(), join3.entity().getNetworkId(), 
JoinBuilder.JoinType.INNER);
         SecurityGroupSearch.done();
-        
+
         NetworksCount = createSearchBuilder(Integer.class);
         NetworksCount.select(null, Func.COUNT, NetworksCount.entity().getId());
         NetworksCount.and("networkOfferingId", 
NetworksCount.entity().getNetworkOfferingId(), SearchCriteria.Op.EQ);
         NetworksCount.done();
-        
+
         NetworksRegularUserCanCreateSearch = createSearchBuilder(Long.class);
         NetworksRegularUserCanCreateSearch.and("aclType", 
NetworksRegularUserCanCreateSearch.entity().getAclType(), Op.EQ);
         NetworksRegularUserCanCreateSearch.select(null, Func.COUNT, 
NetworksRegularUserCanCreateSearch.entity().getId());
@@ -193,7 +194,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         NetworksRegularUserCanCreateSearch.done();
 
         _tgMacAddress = _tgs.get("macAddress");
-        
+
         SourceNATSearch = createSearchBuilder();
         SourceNATSearch.and("account", 
SourceNATSearch.entity().getAccountId(), Op.EQ);
         SourceNATSearch.and("datacenter", 
SourceNATSearch.entity().getDataCenterId(), Op.EQ);
@@ -202,7 +203,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         join6.and("service", join6.entity().getService(), Op.EQ);
         SourceNATSearch.join("services", join6, 
SourceNATSearch.entity().getId(), join6.entity().getNetworkId(), 
JoinBuilder.JoinType.INNER);
         SourceNATSearch.done();
-        
+
         VpcNetworksCount = createSearchBuilder(Long.class);
         VpcNetworksCount.and("vpcId", VpcNetworksCount.entity().getVpcId(), 
Op.EQ);
         VpcNetworksCount.select(null, Func.COUNT, 
VpcNetworksCount.entity().getId());
@@ -229,11 +230,11 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         if (type != null) {
             sc.setParameters("guestType", type);
         }
-        
+
         if (isSystem != null) {
             sc.setJoinParameters("offerings", "isSystem", isSystem);
         }
-        
+
         return listBy(sc, null);
     }
 
@@ -360,7 +361,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         SearchCriteria<Long> sc = CountByZoneAndURI.create();
         sc.setParameters("dataCenterId", zoneId);
         sc.setParameters("broadcastUri", broadcastUri);
-        
+
         return customSearch(sc, null).get(0);
     }
 
@@ -409,7 +410,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
     public void clearCheckForGc(long networkId) {
         _opDao.clearCheckForGc(networkId);
     }
-    
+
     @Override
     public void setCheckForGc(long networkId) {
         _opDao.setCheckForGc(networkId);
@@ -431,8 +432,8 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         NetworkDomainVO domain = new NetworkDomainVO(networkId, domainId, 
subdomainAccess);
         _domainsDao.persist(domain);
     }
-    
-    
+
+
     @Override
     public int getNetworkCountByVpcId(long vpcId) {
         SearchCriteria<Integer> sc = CountBy.create();
@@ -440,7 +441,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         List<Integer> results = customSearch(sc, null);
         return results.get(0);
     }
-    
+
 
     @Override
     public List<NetworkVO> listSecurityGroupEnabledNetworks() {
@@ -500,7 +501,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
 
         return listBy(sc, null);
     }
-    
+
     @Override
     public int getNetworkCountByNetworkOffId(long networkOfferingId) {
         SearchCriteria<Integer> sc = NetworksCount.create();
@@ -508,7 +509,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         List<Integer> count = customSearch(sc, null);
         return count.get(0);
     }
-    
+
     @Override
     public long countNetworksUserCanCreate(long ownerId) {
         SearchCriteria<Long> sc = NetworksRegularUserCanCreateSearch.create();
@@ -517,8 +518,8 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         sc.setJoinParameters("ntwkOff", "specifyVlan", false);
         return customSearch(sc, null).get(0);
     }
-    
-    
+
+
     @Override
     public List<NetworkVO> listSourceNATEnabledNetworks(long accountId, long 
dataCenterId, Network.GuestType type) {
         SearchCriteria<NetworkVO> sc = SourceNATSearch.create();
@@ -528,7 +529,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         sc.setJoinParameters("services", "service", 
Service.SourceNat.getName());
         return listBy(sc);
     }
-    
+
     @Override
     public List<NetworkVO> listByVpc(long vpcId) {
         SearchCriteria<NetworkVO> sc = AllFieldsSearch.create();
@@ -549,6 +550,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
         return findOneBy(sc);
     }
 
+    @Override
     @DB
     public boolean remove(Long id) {
         Transaction txn = Transaction.currentTxn();
@@ -585,7 +587,7 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
     public List<NetworkVO> listRedundantNetworks() {
         SearchCriteria<NetworkVO> sc = AllFieldsSearch.create();
         sc.setJoinParameters("offerings", "isRedundant", true);
-        
+
         return listBy(sc, null);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/14bd345f/server/src/com/cloud/network/rules/FirewallRuleVO.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/rules/FirewallRuleVO.java 
b/server/src/com/cloud/network/rules/FirewallRuleVO.java
index 99140c3..8ef5067 100644
--- a/server/src/com/cloud/network/rules/FirewallRuleVO.java
+++ b/server/src/com/cloud/network/rules/FirewallRuleVO.java
@@ -35,18 +35,16 @@ import javax.persistence.InheritanceType;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
-import org.apache.cloudstack.api.Identity;
-import com.cloud.network.dao.FirewallRulesCidrsDaoImpl;
+import com.cloud.network.dao.FirewallRulesCidrsDao;
 import com.cloud.utils.db.GenericDao;
 import com.cloud.utils.net.NetUtils;
-import org.apache.cloudstack.api.InternalIdentity;
 
 @Entity
 @Table(name="firewall_rules")
 @Inheritance(strategy=InheritanceType.JOINED)
 @DiscriminatorColumn(name="purpose", 
discriminatorType=DiscriminatorType.STRING, length=32)
 public class FirewallRuleVO implements FirewallRule {
-    protected final FirewallRulesCidrsDaoImpl _firewallRulesCidrsDao = 
ComponentLocator.inject(FirewallRulesCidrsDaoImpl.class);
+    @Inject protected FirewallRulesCidrsDao _firewallRulesCidrsDao;
 
     @Id
     @GeneratedValue(strategy=GenerationType.IDENTITY)

Reply via email to