http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c4c9d2d8/api/src/org/apache/cloudstack/api/command/user/vpn/ListVpnUsersCmd.java
----------------------------------------------------------------------
diff --git 
a/api/src/org/apache/cloudstack/api/command/user/vpn/ListVpnUsersCmd.java 
b/api/src/org/apache/cloudstack/api/command/user/vpn/ListVpnUsersCmd.java
new file mode 100644
index 0000000..fb12f65
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/command/user/vpn/ListVpnUsersCmd.java
@@ -0,0 +1,84 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package org.apache.cloudstack.api.command.user.vpn;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.cloudstack.api.APICommand;
+import org.apache.log4j.Logger;
+
+import org.apache.cloudstack.api.ApiConstants;
+import org.apache.cloudstack.api.BaseListProjectAndAccountResourcesCmd;
+import org.apache.cloudstack.api.Parameter;
+import org.apache.cloudstack.api.response.ListResponse;
+import org.apache.cloudstack.api.response.VpnUsersResponse;
+import com.cloud.network.VpnUser;
+import com.cloud.utils.Pair;
+
+@APICommand(name = "listVpnUsers", description="Lists vpn users", 
responseObject=VpnUsersResponse.class)
+public class ListVpnUsersCmd extends BaseListProjectAndAccountResourcesCmd {
+    public static final Logger s_logger = Logger.getLogger 
(ListVpnUsersCmd.class.getName());
+
+    private static final String s_name = "listvpnusersresponse";
+
+    /////////////////////////////////////////////////////
+    //////////////// API parameters /////////////////////
+    /////////////////////////////////////////////////////
+    @Parameter(name=ApiConstants.ID, type=CommandType.UUID, 
entityType=VpnUsersResponse.class,
+            description="The uuid of the Vpn user")
+    private Long id;
+
+    @Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, 
description="the username of the vpn user.")
+    private String userName;
+
+    /////////////////////////////////////////////////////
+    /////////////////// Accessors ///////////////////////
+    /////////////////////////////////////////////////////
+
+    public Long getId() {
+        return id;
+    }
+
+    public String getUsername() {
+        return userName;
+    }
+
+    /////////////////////////////////////////////////////
+    /////////////// API Implementation///////////////////
+    /////////////////////////////////////////////////////
+
+    @Override
+    public String getCommandName() {
+        return s_name;
+    }
+
+    @Override
+    public void execute(){
+        Pair<List<? extends VpnUser>, Integer> vpnUsers = 
_ravService.searchForVpnUsers(this);
+
+        ListResponse<VpnUsersResponse> response = new 
ListResponse<VpnUsersResponse>();
+        List<VpnUsersResponse> vpnResponses = new 
ArrayList<VpnUsersResponse>();
+        for (VpnUser vpnUser : vpnUsers.first()) {
+            
vpnResponses.add(_responseGenerator.createVpnUserResponse(vpnUser));
+        }
+
+        response.setResponses(vpnResponses, vpnUsers.second());
+        response.setResponseName(getCommandName());
+        this.setResponseObject(response);
+    }
+}

Reply via email to