256: Workspace explorer
Task-Url: https://support.d4science.org/issues/256 Added code to overwrite Bootstrap css (bootstrap.min.css) Added code to filter for Mime Type, File Extensions, Properties git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@117534 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
cf9b4bfffc
commit
e6520cdad9
25
pom.xml
25
pom.xml
|
@ -89,19 +89,18 @@
|
|||
</dependency>
|
||||
|
||||
<!-- HOME LIBRARY -->
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library-model</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library-jcr</artifactId>
|
||||
<!-- <version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version> -->
|
||||
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.gcube.common</groupId> -->
|
||||
<!-- <artifactId>home-library-model</artifactId> -->
|
||||
<!-- <version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.gcube.common</groupId> -->
|
||||
<!-- <artifactId>home-library-jcr</artifactId> -->
|
||||
<!-- <version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- </dependency> -->
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library</artifactId>
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
<!-- Inherit the core Web Toolkit stuff. -->
|
||||
<inherits name='com.google.gwt.user.User' />
|
||||
|
||||
<!-- UNCOMMNET TO USE GWT 2.7 SUPER DEV MODE-->
|
||||
<set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE'/>
|
||||
<!-- UNCOMMNET TO USE GWT 2.7 SUPER DEV MODE -->
|
||||
<set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE' />
|
||||
|
||||
<script src="jquery-1.10.1.min.js"></script>
|
||||
<script src="bootstrap.min.js"></script>
|
||||
|
@ -22,4 +22,14 @@
|
|||
<source path='client' />
|
||||
<source path='shared' />
|
||||
|
||||
</module>
|
||||
<!--Override Bootstrap Css-->
|
||||
<source path='resources' />
|
||||
<replace-with class="org.gcube.portlets.widgets.wsexplorer.resources.BootstrapConfigurator">
|
||||
<when-type-is class="com.github.gwtbootstrap.client.ui.config.Configurator" />
|
||||
</replace-with>
|
||||
<public path="resources">
|
||||
<exclude name="** /*.java" />
|
||||
<exclude name="** /*.class" />
|
||||
</public>
|
||||
|
||||
</module>
|
|
@ -19,6 +19,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService
|
|||
import org.gcube.portlets.widgets.wsexplorer.client.view.Breadcrumbs;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.Navigation;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemCategory;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||
|
@ -61,10 +62,18 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation);
|
||||
}
|
||||
|
||||
// public void loadRoot(){
|
||||
// wsExplorer.loadRoot();
|
||||
// }
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer controller.
|
||||
*
|
||||
* @param filterCriteria the filter criteria
|
||||
*/
|
||||
public WorkspaceExplorerController(FilterCriteria filterCriteria) {
|
||||
bindEvents();
|
||||
wsExplorer = new WorkspaceExplorer(filterCriteria);
|
||||
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation);
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind events.
|
||||
*/
|
||||
|
@ -172,10 +181,18 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear more info.
|
||||
*/
|
||||
private void clearMoreInfo(){
|
||||
workspaceExplorerPanel.getSouthPanel().clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Update more info.
|
||||
*
|
||||
* @param item the item
|
||||
*/
|
||||
private void updateMoreInfo(Item item){
|
||||
|
||||
if(item!=null){
|
||||
|
@ -247,6 +264,8 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the breadcrumbs.
|
||||
*
|
||||
* @return the breadcrumbs
|
||||
*/
|
||||
public Breadcrumbs getBreadcrumbs() {
|
||||
|
@ -263,6 +282,8 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the ws explorer.
|
||||
*
|
||||
* @return the wsExplorer
|
||||
*/
|
||||
public WorkspaceExplorer getWsExplorer() {
|
||||
|
@ -270,13 +291,17 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param selectableTypes
|
||||
* Sets the selectable types.
|
||||
*
|
||||
* @param selectableTypes the new selectable types
|
||||
*/
|
||||
public void setSelectableTypes(ItemType[] selectableTypes) {
|
||||
wsExplorer.setSelectableTypes(selectableTypes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the selectable types.
|
||||
*
|
||||
* @return the selectableTypes
|
||||
*/
|
||||
public List<ItemType> getSelectableTypes() {
|
||||
|
@ -284,14 +309,18 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
* Gets the showable types.
|
||||
*
|
||||
* @return the showable types
|
||||
*/
|
||||
public List<ItemType> getShowableTypes() {
|
||||
return wsExplorer.getShowableTypes();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param showableTypes
|
||||
* Sets the showable types.
|
||||
*
|
||||
* @param showableTypes the new showable types
|
||||
*/
|
||||
public void setShowableTypes(ItemType[] showableTypes) {
|
||||
wsExplorer.setShowableTypes(showableTypes);
|
||||
|
|
|
@ -10,6 +10,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEventHandler;
|
|||
import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.HasWorskpaceExplorerSaveNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.WorskpaceExplorerSaveNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||
|
||||
|
@ -42,7 +43,7 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx
|
|||
private boolean isSave = false;
|
||||
private String captionTxt;
|
||||
private ModalFooter footer = new ModalFooter();
|
||||
private WorkspaceExplorerController controller = new WorkspaceExplorerController();
|
||||
private WorkspaceExplorerController controller;
|
||||
private List<WorskpaceExplorerSaveNotificationListener> listeners = new ArrayList<WorskpaceExplorerSaveNotificationListener>();
|
||||
private TextBox fileNameTextBox = new TextBox();
|
||||
|
||||
|
@ -54,10 +55,21 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx
|
|||
* @param fileName the file name
|
||||
*/
|
||||
public WorkspaceExplorerSaveDialog(String captionTxt, String fileName) {
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(captionTxt, fileName);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt, fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer save dialog.
|
||||
*
|
||||
* @param captionTxt the caption txt
|
||||
* @param fileName the file name
|
||||
* @param filterCriteria the filter criteria to filter for Mime Types, File Extensions, Properties
|
||||
*/
|
||||
public WorkspaceExplorerSaveDialog(String captionTxt, String fileName, FilterCriteria filterCriteria) {
|
||||
controller = new WorkspaceExplorerController(filterCriteria);
|
||||
loadExplorer(captionTxt, fileName);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer save dialog.
|
||||
|
@ -74,11 +86,9 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx
|
|||
setSelectableTypes(itemsType);
|
||||
setShowableTypes(itemsType);
|
||||
}
|
||||
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(captionTxt, fileName);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt, fileName);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer save dialog.
|
||||
|
@ -94,8 +104,8 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx
|
|||
setSelectableTypes(itemsType);
|
||||
setShowableTypes(itemsType);
|
||||
}
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(WorkspaceExplorerConstants.WORKSPACE_EXPLORER_SAVE_AS_CAPTION, fileName);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(WorkspaceExplorerConstants.WORKSPACE_EXPLORER_SAVE_AS_CAPTION, fileName);
|
||||
}
|
||||
|
||||
|
||||
|
@ -113,9 +123,8 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx
|
|||
itemsType = showableTypes.toArray(itemsType);
|
||||
setShowableTypes(showableTypes.toArray(itemsType));
|
||||
}
|
||||
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(captionTxt, fileName);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt, fileName);
|
||||
}
|
||||
|
||||
|
||||
|
@ -132,7 +141,18 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx
|
|||
itemsType = showableTypes.toArray(itemsType);
|
||||
setShowableTypes(showableTypes.toArray(itemsType));
|
||||
}
|
||||
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(WorkspaceExplorerConstants.WORKSPACE_EXPLORER_SAVE_AS_CAPTION, fileName);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load explorer.
|
||||
*
|
||||
* @param captionTxt the caption txt
|
||||
* @param fileName the file name
|
||||
*/
|
||||
private void loadExplorer(String captionTxt, String fileName){
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(captionTxt, fileName);
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.ClickItemEventHandler;
|
|||
import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.HasWorskpaceExplorerSaveNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.WorskpaceExplorerSaveNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||
|
||||
|
@ -42,7 +43,7 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp
|
|||
private Button saveButton;
|
||||
@SuppressWarnings("unused")
|
||||
private boolean isSave = false;
|
||||
private WorkspaceExplorerController controller = new WorkspaceExplorerController();
|
||||
private WorkspaceExplorerController controller;
|
||||
private List<WorskpaceExplorerSaveNotificationListener> listeners = new ArrayList<WorskpaceExplorerSaveNotificationListener>();
|
||||
private TextBox fileNameTextBox = new TextBox();
|
||||
private VerticalPanel mainVP = new VerticalPanel();
|
||||
|
@ -55,10 +56,20 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp
|
|||
* @param fileName the file name
|
||||
*/
|
||||
public WorkspaceExplorerSavePanel(String fileName) {
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initPanel(fileName);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer save panel.
|
||||
*
|
||||
* @param fileName the file name
|
||||
* @param filterCriteria the filter criteria
|
||||
*/
|
||||
public WorkspaceExplorerSavePanel(String fileName, FilterCriteria filterCriteria) {
|
||||
controller = new WorkspaceExplorerController(filterCriteria);
|
||||
loadExplorer(fileName);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer save panel.
|
||||
|
@ -74,9 +85,8 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp
|
|||
setSelectableTypes(itemsType);
|
||||
setShowableTypes(itemsType);
|
||||
}
|
||||
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initPanel(fileName);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -92,7 +102,16 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp
|
|||
itemsType = showableTypes.toArray(itemsType);
|
||||
setShowableTypes(showableTypes.toArray(itemsType));
|
||||
}
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load explorer.
|
||||
*
|
||||
* @param fileName the file name
|
||||
*/
|
||||
private void loadExplorer(String fileName){
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initPanel(fileName);
|
||||
}
|
||||
|
@ -282,6 +301,8 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the save button.
|
||||
*
|
||||
* @return the saveButton
|
||||
*/
|
||||
public Button getSaveButton() {
|
||||
|
|
|
@ -11,6 +11,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
|||
import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.HasWorskpaceExplorerSelectNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||
|
||||
|
@ -40,20 +41,32 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace
|
|||
private String captionTxt;
|
||||
private ModalFooter footer = new ModalFooter();
|
||||
private Alert alertConfirm;
|
||||
private WorkspaceExplorerController controller = new WorkspaceExplorerController();
|
||||
private WorkspaceExplorerController controller;
|
||||
private List<WorskpaceExplorerSelectNotificationListener> listeners = new ArrayList<WorskpaceExplorerSelectNotificationListener>();
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer select dialog.
|
||||
*
|
||||
* @param captionTxt the caption txt
|
||||
* You can implement {@link WorskpaceExplorerSelectNotificationListener} to receive events
|
||||
* @param captionTxt the caption txt
|
||||
*
|
||||
*/
|
||||
public WorkspaceExplorerSelectDialog(String captionTxt) {
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(captionTxt);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer select dialog.
|
||||
* You can implement {@link WorskpaceExplorerSelectNotificationListener} to receive events
|
||||
* @param captionTxt the caption txt
|
||||
* @param filterCriteria the filter criteria
|
||||
*/
|
||||
public WorkspaceExplorerSelectDialog(String captionTxt, FilterCriteria filterCriteria) {
|
||||
controller = new WorkspaceExplorerController(filterCriteria);
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer select dialog.
|
||||
|
@ -69,9 +82,9 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace
|
|||
setSelectableTypes(itemsType);
|
||||
setShowableTypes(itemsType);
|
||||
}
|
||||
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(captionTxt);
|
||||
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -95,7 +108,17 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace
|
|||
itemsType = showableTypes.toArray(itemsType);
|
||||
setShowableTypes(showableTypes.toArray(itemsType));
|
||||
}
|
||||
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load explorer.
|
||||
*
|
||||
* @param captionTxt the caption txt
|
||||
*/
|
||||
private void loadExplorer(String captionTxt){
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initDialog(captionTxt);
|
||||
}
|
||||
|
@ -155,7 +178,8 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace
|
|||
* Sets the alert confirm.
|
||||
*
|
||||
* @param html the html
|
||||
* @param bool the bool
|
||||
* @param show the show
|
||||
* @param item the item
|
||||
*/
|
||||
private void setAlertConfirm(String html, boolean show, final Item item){
|
||||
try{
|
||||
|
|
|
@ -11,6 +11,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
|||
import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.HasWorskpaceExplorerSelectNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||
|
||||
|
@ -40,7 +41,7 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
|
|||
private String captionTxt;
|
||||
private ModalFooter footer = new ModalFooter();
|
||||
private Alert alertConfirm;
|
||||
private WorkspaceExplorerController controller = new WorkspaceExplorerController();
|
||||
private WorkspaceExplorerController controller;
|
||||
private List<WorskpaceExplorerSelectNotificationListener> listeners = new ArrayList<WorskpaceExplorerSelectNotificationListener>();
|
||||
private VerticalPanel mainVP = new VerticalPanel();
|
||||
|
||||
|
@ -50,9 +51,22 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
|
|||
* @param captionTxt the tool-tip of the panel
|
||||
*/
|
||||
public WorkspaceExplorerSelectPanel(String captionTxt) {
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initPanel(captionTxt);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer select panel.
|
||||
*
|
||||
* @param captionTxt the caption txt
|
||||
* @param filterCriteria the filter criteria
|
||||
*/
|
||||
public WorkspaceExplorerSelectPanel(String captionTxt, FilterCriteria filterCriteria) {
|
||||
controller = new WorkspaceExplorerController(filterCriteria);
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
@ -69,9 +83,8 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
|
|||
setSelectableTypes(itemsType);
|
||||
setShowableTypes(itemsType);
|
||||
}
|
||||
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initPanel(captionTxt);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
|
||||
|
@ -94,12 +107,20 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
|
|||
itemsType = showableTypes.toArray(itemsType);
|
||||
setShowableTypes(showableTypes.toArray(itemsType));
|
||||
}
|
||||
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initPanel(captionTxt);
|
||||
controller = new WorkspaceExplorerController();
|
||||
loadExplorer(captionTxt);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load explorer.
|
||||
*
|
||||
* @param captionTxt the caption txt
|
||||
*/
|
||||
private void loadExplorer(String captionTxt){
|
||||
WorkspaceExplorerController.eventBus.fireEvent(new LoadRootEvent());
|
||||
initPanel(captionTxt);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.view;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerController;
|
||||
|
@ -48,9 +46,11 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
protected Alert alert = new Alert();
|
||||
protected List<ItemType> selectableTypes = new ArrayList<ItemType>();
|
||||
protected List<ItemType> showableTypes = new ArrayList<ItemType>();
|
||||
protected List<String> allowedMimeTypes = new ArrayList<String>();
|
||||
// protected List<String> allowedMimeTypes = new ArrayList<String>();
|
||||
// protected List<String> allowedFileExtensions = new ArrayList<String>();
|
||||
// protected Map<String, String> requiredProperties = new HashMap<String, String>();
|
||||
protected FilterCriteria filterCriteria = null;
|
||||
protected boolean showEmptyFolders = true;
|
||||
protected Map<String, String> requiredProperties = new HashMap<String, String>();
|
||||
protected ScrollPanel explorerPanel;
|
||||
private ItemsTable itTables;
|
||||
|
||||
|
@ -68,7 +68,17 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
explorerPanel = new ScrollPanel();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer.
|
||||
*
|
||||
* @param filterCriteria the filter criteria
|
||||
*/
|
||||
public WorkspaceExplorer(FilterCriteria filterCriteria) {
|
||||
this();
|
||||
this.filterCriteria = filterCriteria;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the alert.
|
||||
*
|
||||
|
@ -109,7 +119,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
|
||||
boolean purgeEmpyFolders = !showEmptyFolders;
|
||||
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties);
|
||||
// FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties, allowedFileExtensions);
|
||||
|
||||
GWT.log("loading workspace tree from server");
|
||||
|
||||
|
@ -148,7 +158,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
}
|
||||
|
||||
boolean purgeEmpyFolders = !showEmptyFolders;
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties);
|
||||
// FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties, allowedFileExtensions);
|
||||
|
||||
GWT.log("loading workspace tree from server");
|
||||
WorkspaceExplorerController.workspaceNavigatorService.getFolder(item.getId(), showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback<Item>() {
|
||||
|
@ -186,7 +196,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
}
|
||||
|
||||
boolean purgeEmpyFolders = !showEmptyFolders;
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties);
|
||||
// FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties, allowedFileExtensions);
|
||||
|
||||
GWT.log("loading workspace tree from server");
|
||||
WorkspaceExplorerController.workspaceNavigatorService.getMySpecialFolder(showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback<Item>() {
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.resources;
|
||||
|
||||
|
||||
import com.github.gwtbootstrap.client.ui.config.Configurator;
|
||||
import com.github.gwtbootstrap.client.ui.resources.Resources;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* @Jul 30, 2014
|
||||
*
|
||||
*/
|
||||
public class BootstrapConfigurator implements Configurator {
|
||||
|
||||
public Resources getResources() {
|
||||
return GWT.create(BootstrapOverrideResources.class);
|
||||
}
|
||||
|
||||
public boolean hasResponsiveDesign() {
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.resources;
|
||||
|
||||
/**
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* @Jul 28, 2014
|
||||
*
|
||||
*/
|
||||
import com.github.gwtbootstrap.client.ui.resources.Resources;
|
||||
import com.google.gwt.resources.client.TextResource;
|
||||
|
||||
public interface BootstrapOverrideResources extends Resources {
|
||||
@Source("css/bootstrap.min.css")
|
||||
TextResource bootstrapCss();
|
||||
}
|
960
src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css
vendored
Normal file
960
src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css
vendored
Normal file
|
@ -0,0 +1,960 @@
|
|||
/*MODAL FOOTER*/
|
||||
.modal-footer {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 0 0 6px 6px;
|
||||
border-top: 1px solid #DDDDDD;
|
||||
box-shadow: 0 1px 0 #FFFFFF inset;
|
||||
margin-bottom: 0;
|
||||
padding: 14px 15px 15px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.modal-footer:before, .modal-footer:after {
|
||||
content: "";
|
||||
display: table;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.modal-footer:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.modal-footer .btn+.btn {
|
||||
margin-bottom: 0;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.modal-footer .btn-group .btn+.btn {
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
.modal-footer .btn-block+.btn-block {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/*TOOLTIP*/
|
||||
.tooltip {
|
||||
display: block;
|
||||
font-size: 11px;
|
||||
line-height: 1.4;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
visibility: visible;
|
||||
z-index: 1030;
|
||||
}
|
||||
|
||||
.tooltip.in {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.tooltip.top {
|
||||
margin-top: -3px;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.tooltip.right {
|
||||
margin-left: 3px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.tooltip.bottom {
|
||||
margin-top: 3px;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.tooltip.left {
|
||||
margin-left: -3px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.tooltip-inner {
|
||||
background-color: #000000;
|
||||
border-radius: 4px;
|
||||
color: #FFFFFF;
|
||||
max-width: 200px;
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tooltip-arrow {
|
||||
border-color: rgba(0, 0, 0, 0);
|
||||
border-style: solid;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.tooltip.top .tooltip-arrow {
|
||||
border-top-color: #000000;
|
||||
border-width: 5px 5px 0;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
margin-left: -5px;
|
||||
}
|
||||
|
||||
.tooltip.right .tooltip-arrow {
|
||||
border-right-color: #000000;
|
||||
border-width: 5px 5px 5px 0;
|
||||
left: 0;
|
||||
margin-top: -5px;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.tooltip.left .tooltip-arrow {
|
||||
border-left-color: #000000;
|
||||
border-width: 5px 0 5px 5px;
|
||||
margin-top: -5px;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.tooltip.bottom .tooltip-arrow {
|
||||
border-bottom-color: #000000;
|
||||
border-width: 0 5px 5px;
|
||||
left: 50%;
|
||||
margin-left: -5px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
/*BREADCRUMB*/
|
||||
.breadcrumb {
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 4px;
|
||||
list-style: none outside none;
|
||||
margin: 0 0 20px;
|
||||
padding: 8px 15px;
|
||||
}
|
||||
|
||||
.breadcrumb>li {
|
||||
display: inline-block;
|
||||
text-shadow: 0 1px 0 #FFFFFF;
|
||||
}
|
||||
|
||||
.breadcrumb>li>.divider {
|
||||
color: #CCCCCC;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.breadcrumb>.active {
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
/*TABLE*/
|
||||
.table {
|
||||
margin-bottom: 20px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.table th, .table td {
|
||||
border-top: 1px solid #DDDDDD;
|
||||
line-height: 20px;
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.table th {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.table thead th {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.table caption+thead tr:first-child th, .table caption+thead tr:first-child td,
|
||||
.table colgroup+thead tr:first-child th, .table colgroup+thead tr:first-child td,
|
||||
.table thead:first-child tr:first-child th, .table thead:first-child tr:first-child td
|
||||
{
|
||||
border-top: 0 none;
|
||||
}
|
||||
|
||||
.table tbody+tbody {
|
||||
border-top: 2px solid #DDDDDD;
|
||||
}
|
||||
|
||||
.table .table {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.table-condensed th, .table-condensed td {
|
||||
padding: 4px 5px;
|
||||
}
|
||||
|
||||
.table-bordered {
|
||||
-moz-border-bottom-colors: none;
|
||||
-moz-border-left-colors: none;
|
||||
-moz-border-right-colors: none;
|
||||
-moz-border-top-colors: none;
|
||||
border-collapse: separate;
|
||||
border-color: #DDDDDD #DDDDDD #DDDDDD -moz-use-text-color;
|
||||
border-image: none;
|
||||
border-radius: 4px;
|
||||
border-style: solid solid solid none;
|
||||
border-width: 1px 1px 1px 0;
|
||||
}
|
||||
|
||||
.table-bordered th, .table-bordered td {
|
||||
border-left: 1px solid #DDDDDD;
|
||||
}
|
||||
|
||||
.table-bordered caption+thead tr:first-child th, .table-bordered caption+tbody tr:first-child th,
|
||||
.table-bordered caption+tbody tr:first-child td, .table-bordered colgroup+thead tr:first-child th,
|
||||
.table-bordered colgroup+tbody tr:first-child th, .table-bordered colgroup+tbody tr:first-child td,
|
||||
.table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th,
|
||||
.table-bordered tbody:first-child tr:first-child td {
|
||||
border-top: 0 none;
|
||||
}
|
||||
|
||||
.table-bordered thead:first-child tr:first-child>th:first-child,
|
||||
.table-bordered tbody:first-child tr:first-child>td:first-child,
|
||||
.table-bordered tbody:first-child tr:first-child>th:first-child {
|
||||
border-top-left-radius: 4px;
|
||||
}
|
||||
|
||||
.table-bordered thead:first-child tr:first-child>th:last-child,
|
||||
.table-bordered tbody:first-child tr:first-child>td:last-child,
|
||||
.table-bordered tbody:first-child tr:first-child>th:last-child {
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
|
||||
.table-bordered thead:last-child tr:last-child>th:first-child,
|
||||
.table-bordered tbody:last-child tr:last-child>td:first-child,
|
||||
.table-bordered tbody:last-child tr:last-child>th:first-child,
|
||||
.table-bordered tfoot:last-child tr:last-child>td:first-child,
|
||||
.table-bordered tfoot:last-child tr:last-child>th:first-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
|
||||
.table-bordered thead:last-child tr:last-child>th:last-child,
|
||||
.table-bordered tbody:last-child tr:last-child>td:last-child,
|
||||
.table-bordered tbody:last-child tr:last-child>th:last-child,
|
||||
.table-bordered tfoot:last-child tr:last-child>td:last-child,
|
||||
.table-bordered tfoot:last-child tr:last-child>th:last-child {
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
.table-bordered tfoot+tbody:last-child tr:last-child td:first-child {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.table-bordered tfoot+tbody:last-child tr:last-child td:last-child {
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.table-bordered caption+thead tr:first-child th:first-child,
|
||||
.table-bordered caption+tbody tr:first-child td:first-child,
|
||||
.table-bordered colgroup+thead tr:first-child th:first-child,
|
||||
.table-bordered colgroup+tbody tr:first-child td:first-child {
|
||||
border-top-left-radius: 4px;
|
||||
}
|
||||
|
||||
.table-bordered caption+thead tr:first-child th:last-child,
|
||||
.table-bordered caption+tbody tr:first-child td:last-child,
|
||||
.table-bordered colgroup+thead tr:first-child th:last-child,
|
||||
.table-bordered colgroup+tbody tr:first-child td:last-child {
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
|
||||
.table-striped tbody>tr:nth-child(2n+1)>td, .table-striped tbody>tr:nth-child(2n+1)>th
|
||||
{
|
||||
background-color: #F9F9F9;
|
||||
}
|
||||
|
||||
.table-hover tbody tr:hover>td, .table-hover tbody tr:hover>th {
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
table td[class*="span"], table th[class*="span"], .row-fluid table td[class*="span"],
|
||||
.row-fluid table th[class*="span"] {
|
||||
display: table-cell;
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.table td.span1, .table th.span1 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 44px;
|
||||
}
|
||||
|
||||
.table td.span2, .table th.span2 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 124px;
|
||||
}
|
||||
|
||||
.table td.span3, .table th.span3 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 204px;
|
||||
}
|
||||
|
||||
.table td.span4, .table th.span4 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 284px;
|
||||
}
|
||||
|
||||
.table td.span5, .table th.span5 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 364px;
|
||||
}
|
||||
|
||||
.table td.span6, .table th.span6 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 444px;
|
||||
}
|
||||
|
||||
.table td.span7, .table th.span7 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 524px;
|
||||
}
|
||||
|
||||
.table td.span8, .table th.span8 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 604px;
|
||||
}
|
||||
|
||||
.table td.span9, .table th.span9 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 684px;
|
||||
}
|
||||
|
||||
.table td.span10, .table th.span10 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 764px;
|
||||
}
|
||||
|
||||
.table td.span11, .table th.span11 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 844px;
|
||||
}
|
||||
|
||||
.table td.span12, .table th.span12 {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
width: 924px;
|
||||
}
|
||||
|
||||
.table tbody tr.success>td {
|
||||
background-color: #DFF0D8;
|
||||
}
|
||||
|
||||
.table tbody tr.error>td {
|
||||
background-color: #F2DEDE;
|
||||
}
|
||||
|
||||
.table tbody tr.warning>td {
|
||||
background-color: #FCF8E3;
|
||||
}
|
||||
|
||||
.table tbody tr.info>td {
|
||||
background-color: #D9EDF7;
|
||||
}
|
||||
|
||||
.table-hover tbody tr.success:hover>td {
|
||||
background-color: #D0E9C6;
|
||||
}
|
||||
|
||||
.table-hover tbody tr.error:hover>td {
|
||||
background-color: #EBCCCC;
|
||||
}
|
||||
|
||||
.table-hover tbody tr.warning:hover>td {
|
||||
background-color: #FAF2CC;
|
||||
}
|
||||
|
||||
.table-hover tbody tr.info:hover>td {
|
||||
background-color: #C4E3F3;
|
||||
}
|
||||
|
||||
/*BUTTONS*/
|
||||
button.close {
|
||||
background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
|
||||
border: 0 none;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.btn {
|
||||
-moz-border-bottom-colors: none;
|
||||
-moz-border-left-colors: none;
|
||||
-moz-border-right-colors: none;
|
||||
-moz-border-top-colors: none;
|
||||
background-color: #F5F5F5;
|
||||
background-image: linear-gradient(to bottom, #FFFFFF, #E6E6E6);
|
||||
background-repeat: repeat-x;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #B3B3B3;
|
||||
border-image: none;
|
||||
border-radius: 4px;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px
|
||||
rgba(0, 0, 0, 0.05);
|
||||
color: #333333;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
margin-bottom: 0;
|
||||
padding: 4px 12px;
|
||||
text-align: center;
|
||||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.btn:hover, .btn:focus, .btn:active, .btn.active, .btn.disabled, .btn[disabled]
|
||||
{
|
||||
background-color: #E6E6E6;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.btn:active, .btn.active {
|
||||
|
||||
}
|
||||
|
||||
.btn:first-child {
|
||||
|
||||
}
|
||||
|
||||
.btn:hover, .btn:focus {
|
||||
background-position: 0 -15px;
|
||||
color: #333333;
|
||||
text-decoration: none;
|
||||
transition: background-position 0.1s linear 0s;
|
||||
}
|
||||
|
||||
.btn:focus {
|
||||
outline: thin dotted #333333;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
.btn.active, .btn:active {
|
||||
background-image: none;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) inset, 0 1px 2px
|
||||
rgba(0, 0, 0, 0.05);
|
||||
outline: 0 none;
|
||||
}
|
||||
|
||||
.btn.disabled, .btn[disabled] {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
cursor: default;
|
||||
opacity: 0.65;
|
||||
}
|
||||
|
||||
.btn-large {
|
||||
border-radius: 6px;
|
||||
font-size: 17.5px;
|
||||
padding: 11px 19px;
|
||||
}
|
||||
|
||||
.btn-large [class^="icon-"], .btn-large [class*=" icon-"] {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.btn-small {
|
||||
border-radius: 3px;
|
||||
font-size: 11.9px;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
|
||||
.btn-small [class^="icon-"], .btn-small [class*=" icon-"] {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.btn-mini [class^="icon-"], .btn-mini [class*=" icon-"] {
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
.btn-mini {
|
||||
border-radius: 3px;
|
||||
font-size: 10.5px;
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.btn-block {
|
||||
-moz-box-sizing: border-box;
|
||||
display: block;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.btn-block+.btn-block {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
input.btn-block[type="submit"], input.btn-block[type="reset"], input.btn-block[type="button"]
|
||||
{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.btn-primary.active, .btn-warning.active, .btn-danger.active,
|
||||
.btn-success.active, .btn-info.active, .btn-inverse.active {
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #006DCC;
|
||||
background-image: linear-gradient(to bottom, #0088CC, #0044CC);
|
||||
background-repeat: repeat-x;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
|
||||
.btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
|
||||
background-color: #0044CC;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.btn-primary:active, .btn-primary.active {
|
||||
|
||||
}
|
||||
|
||||
.btn-warning {
|
||||
background-color: #FAA732;
|
||||
background-image: linear-gradient(to bottom, #FBB450, #F89406);
|
||||
background-repeat: repeat-x;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.btn-warning:hover, .btn-warning:focus, .btn-warning:active,
|
||||
.btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
|
||||
background-color: #F89406;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.btn-warning:active, .btn-warning.active {
|
||||
|
||||
}
|
||||
|
||||
.btn-danger {
|
||||
background-color: #DA4F49;
|
||||
background-image: linear-gradient(to bottom, #EE5F5B, #BD362F);
|
||||
background-repeat: repeat-x;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active,
|
||||
.btn-danger.disabled, .btn-danger[disabled] {
|
||||
background-color: #BD362F;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.btn-danger:active, .btn-danger.active {
|
||||
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
background-color: #5BB75B;
|
||||
background-image: linear-gradient(to bottom, #62C462, #51A351);
|
||||
background-repeat: repeat-x;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.btn-success:hover, .btn-success:focus, .btn-success:active,
|
||||
.btn-success.active, .btn-success.disabled, .btn-success[disabled] {
|
||||
background-color: #51A351;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.btn-success:active, .btn-success.active {
|
||||
|
||||
}
|
||||
|
||||
.btn-info {
|
||||
background-color: #49AFCD;
|
||||
background-image: linear-gradient(to bottom, #5BC0DE, #2F96B4);
|
||||
background-repeat: repeat-x;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active,
|
||||
.btn-info.disabled, .btn-info[disabled] {
|
||||
background-color: #2F96B4;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.btn-info:active, .btn-info.active {
|
||||
|
||||
}
|
||||
|
||||
.btn-inverse {
|
||||
background-color: #363636;
|
||||
background-image: linear-gradient(to bottom, #444444, #222222);
|
||||
background-repeat: repeat-x;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active,
|
||||
.btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
|
||||
background-color: #222222;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.btn-inverse:active, .btn-inverse.active {
|
||||
|
||||
}
|
||||
|
||||
button.btn, input.btn[type="submit"] {
|
||||
|
||||
}
|
||||
|
||||
button.btn::-moz-focus-inner, input.btn[type="submit"]::-moz-focus-inner
|
||||
{
|
||||
border: 0 none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
button.btn.btn-large, input.btn.btn-large[type="submit"] {
|
||||
|
||||
}
|
||||
|
||||
button.btn.btn-small, input.btn.btn-small[type="submit"] {
|
||||
|
||||
}
|
||||
|
||||
button.btn.btn-mini, input.btn.btn-mini[type="submit"] {
|
||||
|
||||
}
|
||||
|
||||
.btn-link, .btn-link:active, .btn-link[disabled] {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
border-color: rgba(0, 0, 0, 0);
|
||||
border-radius: 0;
|
||||
color: #0088CC;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-link:hover, .btn-link:focus {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
color: #005580;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.btn-link[disabled]:hover, .btn-link[disabled]:focus {
|
||||
color: #333333;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.btn-group {
|
||||
display: inline-block;
|
||||
font-size: 0;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-group:first-child {
|
||||
|
||||
}
|
||||
|
||||
.btn-group+.btn-group {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.btn-toolbar {
|
||||
font-size: 0;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.btn-toolbar>.btn+.btn, .btn-toolbar>.btn-group+.btn, .btn-toolbar>.btn+.btn-group
|
||||
{
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.btn-group>.btn {
|
||||
border-radius: 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.btn-group>.btn+.btn {
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
.btn-group>.btn, .btn-group>.dropdown-menu, .btn-group>.popover {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.btn-group>.btn-mini {
|
||||
font-size: 10.5px;
|
||||
}
|
||||
|
||||
.btn-group>.btn-small {
|
||||
font-size: 11.9px;
|
||||
}
|
||||
|
||||
.btn-group>.btn-large {
|
||||
font-size: 17.5px;
|
||||
}
|
||||
|
||||
.btn-group>.btn:first-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.btn-group>.btn:last-child, .btn-group>.dropdown-toggle {
|
||||
border-bottom-right-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
|
||||
.btn-group>.btn.large:first-child {
|
||||
border-bottom-left-radius: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.btn-group>.btn.large:last-child, .btn-group>.large.dropdown-toggle {
|
||||
border-bottom-right-radius: 6px;
|
||||
border-top-right-radius: 6px;
|
||||
}
|
||||
|
||||
.btn-group>.btn:hover, .btn-group>.btn:focus, .btn-group>.btn:active,
|
||||
.btn-group>.btn.active {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
|
||||
outline: 0 none;
|
||||
}
|
||||
|
||||
.btn-group>.btn+.dropdown-toggle {
|
||||
box-shadow: 1px 0 0 rgba(255, 255, 255, 0.125) inset, 0 1px 0
|
||||
rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
.btn-group>.btn-mini+.dropdown-toggle {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.btn-group>.btn-small+.dropdown-toggle {
|
||||
|
||||
}
|
||||
|
||||
.btn-group>.btn-large+.dropdown-toggle {
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
.btn-group.open .dropdown-toggle {
|
||||
background-image: none;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) inset, 0 1px 2px
|
||||
rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.btn-group.open .btn.dropdown-toggle {
|
||||
background-color: #E6E6E6;
|
||||
}
|
||||
|
||||
.btn-group.open .btn-primary.dropdown-toggle {
|
||||
background-color: #0044CC;
|
||||
}
|
||||
|
||||
.btn-group.open .btn-warning.dropdown-toggle {
|
||||
background-color: #F89406;
|
||||
}
|
||||
|
||||
.btn-group.open .btn-danger.dropdown-toggle {
|
||||
background-color: #BD362F;
|
||||
}
|
||||
|
||||
.btn-group.open .btn-success.dropdown-toggle {
|
||||
background-color: #51A351;
|
||||
}
|
||||
|
||||
.btn-group.open .btn-info.dropdown-toggle {
|
||||
background-color: #2F96B4;
|
||||
}
|
||||
|
||||
.btn-group.open .btn-inverse.dropdown-toggle {
|
||||
background-color: #222222;
|
||||
}
|
||||
|
||||
.btn .caret {
|
||||
margin-left: 0;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.btn-large .caret {
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.btn-large .caret {
|
||||
border-left-width: 5px;
|
||||
border-right-width: 5px;
|
||||
border-top-width: 5px;
|
||||
}
|
||||
|
||||
.btn-mini .caret, .btn-small .caret {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.dropup .btn-large .caret {
|
||||
border-bottom-width: 5px;
|
||||
}
|
||||
|
||||
.btn-primary .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret,
|
||||
.btn-success .caret, .btn-inverse .caret {
|
||||
border-bottom-color: #FFFFFF;
|
||||
border-top-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.btn-group-vertical {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.btn-group-vertical>.btn {
|
||||
border-radius: 0;
|
||||
display: block;
|
||||
float: none;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.btn-group-vertical>.btn+.btn {
|
||||
margin-left: 0;
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
.btn-group-vertical>.btn:first-child {
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
|
||||
.btn-group-vertical>.btn:last-child {
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
|
||||
.btn-group-vertical>.btn-large:first-child {
|
||||
border-radius: 6px 6px 0 0;
|
||||
}
|
||||
|
||||
.btn-group-vertical>.btn-large:last-child {
|
||||
border-radius: 0 0 6px 6px;
|
||||
}
|
||||
|
||||
/*CLOSE*/
|
||||
.close {
|
||||
color: #000000;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 20px;
|
||||
opacity: 0.2;
|
||||
text-shadow: 0 1px 0 #FFFFFF;
|
||||
}
|
||||
|
||||
.close:hover, .close:focus {
|
||||
color: #000000;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*ALERTS*/
|
||||
.alert {
|
||||
background-color: #FCF8E3;
|
||||
border: 1px solid #FBEED5;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 20px;
|
||||
padding: 8px 35px 8px 14px;
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.alert, .alert h4 {
|
||||
color: #C09853;
|
||||
}
|
||||
|
||||
.alert h4 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.alert .close {
|
||||
line-height: 20px;
|
||||
position: relative;
|
||||
right: -21px;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.alert-success {
|
||||
background-color: #DFF0D8;
|
||||
border-color: #D6E9C6;
|
||||
color: #468847;
|
||||
}
|
||||
|
||||
.alert-success h4 {
|
||||
color: #468847;
|
||||
}
|
||||
|
||||
.alert-danger, .alert-error {
|
||||
background-color: #F2DEDE;
|
||||
border-color: #EED3D7;
|
||||
color: #B94A48;
|
||||
}
|
||||
|
||||
.alert-danger h4, .alert-error h4 {
|
||||
color: #B94A48;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
background-color: #D9EDF7;
|
||||
border-color: #BCE8F1;
|
||||
color: #3A87AD;
|
||||
}
|
||||
|
||||
.alert-info h4 {
|
||||
color: #3A87AD;
|
||||
}
|
||||
|
||||
.alert-block {
|
||||
padding-bottom: 14px;
|
||||
padding-top: 14px;
|
||||
}
|
||||
|
||||
.alert-block>p, .alert-block>ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.alert-block p+p {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
/*A LINK*/
|
||||
a {
|
||||
color: #0088CC;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover, a:focus {
|
||||
color: #005580;
|
||||
text-decoration: underline;
|
||||
}
|
|
@ -65,7 +65,7 @@ public class ItemBuilder {
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the item
|
||||
* Gets the item.
|
||||
*
|
||||
* @param parent the parent
|
||||
* @param workspaceItem the workspace item
|
||||
|
@ -151,6 +151,7 @@ public class ItemBuilder {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Filter item.
|
||||
*
|
||||
|
@ -161,9 +162,14 @@ public class ItemBuilder {
|
|||
* @throws InternalErrorException the internal error exception
|
||||
*/
|
||||
protected static boolean filterItem(ItemType type, WorkspaceItem item, FilterCriteria filterCriteria) throws InternalErrorException {
|
||||
if(filterCriteria==null) return true;
|
||||
|
||||
boolean mimeTypeCheck = checkAllowedMimeTypes(type, item, filterCriteria.getAllowedMimeTypes());
|
||||
if (!mimeTypeCheck) return false;
|
||||
|
||||
boolean fileExtensionCheck = checkAllowedFileExtension(type, item, filterCriteria.getAllowedFileExtensions());
|
||||
if(!fileExtensionCheck) return false;
|
||||
|
||||
boolean propertiesCheck = checkProperties(item, filterCriteria.getRequiredProperties());
|
||||
return propertiesCheck;
|
||||
}
|
||||
|
@ -177,7 +183,7 @@ public class ItemBuilder {
|
|||
* @return true, if successful
|
||||
*/
|
||||
protected static boolean checkAllowedMimeTypes(ItemType type, WorkspaceItem item, List<String> allowedMimeTypes){
|
||||
if (allowedMimeTypes.size()==0) return true;
|
||||
if (allowedMimeTypes==null || allowedMimeTypes.size()==0) return true;
|
||||
|
||||
if (type == ItemType.EXTERNAL_FILE || type == ItemType.EXTERNAL_IMAGE || type == ItemType.EXTERNAL_PDF_FILE) {
|
||||
ExternalFile externalFile = (ExternalFile)item;
|
||||
|
@ -188,6 +194,60 @@ public class ItemBuilder {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Check allowed file extension.
|
||||
*
|
||||
* @param type the type
|
||||
* @param item the item
|
||||
* @param allowedFileExtension the allowed mime types
|
||||
* @return true, if successful
|
||||
*/
|
||||
protected static boolean checkAllowedFileExtension(ItemType type, WorkspaceItem item, List<String> allowedFileExtension){
|
||||
if (allowedFileExtension==null || allowedFileExtension.size()==0) return true;
|
||||
|
||||
try {
|
||||
if (type != ItemType.FOLDER) {
|
||||
String name = item.getName();
|
||||
return checkFileExtension(name, allowedFileExtension);
|
||||
}
|
||||
return true;
|
||||
} catch (InternalErrorException e) {
|
||||
_log.error("checkAllowedFileExtension, InternalErrorException: ",e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check file extension.
|
||||
*
|
||||
* @param fileName the file name
|
||||
* @param allowedFileExtension the allowed file extension
|
||||
* @return true, if successful
|
||||
*/
|
||||
protected static boolean checkFileExtension(String fileName, List<String> allowedFileExtension){
|
||||
|
||||
if(fileName==null || fileName.isEmpty()) return false;
|
||||
|
||||
int dot = fileName.lastIndexOf(".");
|
||||
if(dot>=0 && (dot+1)<=fileName.length()){
|
||||
|
||||
String ext = fileName.substring(dot+1, fileName.length());
|
||||
_log.trace("Extension found: "+ext +" for: "+fileName);
|
||||
// if(ext.isEmpty())
|
||||
// return false;
|
||||
for (String fe : allowedFileExtension) {
|
||||
if(ext.compareTo(fe)==0)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
_log.trace("Extension not found for: "+fileName);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check properties.
|
||||
*
|
||||
|
@ -198,7 +258,7 @@ public class ItemBuilder {
|
|||
*/
|
||||
protected static boolean checkProperties(WorkspaceItem item, Map<String, String> requestedProperties) throws InternalErrorException
|
||||
{
|
||||
if (requestedProperties.size()==0 || item.getType()!=WorkspaceItemType.FOLDER_ITEM) return true;
|
||||
if (requestedProperties==null || requestedProperties.size()==0 || item.getType()!=WorkspaceItemType.FOLDER_ITEM) return true;
|
||||
|
||||
Map<String, String> itemProperties = item.getProperties().getProperties();
|
||||
for (Entry<String, String> requestProperty:requestedProperties.entrySet()) {
|
||||
|
@ -247,6 +307,12 @@ public class ItemBuilder {
|
|||
return item;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if is special folder.
|
||||
*
|
||||
* @param wsFolder the ws folder
|
||||
* @return true, if is special folder
|
||||
*/
|
||||
public static boolean isSpecialFolder(WorkspaceFolder wsFolder){
|
||||
|
||||
try {
|
||||
|
@ -256,4 +322,13 @@ public class ItemBuilder {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
/*
|
||||
public static void main(String[] args) {
|
||||
List<String> allowedFileExtension = new ArrayList<String>();
|
||||
allowedFileExtension.add("csv");
|
||||
allowedFileExtension.add("");
|
||||
|
||||
String fileName = "t";
|
||||
System.out.println(checkFileExtension(fileName, allowedFileExtension));
|
||||
}*/
|
||||
}
|
||||
|
|
|
@ -17,30 +17,68 @@ import java.util.Map;
|
|||
public class FilterCriteria implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1912760277441333686L;
|
||||
protected List<String> allowedMimeTypes;
|
||||
protected Map<String, String> requiredProperties;
|
||||
protected List<String> allowedFileExtensions;
|
||||
|
||||
/**
|
||||
* Instantiates a new filter criteria.
|
||||
*/
|
||||
public FilterCriteria(){}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new filter criteria.
|
||||
*
|
||||
* @param allowedMimeTypes the allowed mime types
|
||||
* @param allowedFileExtensions the allowed file extensions
|
||||
* @param requiredProperties the required properties
|
||||
*/
|
||||
public FilterCriteria(List<String> allowedMimeTypes,
|
||||
Map<String, String> requiredProperties) {
|
||||
public FilterCriteria(List<String> allowedMimeTypes, List<String> allowedFileExtensions, Map<String, String> requiredProperties) {
|
||||
this.allowedMimeTypes = allowedMimeTypes;
|
||||
this.allowedFileExtensions = allowedFileExtensions;
|
||||
this.requiredProperties = requiredProperties;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the allowed mime types.
|
||||
*
|
||||
* @param allowedMimeTypes the allowedMimeTypes to set
|
||||
*/
|
||||
public void setAllowedMimeTypes(List<String> allowedMimeTypes) {
|
||||
this.allowedMimeTypes = allowedMimeTypes;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the required properties.
|
||||
*
|
||||
* @param requiredProperties the requiredProperties to set
|
||||
*/
|
||||
public void setRequiredProperties(Map<String, String> requiredProperties) {
|
||||
this.requiredProperties = requiredProperties;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the allowed file extensions.
|
||||
*
|
||||
* @param allowedFileExtensions the allowedFileExtensions to set
|
||||
*/
|
||||
public void setAllowedFileExtensions(List<String> allowedFileExtensions) {
|
||||
this.allowedFileExtensions = allowedFileExtensions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the allowed file extensions.
|
||||
*
|
||||
* @return the allowed file extensions
|
||||
*/
|
||||
public List<String> getAllowedFileExtensions() {
|
||||
return allowedFileExtensions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the allowed mime types.
|
||||
*
|
||||
|
@ -59,8 +97,9 @@ public class FilterCriteria implements Serializable {
|
|||
return requiredProperties;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
|
@ -69,6 +108,8 @@ public class FilterCriteria implements Serializable {
|
|||
builder.append(allowedMimeTypes);
|
||||
builder.append(", requiredProperties=");
|
||||
builder.append(requiredProperties);
|
||||
builder.append(", allowedFileExtensions=");
|
||||
builder.append(allowedFileExtensions);
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
|
|
@ -2,22 +2,35 @@
|
|||
<module rename-to='WorkspaceExplorer'>
|
||||
<!-- Inherit the core Web Toolkit stuff. -->
|
||||
<inherits name='com.google.gwt.user.User' />
|
||||
<inherits name="com.github.gwtbootstrap.Bootstrap" />
|
||||
|
||||
<!-- UNCOMMNET TO USE GWT 2.7 SUPER DEV MODE -->
|
||||
<set-configuration-property name='xsiframe.failIfScriptTag'
|
||||
value='FALSE' />
|
||||
|
||||
<script src="jquery-1.10.1.min.js"></script>
|
||||
<script src="bootstrap.min.js"></script>
|
||||
|
||||
<!-- Inherit the default GWT style sheet. You can change -->
|
||||
<!-- the theme of your GWT application by uncommenting -->
|
||||
<!-- any one of the following lines. -->
|
||||
<inherits name="com.github.gwtbootstrap.Bootstrap" />
|
||||
<inherits name='com.google.gwt.user.theme.standard.Standard' />
|
||||
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
|
||||
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
|
||||
|
||||
<stylesheet src='workspace-explorer.css' />
|
||||
<!-- Other module inherits -->
|
||||
|
||||
<!-- Specify the app entry point class. -->
|
||||
<!-- <entry-point class='org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorer' /> -->
|
||||
<!-- <entry-point class='org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorer'/> -->
|
||||
|
||||
<!-- Specify the paths for translatable code -->
|
||||
<source path='client' />
|
||||
<source path='shared' />
|
||||
|
||||
</module>
|
||||
<!--pay attention in this part -->
|
||||
<source path='resources' />
|
||||
<replace-with class="org.gcube.portlets.widgets.wsexplorer.resources.BootstrapConfigurator">
|
||||
<when-type-is class="com.github.gwtbootstrap.client.ui.config.Configurator" />
|
||||
</replace-with>
|
||||
<public path="resources">
|
||||
<exclude name="** /*.java" />
|
||||
<exclude name="** /*.class" />
|
||||
</public>
|
||||
|
||||
</module>
|
|
@ -39,12 +39,11 @@ public class TestGetChildren {
|
|||
boolean purgeEmpyFolders = false;
|
||||
List<String> allowedMimeTypes = new ArrayList<String>();
|
||||
Map<String, String> requiredProperties = new HashMap<String, String>();
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties);
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,null,null);
|
||||
getRoot(showableTypes, purgeEmpyFolders, filterCriteria);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static Item getRoot(List<ItemType> showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException {
|
||||
_log.trace("getRoot showableTypes: "+showableTypes+" purgeEmpyFolders: "+purgeEmpyFolders+" filterCriteria: "+ filterCriteria);
|
||||
|
||||
|
@ -92,5 +91,4 @@ public class TestGetChildren {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ public class TestGetSize {
|
|||
boolean purgeEmpyFolders = false;
|
||||
List<String> allowedMimeTypes = new ArrayList<String>();
|
||||
Map<String, String> requiredProperties = new HashMap<String, String>();
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties);
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,null,null);
|
||||
|
||||
|
||||
try {
|
||||
|
|
Loading…
Reference in New Issue