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

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

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

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

2014-08-08 Thread Martin Perina


- Original Message -
 From: 力波 王 wlblea...@126.com
 To: Martin Perina mper...@redhat.com
 Cc: Oved Ourfali oourf...@redhat.com, devel@ovirt.org
 Sent: Friday, August 8, 2014 11:40:35 AM
 Subject: 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 )
 

Can you please post stacktrace of the execption?

 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