package edu.purdue.pivot.skwiki.client.rpccalls; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.i18n.client.TimeZone; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextBox; import edu.purdue.pivot.skwiki.client.CheckoutAllServiceAsync; import edu.purdue.pivot.skwiki.client.PreviewWidget; import edu.purdue.pivot.skwiki.client.SkwikiEntryPoint; import edu.purdue.pivot.skwiki.client.WidgetManager; import edu.purdue.pivot.skwiki.shared.DataPack; import edu.purdue.pivot.skwiki.shared.RevisionHistory; public class CheckoutAllHandler { ListBox revisionList; ArrayList<RevisionHistory> revisionHistory; WidgetManager widgets; PreviewWidget preview; CheckoutAllServiceAsync checkoutallService; TextBox Log; SkwikiEntryPoint skWiki; public CheckoutAllHandler(SkwikiEntryPoint skWiki, CheckoutAllServiceAsync checkoutallService, ListBox revisionList, ArrayList<RevisionHistory> revisionHistory, WidgetManager widgets, PreviewWidget preview, TextBox Log) { this.checkoutallService = checkoutallService; this.Log = Log; this.skWiki = skWiki; this.revisionHistory = revisionHistory; } public void sendToServer(ArrayList<Integer> selectedRevs, HashMap<Integer, PreviewWidget> previewWidgets2) { final ArrayList<Integer> selectedRevisions = selectedRevs; final HashMap<Integer, PreviewWidget> previewWidgets = previewWidgets2; DataPack packtoSend = new DataPack(); packtoSend.downloadRevisions = selectedRevisions; if (packtoSend.updateRevision < 0) { //Window.alert("please a revision"); return; } packtoSend.revisionList = revisionHistory; packtoSend.projectName = skWiki.current_project_name; try { // ServiceDefTarget endpoint = (ServiceDefTarget) // checkoutAllService; // PhonegapUtil.prepareService(endpoint, // "http://127.0.0.1:8080/Skwiki/skWiki/", "checkoutall"); checkoutallService.checkoutAll(packtoSend, new AsyncCallback<DataPack>() { @Override public void onFailure(Throwable caught) { // Show the RPC error message to the user Log.setText("GWT ERROR: Failed to call server -- SERVER_ERROR" + caught); } @Override public void onSuccess(DataPack result) { Date date = new Date(); DateTimeFormat dtf = DateTimeFormat .getFormat("yyyy/MM/dd:HH:mm:ss"); Log.setText("GWT Success: Successfully checked-out all the data at " + dtf.format(date, TimeZone.createTimeZone(240))); // ******* update where this current revison is // from for (DataPack result_current: result.allData) { previewWidgets.get(result_current.fromRevision).createPreviewLayout( result_current.layoutHistoryList, result_current); } } }); } catch (IllegalArgumentException e) { e.printStackTrace(); } } }