anmolbabu has uploaded a new change for review.

Change subject: restApi : RestApi to export volume profile to pdf
......................................................................

restApi : RestApi to export volume profile to pdf

RestApi to export volume profile to pdf

Change-Id: Ie3ff28f5cf18bd7a2bcb53a169873fe6ae3541ed
Signed-off-by: Anmol Babu <anb...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeProfilePdfExportCommand.java
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
4 files changed, 29 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/28340/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeProfilePdfExportCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeProfilePdfExportCommand.java
index b6dbd3e..9927a4f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeProfilePdfExportCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeProfilePdfExportCommand.java
@@ -1,6 +1,6 @@
 package org.ovirt.engine.core.bll.gluster;
 
-import java.io.FileOutputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Date;
@@ -8,7 +8,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import 
org.ovirt.engine.core.common.action.gluster.GlusterVolumeCreatePdfParameters;
 import 
org.ovirt.engine.core.common.action.gluster.GlusterVolumeCreatePdfParameters.ExportData;
 import 
org.ovirt.engine.core.common.businessentities.gluster.BrickProfileDetails;
@@ -66,17 +65,16 @@
         }
         try {
             Document document = new Document();
-            PdfWriter.getInstance(document, new FileOutputStream(filePath));
+            ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+            PdfWriter.getInstance(document, byteStream);
             document.open();
             createPdf.addMetaData(document,
                     
createMetaData(getGlusterVolumeDao().getById(profileInfo.getVolumeId()).getName(),
 userId));
             addContent(document, profileInfo, exportData);
             document.close();
             setSucceeded(true);
-            VdcReturnValueBase returnValue = new VdcReturnValueBase();
-            returnValue.setDescription("Pdf Saved");
-            returnValue.setSucceeded(true);
-            setActionReturnValue(returnValue);
+            setSucceeded(true);
+            setActionReturnValue(byteStream.toByteArray());
         } catch (Exception e) {
             setSucceeded(false);
             setActionReturnValue(e.toString());
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
index c538942..c0f3f56 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterVolumeResource.java
@@ -12,6 +12,7 @@
 import org.ovirt.engine.api.model.Action;
 import org.ovirt.engine.api.model.Actionable;
 import org.ovirt.engine.api.model.GlusterVolume;
+import org.ovirt.engine.api.model.GlusterVolumeProfilePdfBytes;
 import org.ovirt.engine.api.resource.ActionResource;
 import org.ovirt.engine.api.resource.ApiMediaType;
 import org.ovirt.engine.api.resource.MeasurableResource;
@@ -84,4 +85,9 @@
      */
     @Path("bricks")
     public GlusterBricksResource getGlusterBrickSubResource();
+
+    @GET
+    @Formatted
+    @Path("profilestatisticspdf")
+    public GlusterVolumeProfilePdfBytes getProfilePdf();
 }
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
index e2450cb..e7573cb 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java
@@ -46,6 +46,7 @@
 import org.ovirt.engine.api.model.GlusterBrick;
 import org.ovirt.engine.api.model.GlusterHook;
 import org.ovirt.engine.api.model.GlusterVolume;
+import org.ovirt.engine.api.model.GlusterVolumeProfilePdfBytes;
 import org.ovirt.engine.api.model.Group;
 import org.ovirt.engine.api.model.Hook;
 import org.ovirt.engine.api.model.Host;
@@ -361,6 +362,7 @@
 
         map = new ParentToCollectionMap(GlusterVolumeResource.class, 
GlusterVolumesResource.class, Cluster.class);
         TYPES.put(GlusterVolume.class, map);
+        TYPES.put(GlusterVolumeProfilePdfBytes.class, map);
 
         map = new ParentToCollectionMap(GlusterBrickResource.class, 
GlusterBricksResource.class, GlusterVolume.class);
         TYPES.put(GlusterBrick.class, map);
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
index 771c12f..d0e777e 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
@@ -4223,4 +4223,20 @@
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
+
+  <xs:element name="gluster_volume_profile_pdf" />
+  <xs:complexType name="gluster_volume_profile_pdf">
+      <xs:annotation>
+          <xs:appinfo>
+              <jaxb:class name="GlusterVolumeProfilePdfBytes"/>
+          </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+          <xs:extension base="BaseResource">
+              <xs:sequence>
+                  <xs:element name="byteStream" type="xs:byte"/>
+              </xs:sequence>
+          </xs:extension>
+      </xs:complexContent>
+  </xs:complexType>
 </xs:schema>


-- 
To view, visit http://gerrit.ovirt.org/28340
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie3ff28f5cf18bd7a2bcb53a169873fe6ae3541ed
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: anmolbabu <anb...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to