diff --git a/src/oca/java/src/org/opennebula/client/Pool.java b/src/oca/java/src/org/opennebula/client/Pool.java
index 7d4a7fd62d..5e36fadeda 100644
--- a/src/oca/java/src/org/opennebula/client/Pool.java
+++ b/src/oca/java/src/org/opennebula/client/Pool.java
@@ -61,6 +61,11 @@ public abstract class Pool{
*/
public final static int MINE_GROUP = -1;
+ /**
+ * Resources owned by the user's primary group
+ */
+ public final static int GROUP = -4;
+
/**
* Protected constructor, to be called from subclasses.
*
@@ -73,7 +78,7 @@ public abstract class Pool{
this.elementName = elementName;
this.infoMethod = infoMethod;
this.client = client;
-
+
if(xpath == null)
{
XPathFactory factory = XPathFactory.newInstance();
@@ -120,6 +125,11 @@ public abstract class Pool{
return xmlrpcInfo(client, infoMethod, MINE_GROUP, -1, -1);
}
+ protected static OneResponse infoGroupPrimary(Client client, String infoMethod)
+ {
+ return xmlrpcInfo(client, infoMethod, GROUP, -1, -1);
+ }
+
protected static OneResponse xmlrpcInfo(Client client, String infoMethod, Object...args)
{
return client.call(infoMethod, args);
diff --git a/src/oca/java/src/org/opennebula/client/document/DocumentPool.java b/src/oca/java/src/org/opennebula/client/document/DocumentPool.java
index 04ff054f72..bc8d3073c6 100644
--- a/src/oca/java/src/org/opennebula/client/document/DocumentPool.java
+++ b/src/oca/java/src/org/opennebula/client/document/DocumentPool.java
@@ -111,6 +111,7 @@ public abstract class DocumentPool extends Pool
*
{@link Pool#MINE}: Connected user's Documents
* {@link Pool#MINE_GROUP}: Connected user's Documents, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Documents
* >= 0 UID User's Documents
*
*/
@@ -191,6 +192,7 @@ public abstract class DocumentPool extends Pool
* {@link Pool#MINE}: Connected user's Documents
* {@link Pool#MINE_GROUP}: Connected user's Documents, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Documents
* >= 0 UID User's Documents
*
* @param startId Lowest Id to retrieve
diff --git a/src/oca/java/src/org/opennebula/client/image/ImagePool.java b/src/oca/java/src/org/opennebula/client/image/ImagePool.java
index d2b72bb166..80041222e8 100644
--- a/src/oca/java/src/org/opennebula/client/image/ImagePool.java
+++ b/src/oca/java/src/org/opennebula/client/image/ImagePool.java
@@ -61,6 +61,7 @@ public class ImagePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Images
* {@link Pool#MINE_GROUP}: Connected user's Images, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Images
* >= 0 UID User's Images
*
*/
@@ -89,6 +90,7 @@ public class ImagePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Images
* {@link Pool#MINE_GROUP}: Connected user's Images, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Images
* >= 0 UID User's Images
*
* @return If successful the message contains the string
@@ -147,6 +149,7 @@ public class ImagePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Images
* {@link Pool#MINE_GROUP}: Connected user's Images, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Images
* >= 0 UID User's Images
*
* @param startId Lowest Id to retrieve
@@ -219,6 +222,7 @@ public class ImagePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Images
* {@link Pool#MINE_GROUP}: Connected user's Images, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Images
* >= 0 UID User's Images
*
* @param startId Lowest Id to retrieve
diff --git a/src/oca/java/src/org/opennebula/client/marketplaceapp/MarketPlaceAppPool.java b/src/oca/java/src/org/opennebula/client/marketplaceapp/MarketPlaceAppPool.java
index 8c7ac967a0..45e7f99302 100644
--- a/src/oca/java/src/org/opennebula/client/marketplaceapp/MarketPlaceAppPool.java
+++ b/src/oca/java/src/org/opennebula/client/marketplaceapp/MarketPlaceAppPool.java
@@ -61,6 +61,7 @@ public class MarketPlaceAppPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's MarketPlaceApps
* {@link Pool#MINE_GROUP}: Connected user's MarketPlaceApps, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group MarketPlaceApps
* >= 0 UID User's MarketPlaceApps
*
*/
@@ -89,6 +90,7 @@ public class MarketPlaceAppPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's MarketPlaceApps
* {@link Pool#MINE_GROUP}: Connected user's MarketPlaceApps, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group MarketPlaceApps
* >= 0 UID User's MarketPlaceApps
*
* @return If successful the message contains the string
@@ -147,6 +149,7 @@ public class MarketPlaceAppPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's MarketPlaceApps
* {@link Pool#MINE_GROUP}: Connected user's MarketPlaceApps, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group MarketPlaceApps
* >= 0 UID User's MarketPlaceApps
*
* @param startId Lowest Id to retrieve
@@ -219,6 +222,7 @@ public class MarketPlaceAppPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's MarketPlaceApps
* {@link Pool#MINE_GROUP}: Connected user's MarketPlaceApps, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group MarketPlaceApps
* >= 0 UID User's MarketPlaceApps
*
* @param startId Lowest Id to retrieve
diff --git a/src/oca/java/src/org/opennebula/client/secgroup/SecurityGroupPool.java b/src/oca/java/src/org/opennebula/client/secgroup/SecurityGroupPool.java
index 4b766fb2f9..665cab8b9a 100644
--- a/src/oca/java/src/org/opennebula/client/secgroup/SecurityGroupPool.java
+++ b/src/oca/java/src/org/opennebula/client/secgroup/SecurityGroupPool.java
@@ -62,6 +62,7 @@ public class SecurityGroupPool extends Pool implements Iterable{
* {@link Pool#MINE}: Connected user's Security Groups
* {@link Pool#MINE_GROUP}: Connected user's Security Groups, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Security Groups
* >= 0 UID User's Security Groups
*
*/
@@ -87,6 +88,7 @@ public class SecurityGroupPool extends Pool implements Iterable{
* {@link Pool#MINE}: Connected user's Security Groups
* {@link Pool#MINE_GROUP}: Connected user's Security Groups, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Security Groups
* >= 0 UID User's Security Groups
*
* @return If successful the message contains the string
@@ -145,6 +147,7 @@ public class SecurityGroupPool extends Pool implements Iterable{
* {@link Pool#MINE}: Connected user's Security Groups
* {@link Pool#MINE_GROUP}: Connected user's Security Groups, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Security Groups
* >= 0 UID User's Security Groups
*
* @param startId Lowest Id to retrieve
@@ -217,6 +220,7 @@ public class SecurityGroupPool extends Pool implements Iterable{
* {@link Pool#MINE}: Connected user's Security Groups
* {@link Pool#MINE_GROUP}: Connected user's Security Groups, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Security Groups
* >= 0 UID User's Security Groups
*
* @param startId Lowest Id to retrieve
diff --git a/src/oca/java/src/org/opennebula/client/template/TemplatePool.java b/src/oca/java/src/org/opennebula/client/template/TemplatePool.java
index 06b5b92198..3c2ad43fcf 100644
--- a/src/oca/java/src/org/opennebula/client/template/TemplatePool.java
+++ b/src/oca/java/src/org/opennebula/client/template/TemplatePool.java
@@ -61,6 +61,7 @@ public class TemplatePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Templates
* {@link Pool#MINE_GROUP}: Connected user's Templates, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Templates
* >= 0: UID User's Templates
*
*/
@@ -89,6 +90,8 @@ public class TemplatePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Templates
* {@link Pool#MINE_GROUP}: Connected user's Templates, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Templates
+ * >= 0: UID User's Templates
* >= 0: UID User's Templates
*
* @return If successful the message contains the string
@@ -147,6 +150,8 @@ public class TemplatePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Templates
* {@link Pool#MINE_GROUP}: Connected user's Templates, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Templates
+ * >= 0: UID User's Templates
* >= 0: UID User's Templates
*
* @param startId Lowest Id to retrieve
@@ -219,6 +224,8 @@ public class TemplatePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Templates
* {@link Pool#MINE_GROUP}: Connected user's Templates, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Templates
+ * >= 0: UID User's Templates
* >= 0: UID User's Templates
*
* @param startId Lowest Id to retrieve
diff --git a/src/oca/java/src/org/opennebula/client/vm/VirtualMachinePool.java b/src/oca/java/src/org/opennebula/client/vm/VirtualMachinePool.java
index a26dd65d59..7e7d98f1dd 100644
--- a/src/oca/java/src/org/opennebula/client/vm/VirtualMachinePool.java
+++ b/src/oca/java/src/org/opennebula/client/vm/VirtualMachinePool.java
@@ -73,6 +73,7 @@ public class VirtualMachinePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Machines
* {@link Pool#MINE_GROUP}: Connected user's Virtual Machines, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Machines
* >= 0 UID User's Virtual Machines
*
*/
@@ -99,6 +100,7 @@ public class VirtualMachinePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Machines
* {@link Pool#MINE_GROUP}: Connected user's Virtual Machines, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Machines
* >= 0 UID User's Virtual Machines
*
* @return If successful the message contains the string
@@ -158,6 +160,7 @@ public class VirtualMachinePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Machines
* {@link Pool#MINE_GROUP}: Connected user's Virtual Machines, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Machines
* >= 0 UID User's Virtual Machines
*
* @param startId Lowest Id to retrieve
@@ -185,6 +188,7 @@ public class VirtualMachinePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Machines
* {@link Pool#MINE_GROUP}: Connected user's Virtual Machines, and
* the ones in his group
+ * {@link Pool#GROUP}: User's primary group Virtual Machines
* >= 0 UID User's Virtual Machines
*
* @return If successful the message contains the string
@@ -262,6 +266,7 @@ public class VirtualMachinePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Machines
* {@link Pool#MINE_GROUP}: Connected user's Virtual Machines, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Machines
* >= 0 UID User's Virtual Machines
*
* @param startId Lowest Id to retrieve
@@ -287,6 +292,7 @@ public class VirtualMachinePool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Machines
* {@link Pool#MINE_GROUP}: Connected user's Virtual Machines, and
* the ones in his group
+ * {@link Pool#GROUP}: User's primary group Virtual Machines
* >= 0 UID User's Virtual Machines
*
* @return If successful the message contains the string
diff --git a/src/oca/java/src/org/opennebula/client/vnet/VirtualNetworkPool.java b/src/oca/java/src/org/opennebula/client/vnet/VirtualNetworkPool.java
index 56a9b8d7dc..f2def42e5b 100644
--- a/src/oca/java/src/org/opennebula/client/vnet/VirtualNetworkPool.java
+++ b/src/oca/java/src/org/opennebula/client/vnet/VirtualNetworkPool.java
@@ -62,6 +62,7 @@ public class VirtualNetworkPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Networks
* {@link Pool#MINE_GROUP}: Connected user's Virtual Networks, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Networks
* >= 0 UID User's Virtual Networks
*
*/
@@ -87,6 +88,7 @@ public class VirtualNetworkPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Networks
* {@link Pool#MINE_GROUP}: Connected user's Virtual Networks, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Networks
* >= 0 UID User's Virtual Networks
*
* @return If successful the message contains the string
@@ -145,6 +147,7 @@ public class VirtualNetworkPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Networks
* {@link Pool#MINE_GROUP}: Connected user's Virtual Networks, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Networks
* >= 0 UID User's Virtual Networks
*
* @param startId Lowest Id to retrieve
@@ -217,6 +220,7 @@ public class VirtualNetworkPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's Virtual Networks
* {@link Pool#MINE_GROUP}: Connected user's Virtual Networks, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group Virtual Networks
* >= 0 UID User's Virtual Networks
*
* @param startId Lowest Id to retrieve
diff --git a/src/oca/java/src/org/opennebula/client/vrouter/VirtualRouterPool.java b/src/oca/java/src/org/opennebula/client/vrouter/VirtualRouterPool.java
index 45b8886ef4..a845e93e46 100644
--- a/src/oca/java/src/org/opennebula/client/vrouter/VirtualRouterPool.java
+++ b/src/oca/java/src/org/opennebula/client/vrouter/VirtualRouterPool.java
@@ -61,6 +61,7 @@ public class VirtualRouterPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's VirtualRouters
* {@link Pool#MINE_GROUP}: Connected user's VirtualRouters, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group VirtualRouters
* >= 0 UID User's VirtualRouters
*
*/
@@ -89,6 +90,7 @@ public class VirtualRouterPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's VirtualRouters
* {@link Pool#MINE_GROUP}: Connected user's VirtualRouters, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group VirtualRouters
* >= 0 UID User's VirtualRouters
*
* @return If successful the message contains the string
@@ -147,6 +149,7 @@ public class VirtualRouterPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's VirtualRouters
* {@link Pool#MINE_GROUP}: Connected user's VirtualRouters, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group VirtualRouters
* >= 0 UID User's VirtualRouters
*
* @param startId Lowest Id to retrieve
@@ -219,6 +222,7 @@ public class VirtualRouterPool extends Pool implements Iterable
* {@link Pool#MINE}: Connected user's VirtualRouters
* {@link Pool#MINE_GROUP}: Connected user's VirtualRouters, and the ones in
* his group
+ * {@link Pool#GROUP}: User's primary group VirtualRouters
* >= 0 UID User's VirtualRouters
*
* @param startId Lowest Id to retrieve