ref 11720: TDM - Update to StorageHUB

https://support.d4science.org/issues/11879

Updated to StorageHub 

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/data-miner-manager@169512 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2018-06-27 18:07:37 +00:00
parent b2ffaef694
commit 0a45f4ae7e
8 changed files with 181 additions and 94 deletions

View File

@ -281,7 +281,7 @@
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>workspace-uploader</artifactId>
<version>[1.4.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
</dependency>
<!-- OpenLayer Basic Widget -->

View File

@ -16,7 +16,7 @@ import com.sencha.gxt.widget.core.client.container.SimpleContainer;
*
*/
public class DataSpacePanel extends SimpleContainer {
private TabPanel dataSpaceTabPanel;
private OutputDataSetsPanel outputDataSetsPanel;
private InputDataSetsPanel inputDataSetsPanel;
@ -31,32 +31,25 @@ public class DataSpacePanel extends SimpleContainer {
}
private void create() {
outputDataSetsPanel = new OutputDataSetsPanel();
inputDataSetsPanel = new InputDataSetsPanel();
outputDataSetsPanel = new OutputDataSetsPanel();
dataSpaceTabPanel=new TabPanel();
dataSpaceTabPanel = new TabPanel();
dataSpaceTabPanel.setBorders(false);
dataSpaceTabPanel.setBodyBorder(false);
TabItemConfig outputDataItemConf = new TabItemConfig("Output Data Sets",
false);
outputDataItemConf.setIcon(DataMinerManager.resources
.folderExplore());
TabItemConfig outputDataItemConf = new TabItemConfig("Output Data Sets", false);
outputDataItemConf.setIcon(DataMinerManager.resources.folderExplore());
dataSpaceTabPanel.add(outputDataSetsPanel, outputDataItemConf);
TabItemConfig inputDataSetsItemConf = new TabItemConfig(
"Input Data Sets", false);
inputDataSetsItemConf.setIcon(DataMinerManager.resources
.folderExplore());
TabItemConfig inputDataSetsItemConf = new TabItemConfig("Input Data Sets", false);
inputDataSetsItemConf.setIcon(DataMinerManager.resources.folderExplore());
dataSpaceTabPanel.add(inputDataSetsPanel, inputDataSetsItemConf);
dataSpaceTabPanel.setActiveWidget(outputDataSetsPanel);
add(dataSpaceTabPanel);
forceLayout();
}
}

View File

@ -13,6 +13,7 @@ import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaE
import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.events.RefreshDataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEvent;
import org.gcube.portlets.user.dataminermanager.client.events.SyncRefreshUploadDataSpaceEvent;
import org.gcube.portlets.user.dataminermanager.client.events.UIStateEvent;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaElementType;
@ -56,7 +57,8 @@ public class InputDataSetsPanel extends FramedPanel {
private Item selectedItem;
private MultipleDNDUpload dnd;
//private WorkspaceResourcesExplorerPanelPaginated wsResourcesExplorerPanel;
// private WorkspaceResourcesExplorerPanelPaginated
// wsResourcesExplorerPanel;
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
private TextButton btnDownload;
private TextButton btnDelete;
@ -81,7 +83,7 @@ public class InputDataSetsPanel extends FramedPanel {
setHeaderVisible(false);
setResize(true);
setAnimCollapse(false);
setCollapsible(true);
setCollapsible(false);
setHeadingText("Input Data Sets");
setBodyStyle("backgroundColor:white;");
}
@ -119,6 +121,17 @@ public class InputDataSetsPanel extends FramedPanel {
});
EventBusProvider.INSTANCE.addHandler(SyncRefreshUploadDataSpaceEvent.TYPE,
new SyncRefreshUploadDataSpaceEvent.SyncRefreshUploadDataSpaceEventHandler() {
@Override
public void onRefresh(SyncRefreshUploadDataSpaceEvent event) {
manageSyncRefreshUploadDataSpaceEvents();
}
});
}
private void manageStateEvents(UIStateEvent event) {
@ -175,7 +188,6 @@ public class InputDataSetsPanel extends FramedPanel {
Log.error("RefreshDataMinerWorkAreaEvent");
return;
}
switch (event.getDataMinerWorkAreaElementType()) {
case Computations:
break;
@ -190,8 +202,14 @@ public class InputDataSetsPanel extends FramedPanel {
}
private void manageSyncRefreshUploadDataSpaceEvents() {
Log.debug("InputDataSetsPanel received SyncRefreshUploadDataSpaceEvents: ");
refreshWSResourceExplorerPanel();
}
private void create(DataMinerWorkAreaEvent event) {
Log.debug("Create InputDataSetsPanel");
Log.debug("DataMinerWorkAreaEvent: " + event);
try {
if (event == null || event.getDataMinerWorkArea() == null
@ -216,12 +234,13 @@ public class InputDataSetsPanel extends FramedPanel {
filterCriteria.setRequiredProperties(map);
Log.debug("Create wsResourcesExplorerPanel for Input: ["
+ event.getDataMinerWorkArea().getInputDataSets().getFolder().getId() + ", false, "
+ showProperties+", "+ filterCriteria + ", true, " + DISPLAY_FIELD.CREATION_DATE + "]");
+ event.getDataMinerWorkArea().getInputDataSets().getFolder().getId() + ", false, " + showProperties
+ ", " + filterCriteria + ", true, " + DISPLAY_FIELD.CREATION_DATE + "]");
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
event.getDataMinerWorkArea().getInputDataSets().getFolder().getId(), false, showProperties,
filterCriteria, true, DISPLAY_FIELD.CREATION_DATE);
WorskpaceExplorerSelectNotificationListener wsResourceExplorerListener = new WorskpaceExplorerSelectNotificationListener() {
@Override
public void onSelectedItem(Item item) {
@ -258,38 +277,44 @@ public class InputDataSetsPanel extends FramedPanel {
dnd = new MultipleDNDUpload();
dnd.setParameters(event.getDataMinerWorkArea().getInputDataSets().getFolder().getId(), UPLOAD_TYPE.File);
dnd.addUniqueContainer(wsResourcesExplorerPanel);
WorskpaceUploadNotificationListener workspaceUploaderListener = new WorskpaceUploadNotificationListener() {
WorskpaceUploadNotificationListener workspaceUploaderListenerInputDataSetsPanel = new WorskpaceUploadNotificationListener() {
@Override
public void onUploadCompleted(String parentId, String itemId) {
Log.debug("Upload completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
wsResourcesExplorerPanel.refreshRootFolderView();
forceLayout();
Log.debug("InputDataSetsPanel Upload completed: [parentID: " + parentId + ", itemId: " + itemId
+ "]");
SyncRefreshUploadDataSpaceEvent ev=new SyncRefreshUploadDataSpaceEvent();
EventBusProvider.INSTANCE.fireEvent(ev);
//wsResourcesExplorerPanel.refreshRootFolderView();
//forceLayout();
}
@Override
public void onUploadAborted(String parentId, String itemId) {
Log.debug("Upload Aborted: [parentID: " + parentId + ", itemId: " + itemId + "]");
Log.debug(
"InputDataSetsPanel Upload Aborted: [parentID: " + parentId + ", itemId: " + itemId + "]");
}
@Override
public void onError(String parentId, String itemId, Throwable throwable) {
Log.debug("Upload Error: [parentID: " + parentId + ", itemId: " + itemId + "]");
Log.debug("InputDataSetsPanel Upload Error: [parentID: " + parentId + ", itemId: " + itemId + "]");
throwable.printStackTrace();
}
@Override
public void onOverwriteCompleted(String parentId, String itemId) {
Log.debug("Upload Override Completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
wsResourcesExplorerPanel.refreshRootFolderView();
forceLayout();
Log.debug("InputDataSetsPanel Upload Override Completed: [parentID: " + parentId + ", itemId: "
+ itemId + "]");
SyncRefreshUploadDataSpaceEvent ev=new SyncRefreshUploadDataSpaceEvent();
EventBusProvider.INSTANCE.fireEvent(ev);
//wsResourcesExplorerPanel.refreshRootFolderView();
//forceLayout();
}
};
dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListener);
dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListenerInputDataSetsPanel);
Log.debug("Create ToolBar for InputDataSetsPanel");
// ToolBar
btnDownload = new TextButton("Download");
@ -368,7 +393,6 @@ public class InputDataSetsPanel extends FramedPanel {
private void refreshWSResourceExplorerPanel() {
if (wsResourcesExplorerPanel != null) {
try {
//wsResourcesExplorerPanel.hardRefresh();
wsResourcesExplorerPanel.refreshRootFolderView();
} catch (Exception e) {
Log.error("Error retrieving data: " + e.getLocalizedMessage());
@ -421,7 +445,6 @@ public class InputDataSetsPanel extends FramedPanel {
Log.debug("Retrieved link: " + actionUrl);
Window.open(actionUrl.toString(), selectedItem.getName(), "");
} else {
final ItemDescription itemDescription = new ItemDescription(selectedItem.getId(),
selectedItem.getName(), selectedItem.getOwner(), selectedItem.getPath(),
selectedItem.getType().name());
@ -433,7 +456,7 @@ public class InputDataSetsPanel extends FramedPanel {
if (caught instanceof SessionExpiredServiceException) {
EventBusProvider.INSTANCE.fireEvent(new SessionExpiredEvent());
} else {
Log.error("Error open file: " + caught.getLocalizedMessage());
Log.error("Error open file: " + caught.getLocalizedMessage(), caught);
UtilsGXT3.alert("Error", caught.getLocalizedMessage());
}
caught.printStackTrace();

View File

@ -13,6 +13,7 @@ import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaE
import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.events.RefreshDataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEvent;
import org.gcube.portlets.user.dataminermanager.client.events.SyncRefreshUploadDataSpaceEvent;
import org.gcube.portlets.user.dataminermanager.client.events.UIStateEvent;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaElementType;
@ -56,8 +57,8 @@ public class OutputDataSetsPanel extends FramedPanel {
private Item selectedItem;
private MultipleDNDUpload dnd;
//private WorkspaceResourcesExplorerPanelPaginated wsResourcesExplorerPanel;
// private WorkspaceResourcesExplorerPanelPaginated
// wsResourcesExplorerPanel;
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
private TextButton btnDownload;
private TextButton btnDelete;
@ -82,6 +83,7 @@ public class OutputDataSetsPanel extends FramedPanel {
setHeaderVisible(false);
setResize(true);
setAnimCollapse(false);
setCollapsible(false);
setHeadingText("Output Data Sets");
setBodyStyle("backgroundColor:white;");
}
@ -119,6 +121,17 @@ public class OutputDataSetsPanel extends FramedPanel {
});
EventBusProvider.INSTANCE.addHandler(SyncRefreshUploadDataSpaceEvent.TYPE,
new SyncRefreshUploadDataSpaceEvent.SyncRefreshUploadDataSpaceEventHandler() {
@Override
public void onRefresh(SyncRefreshUploadDataSpaceEvent event) {
manageSyncRefreshUploadDataSpaceEvents();
}
});
}
private void manageStateEvents(UIStateEvent event) {
@ -147,7 +160,7 @@ public class OutputDataSetsPanel extends FramedPanel {
}
switch (event.getDataMinerWorkAreaRegionType()) {
case Computations:
break;
break;
case DataSets:
manageMyDataMinerWorkAreaEvents(event);
break;
@ -188,9 +201,17 @@ public class OutputDataSetsPanel extends FramedPanel {
}
}
private void manageSyncRefreshUploadDataSpaceEvents() {
Log.debug("OutputDataSetsPanel received SyncRefreshUploadDataSpaceEvents: ");
refreshWSResourceExplorerPanel();
}
private void create(DataMinerWorkAreaEvent event) {
Log.debug("Create OutputDataSetsPanel");
Log.debug("DataMinerWorkAreaEvent: " + event);
try {
if (event == null || event.getDataMinerWorkArea() == null
@ -217,6 +238,7 @@ public class OutputDataSetsPanel extends FramedPanel {
Log.debug("Create wsResourcesExplorerPanel for Output: ["
+ event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId() + ", false, "
+ showProperties + ", " + filterCriteria + ", true, " + DISPLAY_FIELD.CREATION_DATE + "]");
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId(), false, showProperties,
filterCriteria, true, DISPLAY_FIELD.CREATION_DATE);
@ -253,41 +275,45 @@ public class OutputDataSetsPanel extends FramedPanel {
Log.debug("Define DND for OutputDataSetsPanel");
// DND
dnd = new MultipleDNDUpload();
dnd.setParameters(event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId(), UPLOAD_TYPE.File);
dnd.addUniqueContainer(wsResourcesExplorerPanel);
WorskpaceUploadNotificationListener workspaceUploaderListener = new WorskpaceUploadNotificationListener() {
WorskpaceUploadNotificationListener workspaceUploaderListenerOutputDataSetsPanel = new WorskpaceUploadNotificationListener() {
@Override
public void onUploadCompleted(String parentId, String itemId) {
Log.debug("Upload completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
wsResourcesExplorerPanel.refreshRootFolderView();
forceLayout();
Log.debug("OutputDataSetsPanel Upload completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
SyncRefreshUploadDataSpaceEvent ev=new SyncRefreshUploadDataSpaceEvent();
EventBusProvider.INSTANCE.fireEvent(ev);
//wsResourcesExplorerPanel.refreshRootFolderView();
//forceLayout();
}
@Override
public void onUploadAborted(String parentId, String itemId) {
Log.debug("Upload Aborted: [parentID: " + parentId + ", itemId: " + itemId + "]");
Log.debug("OutputDataSetsPanel Upload Aborted: [parentID: " + parentId + ", itemId: " + itemId + "]");
}
@Override
public void onError(String parentId, String itemId, Throwable throwable) {
Log.debug("Upload Error: [parentID: " + parentId + ", itemId: " + itemId + "]");
Log.debug("OutputDataSetsPanel Upload Error: [parentID: " + parentId + ", itemId: " + itemId + "]");
throwable.printStackTrace();
}
@Override
public void onOverwriteCompleted(String parentId, String itemId) {
Log.debug("Upload Override Completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
wsResourcesExplorerPanel.refreshRootFolderView();
forceLayout();
Log.debug("OutputDataSetsPanel Upload Override Completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
SyncRefreshUploadDataSpaceEvent ev=new SyncRefreshUploadDataSpaceEvent();
EventBusProvider.INSTANCE.fireEvent(ev);
//wsResourcesExplorerPanel.refreshRootFolderView();
//forceLayout();
}
};
dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListener);
dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListenerOutputDataSetsPanel);
Log.debug("Create ToolBar for OutputDatasetsPanel");
// ToolBar
btnDownload = new TextButton("Download");
@ -338,10 +364,10 @@ public class OutputDataSetsPanel extends FramedPanel {
toolBar.add(btnRefresh, new BoxLayoutData(new Margins(0)));
v = new VerticalLayoutContainer();
v.setItemId("OutputDataSetsPanelVert");
v.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0)));
v.add(dnd, new VerticalLayoutData(1, 1, new Margins(0)));
//v.add(wsResourcesExplorerPanel, new VerticalLayoutData(1, 1, new Margins(0)));
add(v);
v.addResizeHandler(new ResizeHandler() {
@ -367,8 +393,6 @@ public class OutputDataSetsPanel extends FramedPanel {
if (wsResourcesExplorerPanel != null) {
try {
wsResourcesExplorerPanel.refreshRootFolderView();
// wsResourcesExplorerPanel.hardRefresh();
} catch (Exception e) {
Log.error("Error retrieving data: " + e.getLocalizedMessage());
@ -431,7 +455,7 @@ public class OutputDataSetsPanel extends FramedPanel {
if (caught instanceof SessionExpiredServiceException) {
EventBusProvider.INSTANCE.fireEvent(new SessionExpiredEvent());
} else {
Log.error("Error open file: " + caught.getLocalizedMessage(),caught);
Log.error("Error open file: " + caught.getLocalizedMessage(), caught);
UtilsGXT3.alert("Error", caught.getLocalizedMessage());
}
caught.printStackTrace();
@ -446,7 +470,6 @@ public class OutputDataSetsPanel extends FramedPanel {
});
}
} else {
UtilsGXT3.info("Attention", "Select a file!");
}

View File

@ -0,0 +1,59 @@
package org.gcube.portlets.user.dataminermanager.client.events;
import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaElementType;
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.event.shared.HasHandlers;
/**
* SyncRefreshUpload
*
*
* @author Giancarlo Panichi
*
*
*/
public class SyncRefreshUploadDataSpaceEvent
extends GwtEvent<SyncRefreshUploadDataSpaceEvent.SyncRefreshUploadDataSpaceEventHandler> {
public static Type<SyncRefreshUploadDataSpaceEventHandler> TYPE = new Type<SyncRefreshUploadDataSpaceEventHandler>();
public interface SyncRefreshUploadDataSpaceEventHandler extends EventHandler {
void onRefresh(SyncRefreshUploadDataSpaceEvent event);
}
public interface HasSyncRefreshUploadDataSpaceEventHandler extends HasHandlers {
public HandlerRegistration addSyncRefreshUploadDataSpaceEventHandler(
SyncRefreshUploadDataSpaceEventHandler handler);
}
public SyncRefreshUploadDataSpaceEvent() {
}
@Override
protected void dispatch(SyncRefreshUploadDataSpaceEventHandler handler) {
handler.onRefresh(this);
}
@Override
public Type<SyncRefreshUploadDataSpaceEventHandler> getAssociatedType() {
return TYPE;
}
public static Type<SyncRefreshUploadDataSpaceEventHandler> getType() {
return TYPE;
}
public static void fire(HasHandlers source, SyncRefreshUploadDataSpaceEvent deleteItemEvent) {
source.fireEvent(deleteItemEvent);
}
@Override
public String toString() {
return "SyncRefreshUploadDataSpaceEvent []";
}
}

View File

@ -6,10 +6,8 @@
<!-- <inherits name='com.google.gwt.user.theme.clean.Clean' /> -->
<inherits name='com.sencha.gxt.ui.GXT' />
<!-- <inherits name="com.extjs.gxt.ui.GXT" /> -->
<!--
<inherits name="com.google.gwt.logging.Logging" />
-->
<!-- <inherits name="com.google.gwt.logging.Logging" /> -->
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
@ -43,21 +41,17 @@
<entry-point
class='org.gcube.portlets.user.dataminermanager.client.DataMinerManager' />
<!--
<set-property name="log_ConsoleLogger" value="ENABLED" />
<set-property name="log_DivLogger" value="ENABLED" />
<set-property name="log_GWTLogger" value="ENABLED" />
<set-property name="log_SystemLogger" value="ENABLED" />
<!-- <set-property name="log_ConsoleLogger" value="ENABLED" /> <set-property
name="log_DivLogger" value="ENABLED" /> <set-property name="log_GWTLogger"
value="ENABLED" /> <set-property name="log_SystemLogger" value="ENABLED"
/> <set-property name="gwt.logging.logLevel" value="SEVERE" /> <set-property
name="gwt.logging.enabled" value="TRUE" /> <set-property name="gwt.logging.consoleHandler"
value="ENABLED" /> -->
<set-property name="gwt.logging.logLevel" value="SEVERE" />
<set-property name="gwt.logging.enabled" value="TRUE" />
<set-property name="gwt.logging.consoleHandler" value="ENABLED" /> -->
<set-property name="log_ConsoleLogger" value="DISABLED" /> <set-property
name="log_DivLogger" value="DISABLED" /> <set-property name="log_GWTLogger"
value="DISABLED" /> <set-property name="log_SystemLogger" value="DISABLED"
/>
<set-property name="log_ConsoleLogger" value="DISABLED" />
<set-property name="log_DivLogger" value="DISABLED" />
<set-property name="log_GWTLogger" value="DISABLED" />
<set-property name="log_SystemLogger" value="DISABLED" />
<source path='client' />
<source path='shared' />

View File

@ -109,6 +109,7 @@ public class DataMinerWorkAreaManager {
}
dataMinerWorkArea.setComputations(computations);
logger.debug("DataMinerWorkArea: "+dataMinerWorkArea);
return dataMinerWorkArea;
}

View File

@ -6,10 +6,8 @@
<!-- <inherits name='com.google.gwt.user.theme.clean.Clean' /> -->
<inherits name='com.sencha.gxt.ui.GXT' />
<!-- <inherits name="com.extjs.gxt.ui.GXT" /> -->
<!--
<inherits name="com.google.gwt.logging.Logging" />
-->
<!-- <inherits name="com.google.gwt.logging.Logging" /> -->
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
@ -43,21 +41,17 @@
<entry-point
class='org.gcube.portlets.user.dataminermanager.client.DataMinerManager' />
<!--
<set-property name="log_ConsoleLogger" value="ENABLED" />
<set-property name="log_DivLogger" value="ENABLED" />
<set-property name="log_GWTLogger" value="ENABLED" />
<set-property name="log_SystemLogger" value="ENABLED" />
<!-- <set-property name="log_ConsoleLogger" value="ENABLED" /> <set-property
name="log_DivLogger" value="ENABLED" /> <set-property name="log_GWTLogger"
value="ENABLED" /> <set-property name="log_SystemLogger" value="ENABLED"
/> <set-property name="gwt.logging.logLevel" value="SEVERE" /> <set-property
name="gwt.logging.enabled" value="TRUE" /> <set-property name="gwt.logging.consoleHandler"
value="ENABLED" /> -->
<set-property name="gwt.logging.logLevel" value="SEVERE" />
<set-property name="gwt.logging.enabled" value="TRUE" />
<set-property name="gwt.logging.consoleHandler" value="ENABLED" /> -->
<set-property name="log_ConsoleLogger" value="DISABLED" /> <set-property
name="log_DivLogger" value="DISABLED" /> <set-property name="log_GWTLogger"
value="DISABLED" /> <set-property name="log_SystemLogger" value="DISABLED"
/>
<set-property name="log_ConsoleLogger" value="DISABLED" />
<set-property name="log_DivLogger" value="DISABLED" />
<set-property name="log_GWTLogger" value="DISABLED" />
<set-property name="log_SystemLogger" value="DISABLED" />
<source path='client' />
<source path='shared' />