Frank I had a look at this commit and found an issue with it. Please look at my comments in the last file:
On Tue, Sep 23, 2014 at 12:53 AM, <frankzh...@apache.org> wrote: ... > > Branch: refs/heads/master > Commit: b8795d88796aa5b9a736fff3ad6fbcf5d6f2b825 > Parents: 6655d8f > Author: Frank Zhang <frank.zh...@citrix.com> > Authored: Mon Sep 22 15:56:57 2014 -0700 > Committer: Frank Zhang <frank.zh...@citrix.com> > Committed: Mon Sep 22 15:56:57 2014 -0700 > ... http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8795d88/plugins/hypervisors/baremetal/src/org/apache/cloudstack/api/ListBaremetalRctCmd.java > ---------------------------------------------------------------------- > diff --git > a/plugins/hypervisors/baremetal/src/org/apache/cloudstack/api/ListBaremetalRctCmd.java > b/plugins/hypervisors/baremetal/src/org/apache/cloudstack/api/ListBaremetalRctCmd.java > new file mode 100755 > index 0000000..3a69f3c > --- /dev/null > +++ > b/plugins/hypervisors/baremetal/src/org/apache/cloudstack/api/ListBaremetalRctCmd.java > @@ -0,0 +1,69 @@ > +// 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. > +// > +// Automatically generated by addcopyright.py at 01/29/2013 > +package org.apache.cloudstack.api; > + > +import com.cloud.baremetal.manager.BaremetalVlanManager; > +import com.cloud.baremetal.networkservice.BaremetalRctResponse; > +import com.cloud.exception.ConcurrentOperationException; > +import com.cloud.exception.InsufficientCapacityException; > +import com.cloud.exception.NetworkRuleConflictException; > +import com.cloud.exception.ResourceAllocationException; > +import com.cloud.exception.ResourceUnavailableException; > +import org.apache.cloudstack.acl.RoleType; > +import org.apache.cloudstack.api.response.ListResponse; > +import org.apache.log4j.Logger; > + > +import javax.inject.Inject; > +import java.util.ArrayList; > +import java.util.List; > + > +@APICommand(name = "listBaremetalRct", description = "list baremetal rack > configuration", responseObject = BaremetalRctResponse.class, > + requestHasSensitiveInfo = false, responseHasSensitiveInfo = > false, authorized = {RoleType.Admin}) > +public class ListBaremetalRctCmd extends BaseListCmd { > + private static final Logger s_logger = > Logger.getLogger(ListBaremetalRctCmd.class); > + private static final String s_name = "listbaremetalrctresponse"; > + @Inject > + BaremetalVlanManager vlanMgr; > + > here Exception is caught, only ServerApiException is thrown but a long list of exceptions is declared: > + @Override > + public void execute() throws ResourceUnavailableException, > InsufficientCapacityException, ServerApiException, > ConcurrentOperationException, > + ResourceAllocationException, NetworkRuleConflictException { > + try { > + ListResponse<BaremetalRctResponse> response = new > ListResponse<>(); > + List<BaremetalRctResponse> rctResponses = new ArrayList<>(); > + BaremetalRctResponse rsp = vlanMgr.listRct(); > + if (rsp != null) { > + rctResponses.add(rsp); > + } > + response.setResponses(rctResponses); > + response.setResponseName(getCommandName()); > + response.setObjectName("baremetalrcts"); > + this.setResponseObject(response); > only what is actually thrown should be caught > + } catch (Exception e) { > + s_logger.debug("Exception happened while executing > ListBaremetalRctCmd", e); > + throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, > e.getMessage()); > + } > + } > + > + @Override > + public String getCommandName() { > + return s_name; > + } > + > +} > > -- Daan