added saving with loading
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/reports@74581 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
ebbbdcfee3
commit
beffd67076
|
@ -23,6 +23,7 @@ import org.gcube.portlets.user.reportgenerator.client.WorkspacePanel;
|
||||||
import org.gcube.portlets.user.reportgenerator.client.dialog.AddBiblioEntryDialog;
|
import org.gcube.portlets.user.reportgenerator.client.dialog.AddBiblioEntryDialog;
|
||||||
import org.gcube.portlets.user.reportgenerator.client.dialog.DeleteCitationsDialog;
|
import org.gcube.portlets.user.reportgenerator.client.dialog.DeleteCitationsDialog;
|
||||||
import org.gcube.portlets.user.reportgenerator.client.dialog.ReportStructureDialog;
|
import org.gcube.portlets.user.reportgenerator.client.dialog.ReportStructureDialog;
|
||||||
|
import org.gcube.portlets.user.reportgenerator.client.dialog.SavingDialog;
|
||||||
import org.gcube.portlets.user.reportgenerator.client.events.AddBiblioEvent;
|
import org.gcube.portlets.user.reportgenerator.client.events.AddBiblioEvent;
|
||||||
import org.gcube.portlets.user.reportgenerator.client.events.AddBiblioEventHandler;
|
import org.gcube.portlets.user.reportgenerator.client.events.AddBiblioEventHandler;
|
||||||
import org.gcube.portlets.user.reportgenerator.client.events.AddCommentEvent;
|
import org.gcube.portlets.user.reportgenerator.client.events.AddCommentEvent;
|
||||||
|
@ -92,6 +93,8 @@ public class Presenter {
|
||||||
|
|
||||||
private HorizontalPanel exportsPanel;
|
private HorizontalPanel exportsPanel;
|
||||||
|
|
||||||
|
private final SavingDialog dlg = new SavingDialog();
|
||||||
|
|
||||||
private UserBean currentUser;
|
private UserBean currentUser;
|
||||||
private String currentScope;
|
private String currentScope;
|
||||||
/**
|
/**
|
||||||
|
@ -99,6 +102,8 @@ public class Presenter {
|
||||||
*/
|
*/
|
||||||
private TemplateModel model;
|
private TemplateModel model;
|
||||||
|
|
||||||
|
private String location;
|
||||||
|
|
||||||
private int currFocus;
|
private int currFocus;
|
||||||
|
|
||||||
RichTextToolbar currentSelectedToolbar;
|
RichTextToolbar currentSelectedToolbar;
|
||||||
|
@ -478,8 +483,21 @@ public class Presenter {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void saveReport(String folderid, String name) {
|
public void saveReport(String folderid, String name) {
|
||||||
model.storeInSession();
|
dlg.center();
|
||||||
model.saveReport(folderid, name);
|
dlg.show();
|
||||||
|
Model toSave = model.getSerializableModel();
|
||||||
|
reportService.saveReport(toSave, folderid, name, new AsyncCallback<Void>() {
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
dlg.hide();
|
||||||
|
MessageBox.alert("Warning","Report Not Saved: " + caught.getMessage(), null);
|
||||||
|
}
|
||||||
|
public void onSuccess(Void result) {
|
||||||
|
dlg.hide();
|
||||||
|
MessageBox.info("Saving Operation","Report Saved Successfully", null);
|
||||||
|
refreshWorkspace();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -488,8 +506,20 @@ public class Presenter {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void saveReport() {
|
public void saveReport() {
|
||||||
model.storeInSession();
|
dlg.center();
|
||||||
model.saveReport();
|
dlg.show();
|
||||||
|
Model toSave = model.getSerializableModel();
|
||||||
|
reportService.saveReport(toSave, new AsyncCallback<Void>() {
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
dlg.hide();
|
||||||
|
MessageBox.alert("Warning","Report Not Saved: " + caught.getMessage(), null);
|
||||||
|
}
|
||||||
|
public void onSuccess(Void result) {
|
||||||
|
dlg.hide();
|
||||||
|
MessageBox.info("Saving Operation","Report Saved Successfully", null);
|
||||||
|
refreshWorkspace();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -497,8 +527,20 @@ public class Presenter {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void updateWorkflowDocument(boolean update) {
|
public void updateWorkflowDocument(boolean update) {
|
||||||
model.storeInSession();
|
dlg.center();
|
||||||
model.updateWorkflowDocument(update);
|
dlg.show();
|
||||||
|
Model toSave = model.getSerializableModel();
|
||||||
|
reportService.updateWorkflowDocument(toSave, update, new AsyncCallback<Void>() {
|
||||||
|
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
dlg.hide();
|
||||||
|
Window.alert("failed to update workflow document");
|
||||||
|
}
|
||||||
|
public void onSuccess(Void result) {
|
||||||
|
dlg.hide();
|
||||||
|
loadWorkflowLibraryApp();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -510,6 +552,20 @@ public class Presenter {
|
||||||
titleBar.setTemplateName(templateName);
|
titleBar.setTemplateName(templateName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redirect to VRE Deployer Portlet
|
||||||
|
*/
|
||||||
|
private void loadWorkflowLibraryApp(){
|
||||||
|
getUrl();
|
||||||
|
location += "/../my-workflow-documents";
|
||||||
|
Window.open(location, "_self", "");
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Get URL from browser
|
||||||
|
*/
|
||||||
|
public native void getUrl()/*-{
|
||||||
|
this.@org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter::location = $wnd.location.href;
|
||||||
|
}-*/;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -848,7 +904,7 @@ public class Presenter {
|
||||||
List<TemplateComponent> pageElems = model.getSectionComponent(section);
|
List<TemplateComponent> pageElems = model.getSectionComponent(section);
|
||||||
|
|
||||||
for (TemplateComponent component : pageElems) {
|
for (TemplateComponent component : pageElems) {
|
||||||
GWT.log("Reading component.. " + component.getType(), null);
|
//GWT.log("Reading component.. " + component.getType(), null);
|
||||||
|
|
||||||
int uiX = component.getX();
|
int uiX = component.getX();
|
||||||
int uiY= component.getY();
|
int uiY= component.getY();
|
||||||
|
|
|
@ -63,16 +63,16 @@ public interface ReportService extends RemoteService{
|
||||||
* the report model is taken from the session
|
* the report model is taken from the session
|
||||||
* @param folderid the basket id where to save the report
|
* @param folderid the basket id where to save the report
|
||||||
*/
|
*/
|
||||||
void saveReport(String folderid, String newname);
|
void saveReport(Model toSave, String folderid, String newname);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the report model is taken from the session, the id also
|
* the report model is taken from the session, the id also
|
||||||
*/
|
*/
|
||||||
void saveReport();
|
void saveReport(Model toSave);
|
||||||
|
|
||||||
Model getWorkflowDocumentFromDocumentLibrary();
|
Model getWorkflowDocumentFromDocumentLibrary();
|
||||||
|
|
||||||
void updateWorkflowDocument(boolean update);
|
void updateWorkflowDocument(Model toSave, boolean update);
|
||||||
|
|
||||||
void renewLock();
|
void renewLock();
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -49,17 +49,10 @@ public interface ReportServiceAsync {
|
||||||
*/
|
*/
|
||||||
void readTemplateFromSession( AsyncCallback<Model> callback);
|
void readTemplateFromSession( AsyncCallback<Model> callback);
|
||||||
|
|
||||||
/**
|
void saveReport(Model toSave, String folderid, String newname,
|
||||||
* @param callback .
|
AsyncCallback<Void> callback);
|
||||||
* @param folderid .
|
|
||||||
*/
|
|
||||||
void saveReport(String folderid, String newname, AsyncCallback<Void> callback);
|
|
||||||
|
|
||||||
/**
|
void saveReport(Model toSave, AsyncCallback<Void> callback);
|
||||||
*
|
|
||||||
* @param callback .
|
|
||||||
*/
|
|
||||||
void saveReport(AsyncCallback<Void> callback);
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param currentHost
|
* @param currentHost
|
||||||
|
@ -68,7 +61,8 @@ public interface ReportServiceAsync {
|
||||||
void getSessionInfo(String currentHost, AsyncCallback<SessionInfo> callback);
|
void getSessionInfo(String currentHost, AsyncCallback<SessionInfo> callback);
|
||||||
void getWorkflowDocumentFromDocumentLibrary(
|
void getWorkflowDocumentFromDocumentLibrary(
|
||||||
AsyncCallback<Model> callback);
|
AsyncCallback<Model> callback);
|
||||||
void updateWorkflowDocument(boolean update, AsyncCallback<Void> callback);
|
void updateWorkflowDocument(Model toSave, boolean update,
|
||||||
|
AsyncCallback<Void> callback);
|
||||||
void renewLock(AsyncCallback<Void> callback);
|
void renewLock(AsyncCallback<Void> callback);
|
||||||
|
|
||||||
void readImportedModel(String tempPath,
|
void readImportedModel(String tempPath,
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package org.gcube.portlets.user.reportgenerator.client.dialog;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.gcubewidgets.client.popup.GCubeDialog;
|
||||||
|
import org.gcube.portlets.user.reportgenerator.client.uibinder.ShowSaving;
|
||||||
|
|
||||||
|
public class SavingDialog extends GCubeDialog {
|
||||||
|
|
||||||
|
public SavingDialog() {
|
||||||
|
super(false, true);
|
||||||
|
setText("Updating report, please wait ...");
|
||||||
|
setWidget(new ShowSaving());
|
||||||
|
}
|
||||||
|
}
|
|
@ -332,10 +332,10 @@ public class TemplateComponent {
|
||||||
this.content = spacer;
|
this.content = spacer;
|
||||||
break;
|
break;
|
||||||
case REPEAT_SEQUENCE:
|
case REPEAT_SEQUENCE:
|
||||||
GWT.log("FOUND SEQUENCE trying getGroup");
|
//GWT.log("FOUND SEQUENCE trying getGroup");
|
||||||
RepeatableSequence repeatableSequence = (RepeatableSequence) sc.getPossibleContent();
|
RepeatableSequence repeatableSequence = (RepeatableSequence) sc.getPossibleContent();
|
||||||
|
|
||||||
GWT.log("getGroup: " + repeatableSequence.toString());
|
//GWT.log("getGroup: " + repeatableSequence.toString());
|
||||||
|
|
||||||
ClientRepeatableSequence rps = new ClientRepeatableSequence(presenter, repeatableSequence);
|
ClientRepeatableSequence rps = new ClientRepeatableSequence(presenter, repeatableSequence);
|
||||||
this.content = rps;
|
this.content = rps;
|
||||||
|
@ -386,7 +386,6 @@ public class TemplateComponent {
|
||||||
case DYNA_IMAGE:
|
case DYNA_IMAGE:
|
||||||
ClientImage da = (ClientImage) this.content;
|
ClientImage da = (ClientImage) this.content;
|
||||||
content = da.getDroppedImage().getElement().getAttribute("src");
|
content = da.getDroppedImage().getElement().getAttribute("src");
|
||||||
GWT.log("Poss Content=" + content);
|
|
||||||
id = da.getIdInBasket();
|
id = da.getIdInBasket();
|
||||||
idInBasket = id;
|
idInBasket = id;
|
||||||
if (((String) content).compareTo("") == 0)
|
if (((String) content).compareTo("") == 0)
|
||||||
|
|
|
@ -354,11 +354,11 @@ public class TemplateModel {
|
||||||
else {
|
else {
|
||||||
int insertIn = (isAdded) ? (i-1): i;
|
int insertIn = (isAdded) ? (i-1): i;
|
||||||
newSections.put(""+i, sections.get(""+insertIn));
|
newSections.put(""+i, sections.get(""+insertIn));
|
||||||
GWT.log("Inserting " + insertIn + " into section " + i + " isAdded =" + (isAdded) , null);
|
//GWT.log("Inserting " + insertIn + " into section " + i + " isAdded =" + (isAdded) , null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.sections = newSections;
|
this.sections = newSections;
|
||||||
GWT.log("NEW SECTION SIZE"+sections.size(), null);
|
//GWT.log("NEW SECTION SIZE"+sections.size(), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
totalPages++;
|
totalPages++;
|
||||||
|
@ -415,25 +415,12 @@ public class TemplateModel {
|
||||||
|
|
||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param folderid .
|
* @param folderid .
|
||||||
* @param name .
|
* @param name .
|
||||||
*/
|
*/
|
||||||
public void saveReport (String folderid, String name) {
|
public void saveReport (Model toSave, String folderid, String name) {
|
||||||
modelService.saveReport(folderid, name, new AsyncCallback<Void>() {
|
|
||||||
public void onFailure(Throwable caught) {
|
|
||||||
MessageBox.alert("Warning","Report Not Saved: " + caught.getMessage(), null);
|
|
||||||
}
|
|
||||||
public void onSuccess(Void result) {
|
|
||||||
MessageBox.info("Saving Operation","Report Saved Successfully", null);
|
|
||||||
presenter.refreshWorkspace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -441,16 +428,8 @@ public class TemplateModel {
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void saveReport () {
|
public void saveReport (Model toSave) {
|
||||||
modelService.saveReport(new AsyncCallback<Void>() {
|
|
||||||
public void onFailure(Throwable caught) {
|
|
||||||
MessageBox.alert("Warning","Report Not Saved: " + caught.getMessage(), null);
|
|
||||||
}
|
|
||||||
public void onSuccess(Void result) {
|
|
||||||
MessageBox.info("Saving Operation","Report Saved Successfully", null);
|
|
||||||
presenter.refreshWorkspace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -461,7 +440,7 @@ public class TemplateModel {
|
||||||
* @param newHeight .
|
* @param newHeight .
|
||||||
*/
|
*/
|
||||||
public void resizeModelComponent(Widget toResize, int newWidth, int newHeight) {
|
public void resizeModelComponent(Widget toResize, int newWidth, int newHeight) {
|
||||||
GWT.log("LOOKING CORRESPONDANCE", null);
|
//GWT.log("LOOKING CORRESPONDANCE", null);
|
||||||
|
|
||||||
String tcPage = ""+currentPage;
|
String tcPage = ""+currentPage;
|
||||||
TemplateSection singleSection = sections.get(tcPage);
|
TemplateSection singleSection = sections.get(tcPage);
|
||||||
|
@ -506,19 +485,21 @@ public class TemplateModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* stores the current model in the session
|
* stores the current model in the session, not to be used anymore as images could have high payload
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void storeInSession() {
|
public void storeInSession() {
|
||||||
AsyncCallback callback = new AsyncCallback() {
|
// Model modelToSend = getSerializableModel();
|
||||||
public void onFailure(Throwable caught) { }
|
//
|
||||||
public void onSuccess(Object result) { }
|
// GWT.log("Storing in session: currpage = " + modelToSend.getCurrPage(), null);
|
||||||
};
|
//
|
||||||
|
// modelService.storeTemplateInSession(modelToSend, new AsyncCallback<Void>() {
|
||||||
Model modelToSend = getSerializableModel();
|
// @Override
|
||||||
|
// public void onFailure(Throwable caught) { }
|
||||||
GWT.log("Storing in session: currpage = " + modelToSend.getCurrPage(), null);
|
// @Override
|
||||||
|
// public void onSuccess(Void result) {
|
||||||
modelService.storeTemplateInSession(modelToSend, callback);
|
// }
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
//****** GETTERS n SETTERS
|
//****** GETTERS n SETTERS
|
||||||
|
@ -675,34 +656,11 @@ public class TemplateModel {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateWorkflowDocument(boolean update) {
|
public void updateWorkflowDocument(Model toSave, boolean update) {
|
||||||
modelService.updateWorkflowDocument(update, new AsyncCallback<Void>() {
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void onFailure(Throwable caught) {
|
|
||||||
Window.alert("failed to update workflow document");
|
|
||||||
|
|
||||||
}
|
|
||||||
public void onSuccess(Void result) {
|
|
||||||
loadWorkflowLibraryApp();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
private String location;
|
|
||||||
/**
|
|
||||||
* Redirect to VRE Deployer Portlet
|
|
||||||
*/
|
|
||||||
private void loadWorkflowLibraryApp(){
|
|
||||||
getUrl();
|
|
||||||
location += "/../my-workflow-documents";
|
|
||||||
Window.open(location, "_self", "");
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Get URL from browser
|
|
||||||
*/
|
|
||||||
public native void getUrl()/*-{
|
|
||||||
this.@org.gcube.portlets.user.reportgenerator.client.model.TemplateModel::location = $wnd.location.href;
|
|
||||||
}-*/;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package org.gcube.portlets.user.reportgenerator.client.uibinder;
|
||||||
|
|
||||||
|
import com.google.gwt.core.client.GWT;
|
||||||
|
import com.google.gwt.uibinder.client.UiBinder;
|
||||||
|
import com.google.gwt.uibinder.client.UiField;
|
||||||
|
import com.google.gwt.user.client.ui.Composite;
|
||||||
|
import com.google.gwt.user.client.ui.Image;
|
||||||
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
|
|
||||||
|
public class ShowSaving extends Composite {
|
||||||
|
public static final String LOADING = GWT.getModuleBaseURL() + "../images/reports-saving.gif";
|
||||||
|
|
||||||
|
private static ShowoadingUiBinder uiBinder = GWT
|
||||||
|
.create(ShowoadingUiBinder.class);
|
||||||
|
|
||||||
|
interface ShowoadingUiBinder extends UiBinder<Widget, ShowSaving> {
|
||||||
|
}
|
||||||
|
|
||||||
|
@UiField Image loadingReport;
|
||||||
|
|
||||||
|
public ShowSaving() {
|
||||||
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
|
loadingReport.setUrl(LOADING);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||||
|
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||||
|
xmlns:g="urn:import:com.google.gwt.user.client.ui">
|
||||||
|
<g:HTMLPanel ui:field="myPanel">
|
||||||
|
<table style="width: 100%; text-align: center;">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<g:Image ui:field="loadingReport" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</g:HTMLPanel>
|
||||||
|
</ui:UiBinder>
|
|
@ -704,6 +704,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe
|
||||||
public void storeTemplateInSession(Model model) {
|
public void storeTemplateInSession(Model model) {
|
||||||
ASLSession d4Session = getASLSession();
|
ASLSession d4Session = getASLSession();
|
||||||
d4Session.setAttribute(CURRENT_REPORT_INSTANCE, model);
|
d4Session.setAttribute(CURRENT_REPORT_INSTANCE, model);
|
||||||
|
_log.trace("Saved in Session");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -785,98 +786,6 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param imageName the generated image name
|
|
||||||
* @param templateName the curr template name
|
|
||||||
* @return the url to the image
|
|
||||||
*/
|
|
||||||
private String getImageURL(String imageName, String templateName) {
|
|
||||||
StringBuilder sb = new StringBuilder("/usersArea/")
|
|
||||||
.append( getVreName())
|
|
||||||
.append("/templates/")
|
|
||||||
.append(getUsername())
|
|
||||||
.append("/CURRENT_OPEN/images/")
|
|
||||||
.append(imageName);
|
|
||||||
_log.info("getImageURL" + sb.toString());
|
|
||||||
return sb.toString();
|
|
||||||
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param imageIDinBasket .
|
|
||||||
* @param pathToFile the directory where to save the file
|
|
||||||
* @param filename the filename to give to the newly created file
|
|
||||||
* @return the file imagename with its extension
|
|
||||||
*/
|
|
||||||
private String copyImageFromBasket(String imageIDinBasket, String pathToFile, String filename) {
|
|
||||||
|
|
||||||
Workspace root = null;
|
|
||||||
try {
|
|
||||||
root = getWorkspaceArea();
|
|
||||||
} catch (WorkspaceFolderNotFoundException e) {e.printStackTrace();
|
|
||||||
} catch (InternalErrorException e) { e.printStackTrace();
|
|
||||||
} catch (HomeNotFoundException e) { e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceItem item = null;
|
|
||||||
try {
|
|
||||||
item = root.getItem(imageIDinBasket);
|
|
||||||
} catch (ItemNotFoundException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
_log.debug("pathToFile: " + pathToFile);
|
|
||||||
File f = null;
|
|
||||||
String toReturn ="";
|
|
||||||
if (item.getType() == WorkspaceItemType.FOLDER_ITEM) {
|
|
||||||
_log.debug("\nItem is a BASKET_ITEM");
|
|
||||||
FolderItem bi = (FolderItem) item;
|
|
||||||
try {
|
|
||||||
File dir = new File(pathToFile);
|
|
||||||
_log.debug("DIR: " + pathToFile);
|
|
||||||
if (! dir.exists() )
|
|
||||||
dir.mkdirs();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
InputStream data = null;
|
|
||||||
|
|
||||||
if (bi.getFolderItemType()==FolderItemType.EXTERNAL_IMAGE){
|
|
||||||
_log.debug("EXTERNAL_IMAGE -|- " + item.getType());
|
|
||||||
ExternalImage image = (ExternalImage)item;
|
|
||||||
data = image.getData();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bi.getFolderItemType()==FolderItemType.IMAGE_DOCUMENT){
|
|
||||||
ImageDocument image = (ImageDocument)item;
|
|
||||||
if (image.getMimeType().equals("image/tiff"))
|
|
||||||
data = image.getThumbnail();
|
|
||||||
else
|
|
||||||
data = image.getData();
|
|
||||||
}
|
|
||||||
toReturn = filename + "." + getImageExtension(bi);
|
|
||||||
f = new File(pathToFile+toReturn);
|
|
||||||
OutputStream out = new FileOutputStream(f);
|
|
||||||
|
|
||||||
byte buf[] = new byte[1024];
|
|
||||||
int len;
|
|
||||||
while((len = data.read(buf))>0)
|
|
||||||
out.write(buf,0,len);
|
|
||||||
out.close();
|
|
||||||
data.close();
|
|
||||||
}
|
|
||||||
catch (IOException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (InternalErrorException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_log.info("RETURNING: " + f.getAbsolutePath());
|
|
||||||
return toReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* return a string for the file extension given a mimetype
|
* return a string for the file extension given a mimetype
|
||||||
*
|
*
|
||||||
|
@ -964,7 +873,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe
|
||||||
/**
|
/**
|
||||||
* used to save the report in the same folder *
|
* used to save the report in the same folder *
|
||||||
*/
|
*/
|
||||||
public void saveReport() {
|
public void saveReport(Model toSave) {
|
||||||
Workspace root = null;
|
Workspace root = null;
|
||||||
try {
|
try {
|
||||||
root = getWorkspaceArea();
|
root = getWorkspaceArea();
|
||||||
|
@ -988,7 +897,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe
|
||||||
} catch (InternalErrorException e) {
|
} catch (InternalErrorException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
saveReport(folderid, itemName);
|
saveReport(toSave, folderid, itemName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -996,9 +905,10 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe
|
||||||
* @param save a report in another folder .
|
* @param save a report in another folder .
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void saveReport(String folderid, String newname) {
|
public void saveReport(Model toSave, String folderid, String newname) {
|
||||||
|
|
||||||
Model model = readTemplateFromSession();
|
Model model = toSave;
|
||||||
|
storeTemplateInSession(toSave);
|
||||||
_log.info("Serializing Model in folder: " + folderid );
|
_log.info("Serializing Model in folder: " + folderid );
|
||||||
_log.info("Trying to convert dynamic images ... ");
|
_log.info("Trying to convert dynamic images ... ");
|
||||||
convertDynamicImagesFromHL(model);
|
convertDynamicImagesFromHL(model);
|
||||||
|
@ -1457,7 +1367,7 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe
|
||||||
/**
|
/**
|
||||||
* update the Workflow Document in session
|
* update the Workflow Document in session
|
||||||
*/
|
*/
|
||||||
public void updateWorkflowDocument(boolean update) {
|
public void updateWorkflowDocument(Model toSave, boolean update) {
|
||||||
ASLSession session = getASLSession();
|
ASLSession session = getASLSession();
|
||||||
ServiceUtil myUtil = new ServiceUtil(session);
|
ServiceUtil myUtil = new ServiceUtil(session);
|
||||||
|
|
||||||
|
@ -1468,12 +1378,10 @@ public class ReportServiceImpl extends RemoteServiceServlet implements ReportSe
|
||||||
if (update) {
|
if (update) {
|
||||||
_log.debug("SAVING in WorkflowDocument Library ");
|
_log.debug("SAVING in WorkflowDocument Library ");
|
||||||
|
|
||||||
model = (Model) session.getAttribute(CURRENT_REPORT_INSTANCE);
|
model = (Model) toSave;
|
||||||
|
|
||||||
_log.debug("Trying to convert dynamic images ... ");
|
_log.debug("Trying to convert dynamic images ... ");
|
||||||
convertDynamicImagesFromHL(model);
|
convertDynamicImagesFromHL(model);
|
||||||
|
|
||||||
|
|
||||||
boolean result = myUtil.writeModel(model, "CURRENT_OPEN", getVreName(), getUsername());
|
boolean result = myUtil.writeModel(model, "CURRENT_OPEN", getVreName(), getUsername());
|
||||||
|
|
||||||
if (!result) {
|
if (!result) {
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Reference in New Issue