[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 CommandBaseT{ public BackupInfoCommand(T parameters){ super(parameters); } @Override public ListPermissionSubject 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
[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 CommandBaseT{ public BackupInfoCommand(T parameters){ super(parameters); } @Override public ListPermissionSubject 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
Re: [ovirt-devel] add a ***Command for a button
hi, Oved: I don’t know how to add a VdcAction, Is this could work: public enum VdcActionType { Unknown(0, QuotaDependency.NONE), Backup(9000, QuotaDependency.NONE), I don’t know whether is it need a ActionGroup. 发件人: Oved Ourfali oourf...@redhat.com 日期: Fri, 8 Aug 2014 04:20:58 -0400 (EDT) 至: 力波 王 wlblea...@126.com 抄送: devel@ovirt.org 主题: Re: [ovirt-devel] add a ***Command for a button Hi Didn't do a too deep code review, but from a first glance You need to add a new VdcActionType that is called BackupInfo, and use that when you call RunAction. Hope it helps, Oved On Aug 8, 2014 11:11 AM, =?UTF-8?B?5Yqb5rOiIOeOiw==?= wlblea...@126.com wrote: 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 CommandBaseT{ public BackupInfoCommand(T parameters){ super(parameters); } @Override public ListPermissionSubject 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
Re: [ovirt-devel] add a ***Command for a button
Hi, Oved: Get the new error : Error while executing action: A Request to the Server failed: This application is out of date, please click the refresh button on your browser. ( The client cannot accept BackupInfo ) In the public VdcReturnValueBase executeAction() actionAllowed is false 在 8/8/14, 16:52, Martin Perina mper...@redhat.com 写入: Hi - Original Message - From: 力波 王 wlblea...@126.com To: Oved Ourfali oourf...@redhat.com Cc: devel@ovirt.org Sent: Friday, August 8, 2014 10:34:38 AM Subject: Re: [ovirt-devel] add a ***Command for a button hi, Oved: I don’t know how to add a VdcAction, Is this could work: public enum VdcActionType { Unknown(0, QuotaDependency.NONE), Backup(9000, QuotaDependency.NONE), Yes I don’t know whether is it need a ActionGroup. You may not need to set ActionGroup for this More info about oVirt Command architecture you can found at [1]. Martin Perina [1] http://www.ovirt.org/Backend_modules_bll 发件人: Oved Ourfali oourf...@redhat.com 日期: Fri, 8 Aug 2014 04:20:58 -0400 (EDT) 至: 力波 王 wlblea...@126.com 抄送: devel@ovirt.org 主题: Re: [ovirt-devel] add a ***Command for a button Hi Didn't do a too deep code review, but from a first glance You need to add a new VdcActionType that is called BackupInfo, and use that when you call RunAction. Hope it helps, Oved On Aug 8, 2014 11:11 AM, =?UTF-8?B?5Yqb5rOiIOeOiw==?= wlblea...@126.com wrote: 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 CommandBaseT{ public BackupInfoCommand(T parameters){ super(parameters); } @Override public ListPermissionSubject 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