Author: nscavell
Date: 2011-10-10 11:05:02 -0400 (Mon, 10 Oct 2011)
New Revision: 7701
Modified:
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/client/Application.java
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/server/FileUploadServlet.java
Log:
GTNPORTAL-2159: Export/Import Gadget uses incorrect importMode attribute.
GTNPORTAL-2160: Allow use of all import modes in MOP Export/Import Gadget.
Modified:
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/client/Application.java
===================================================================
---
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/client/Application.java 2011-10-10
14:31:16 UTC (rev 7700)
+++
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/client/Application.java 2011-10-10
15:05:02 UTC (rev 7701)
@@ -23,6 +23,8 @@
package org.gatein.management.gadget.mop.exportimport.client;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.OpenEvent;
@@ -50,6 +52,7 @@
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.NamedFrame;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.ScrollPanel;
@@ -222,7 +225,14 @@
absolutePanel.setSize("400px", "220px");
final Button importButton = new Button("Import");
- final CheckBox overwriteBox = new CheckBox("Overwrite the existing
site");
+ final Label importModeLabel = new Label("Import Mode:");
+ final ListBox importModeListBox = new ListBox(false);
+ importModeListBox.addItem("Conserve", "conserve");
+ importModeListBox.addItem("Insert", "insert");
+ importModeListBox.addItem("Merge", "merge");
+ importModeListBox.addItem("Overwrite", "overwrite");
+ importModeListBox.setSelectedIndex(2); // set default to 'merge'
+
final HTML statusImg = new
HTML(" ", true);
final Label statusLabel = new Label("status label");
final Label headerLabel = new Label("Select file to import :");
@@ -280,7 +290,7 @@
break;
}
- overwriteBox.setEnabled(true);
+ importModeListBox.setEnabled(true);
importButton.setEnabled(true);
}
});
@@ -295,7 +305,7 @@
statusLabel.setText("Process in progress...");
statusLabel.setStyleName("progress-style");
statusImg.setStyleName("progress-style-icon");
- overwriteBox.setEnabled(false);
+ importModeListBox.setEnabled(false);
importButton.setEnabled(false);
if (!isShwon)
{
@@ -331,18 +341,19 @@
// You can add customized parameters to servlet call
uploader.setServletPath(UPLOAD_ACTION_URL + "?pc=" +
getPortalContainerName());
- overwriteBox.setTitle("If you want to force overwriting an existing site,
check this checkbox");
- overwriteBox.addClickHandler(new ClickHandler()
+ importModeListBox.setTitle("The import mode to use during import.");
+ importModeListBox.addChangeHandler(new ChangeHandler()
{
-
- public void onClick(ClickEvent event)
+ @Override
+ public void onChange(ChangeEvent changeEvent)
{
- String url = UPLOAD_ACTION_URL + "?pc=" + getPortalContainerName()
+ "&overwrite=" + overwriteBox.getValue();
+ String url = UPLOAD_ACTION_URL + "?pc=" + getPortalContainerName()
+ "&importMode=" +
importModeListBox.getValue(importModeListBox.getSelectedIndex());
uploader.setServletPath(url);
}
});
- absolutePanel.add(overwriteBox, 10, 84);
+ absolutePanel.add(importModeLabel, 10, 88);
+ absolutePanel.add(importModeListBox, 95, 84);
Button closeButton = new Button("Close", new ClickHandler()
{
Modified:
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/server/FileUploadServlet.java
===================================================================
---
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/server/FileUploadServlet.java 2011-10-10
14:31:16 UTC (rev 7700)
+++
portal/trunk/gadgets/gwtGadgets/src/main/java/org/gatein/management/gadget/mop/exportimport/server/FileUploadServlet.java 2011-10-10
15:05:02 UTC (rev 7701)
@@ -97,11 +97,10 @@
receivedFiles.put(item.getFieldName(), file);
receivedContentTypes.put(item.getFieldName(), item.getContentType());
- String overwriteVal = request.getParameter("overwrite");
- boolean overwrite = Boolean.parseBoolean(overwriteVal);
+ String importMode = request.getParameter("importMode");
// process the uploaded file
- processImport(request.getParameter("pc"), new
FileInputStream(file), overwrite);
+ processImport(request.getParameter("pc"), new
FileInputStream(file), importMode);
// Compose a xml message with the full file information which can be
parsed in client side
response.append("<file-").append(count).append("-field>").append(item.getFieldName()).append("</file-").append(count).append("-field>\n");
@@ -159,7 +158,7 @@
}
}
- private void processImport(final String containerName, final InputStream in, final
boolean overwrite) throws Exception
+ private void processImport(final String containerName, final InputStream in, final
String importMode) throws Exception
{
doInRequest(containerName, new ContainerCallback<Void>()
@@ -170,12 +169,9 @@
{
ManagementController controller = getComponent(container,
ManagementController.class);
- Map<String, List<String>> attributes = Collections.emptyMap();
- if (overwrite)
- {
- attributes = new HashMap<String, List<String>>(1);
- attributes.put("import-strategy",
Collections.singletonList("overwrite"));
- }
+ Map<String, List<String>> attributes = new HashMap<String,
List<String>>(1);
+ attributes.put("importMode",
Collections.singletonList(importMode));
+
ManagedRequest request = ManagedRequest.Factory.create(
OperationNames.IMPORT_RESOURCE, PathAddress.pathAddress("mop"),
attributes, in, ContentType.ZIP);