[ovirt-devel] add a ***Command for a button

2014-08-08 Thread
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

2014-08-08 Thread


发件人:  力波 王 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

2014-08-08 Thread
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

2014-08-08 Thread
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