Hi, Would you mind posting the code as a draft patch to gerrit.ovirt.org ? It will allow full transparency of the the code, will allow a better feedback and also will allow developers to apply the patch locally and even upload a fixed version of it.
Thanks, Moti ----- Original Message ----- > From: "力波 王" <wlblea...@126.com> > To: Devel@ovirt.org > Sent: Friday, August 8, 2014 11:17:15 AM > Subject: [ovirt-devel] FW: add a ***Command for a button > > > > 发件人: 力波 王 < wlblea...@126.com > > 日期: Fri, 08 Aug 2014 16:10:48 +0800 > 至: < devel@ovirt.org > > 主题: [ovirt-devel] add a ***Command for a button > > Hi, everyone: > I added a button on the Template Tab, in the client side, It’s OK, > > Added the button’s callback like this: > ======================================================================= > private void backup() > { > BackupInfoParameters param = new BackupInfoParameters(); > Frontend.RunAction(VdcActionType.Unknown, param, new > IFrontendActionAsyncCallback() { > @Override > public void executed(FrontendActionAsyncResult result) { > > } > }); > } > ======================================================================= > > The BackupInfoCommand.java is : > ======================================================================= > package org.ovirt.engine.core.bll; > > import org.ovirt.engine.core.bll.utils.PermissionSubject; > import org.ovirt.engine.core.common.action.BackupInfoParameters; > > > import java.io.IOException; > import java.util.Collections; > import java.util.List; > > /** > * Created by leaboy on 8/7/14. > */ > public class BackupInfoCommand <T extends BackupInfoParameters> extends > CommandBase<T>{ > public BackupInfoCommand(T parameters){ > super(parameters); > } > > @Override > public List<PermissionSubject> getPermissionCheckSubjects() { > return Collections.emptyList(); > } > > @Override > protected boolean canDoAction() { > return true; > } > > > @Override > protected void executeCommand() { > int a; > a = 1; > try{ > Runtime.getRuntime().exec("touch /tmp/tmp.txt"); > }catch (IOException e){ > e.printStackTrace(); > } > > } > } > ======================================================================= > > And the BackupInfoParameters.java is: > ======================================================================= > package org.ovirt.engine.core.common.action; > > /** > * Created by leaboy on 8/7/14. > */ > public class BackupInfoParameters extends VdcActionParametersBase implements > java.io.Serializable{ > private static final long serialVersionUID = -1363077467684414051L; > private VdcActionType _actionType; > > //public BackupInfoParameters(){} > > public BackupInfoParameters(){_actionType = VdcActionType.Unknown;} > > public VdcActionType getActionType() { > return _actionType; > } > } > ======================================================================= > > Built the code success, but when I clicked the button, got a dialog with the > error info: > > Error while executing action: A Request to the Server failed with the > following Status Code: 500 > > I debug it , find the error is raised at : > > protected VdcReturnValueBase evaluateCorrelationId(CommandBase<?> > commandBase) { > VdcReturnValueBase returnValue = null; > > // Evaluate and set the correlationId on the parameters, fails on invalid > correlation id > returnValue = > ExecutionHandler.evaluateCorrelationId(commandBase.getParameters()); > if (returnValue != null) { > log.warnFormat("CanDoAction of action {0} failed. Reasons: {1}", > commandBase.getActionType(), > StringUtils.join(returnValue.getCanDoActionMessages(), ',')); > > } > // Set the correlation-id on the command > commandBase.setCorrelationId(commandBase.getParameters().getCorrelationId()); > return returnValue; > } > _______________________________________________ Devel mailing list > Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel > > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel