git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/admin/auth-portlet-manager@133825 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
cfccbff824
commit
d574f0766d
|
@ -8,6 +8,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.event.AddPoliciesEvent;
|
import org.gcube.portlets.admin.authportletmanager.client.event.AddPoliciesEvent;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.event.AddQuoteEvent;
|
import org.gcube.portlets.admin.authportletmanager.client.event.AddQuoteEvent;
|
||||||
|
import org.gcube.portlets.admin.authportletmanager.client.event.ListContextEvent;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.event.ListPolicyEvent;
|
import org.gcube.portlets.admin.authportletmanager.client.event.ListPolicyEvent;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.event.ListQuoteEvent;
|
import org.gcube.portlets.admin.authportletmanager.client.event.ListQuoteEvent;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.event.RemovePoliciesEvent;
|
import org.gcube.portlets.admin.authportletmanager.client.event.RemovePoliciesEvent;
|
||||||
|
@ -91,14 +92,17 @@ public class AuthManagerController {
|
||||||
|
|
||||||
public AuthManagerController() {
|
public AuthManagerController() {
|
||||||
eventBus = new SimpleEventBus();
|
eventBus = new SimpleEventBus();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void init() {
|
private void init() {
|
||||||
|
loadContext();
|
||||||
loadMainPanel();
|
loadMainPanel();
|
||||||
loadEnviromentPolicy();
|
loadEnviromentPolicy();
|
||||||
//loadEnviromentQuote();
|
|
||||||
bindToEvents();
|
bindToEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,6 +127,7 @@ public class AuthManagerController {
|
||||||
GWT.log("AuthManager - LoadMainPanel");
|
GWT.log("AuthManager - LoadMainPanel");
|
||||||
|
|
||||||
GWT.log("AuthManager -Init Start with -DEBUG_MODE:"+ConstantsSharing.DEBUG_MODE+" DEBUG_TOKEN:"+ConstantsSharing.DEBUG_TOKEN+" MOCKUP:"+ConstantsSharing.MOCK_UP);
|
GWT.log("AuthManager -Init Start with -DEBUG_MODE:"+ConstantsSharing.DEBUG_MODE+" DEBUG_TOKEN:"+ConstantsSharing.DEBUG_TOKEN+" MOCKUP:"+ConstantsSharing.MOCK_UP);
|
||||||
|
|
||||||
|
|
||||||
AuthResources.INSTANCE.authCSS().ensureInjected();
|
AuthResources.INSTANCE.authCSS().ensureInjected();
|
||||||
|
|
||||||
|
@ -150,12 +155,13 @@ public class AuthManagerController {
|
||||||
Tab tab_quota =new Tab();
|
Tab tab_quota =new Tab();
|
||||||
tab_quota.add(dockQuota);
|
tab_quota.add(dockQuota);
|
||||||
tab_quota.setHeading("QUOTA");
|
tab_quota.setHeading("QUOTA");
|
||||||
*/
|
*/
|
||||||
|
|
||||||
TabPanel tabPanel = new TabPanel();
|
TabPanel tabPanel = new TabPanel();
|
||||||
tabPanel.add(tab_policy);
|
tabPanel.add(tab_policy);
|
||||||
//tabPanel.add(tab_quota);
|
//tabPanel.add(tab_quota);
|
||||||
|
|
||||||
|
|
||||||
tab_policy.addClickHandler(new ClickHandler() {
|
tab_policy.addClickHandler(new ClickHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
|
@ -217,11 +223,15 @@ public class AuthManagerController {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void loadPolicy(final int numberLoad){
|
private void loadPolicy(final int numberLoad){
|
||||||
//reset provider
|
final String context=PolicyDataProvider.get().getContext();
|
||||||
|
|
||||||
PolicyDataProvider.get().resetPolicyProvider();
|
PolicyDataProvider.get().resetPolicyProvider();
|
||||||
AuthManagerServiceAsync.INSTANCE
|
AuthManagerServiceAsync.INSTANCE
|
||||||
.loadListPolicy(new AsyncCallback<ArrayList<PolicyAuth>>() {
|
.loadListPolicy(context,new AsyncCallback<ArrayList<PolicyAuth>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
|
||||||
|
@ -238,7 +248,7 @@ public class AuthManagerController {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(ArrayList<PolicyAuth> result) {
|
public void onSuccess(ArrayList<PolicyAuth> result) {
|
||||||
PolicyDataProvider.get().loadPolicyProvider(result);
|
PolicyDataProvider.get().loadPolicyProvider(result);
|
||||||
GWT.log("AuthManager - Load Policy complete");
|
GWT.log("AuthManager - Load Policy complete on context:"+context);
|
||||||
checkLoader(numberLoad,0);
|
checkLoader(numberLoad,0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -249,9 +259,10 @@ public class AuthManagerController {
|
||||||
* Load a caller from AsyncCallBack from server
|
* Load a caller from AsyncCallBack from server
|
||||||
*/
|
*/
|
||||||
private void loadCaller(final int numberLoad){
|
private void loadCaller(final int numberLoad){
|
||||||
|
//String context= "/gcube/devNext";
|
||||||
|
String context=PolicyDataProvider.get().getContext();
|
||||||
AuthManagerServiceAsync.INSTANCE
|
AuthManagerServiceAsync.INSTANCE
|
||||||
.loadListCaller(new AsyncCallback<ArrayList<Caller>>() {
|
.loadListCaller(context,new AsyncCallback<ArrayList<Caller>>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
@ -282,9 +293,10 @@ public class AuthManagerController {
|
||||||
|
|
||||||
|
|
||||||
public void loadServicePolicy(final int numberLoad){
|
public void loadServicePolicy(final int numberLoad){
|
||||||
|
//String context= "/gcube/devNext";
|
||||||
|
String context=PolicyDataProvider.get().getContext();
|
||||||
AuthManagerServiceAsync.INSTANCE
|
AuthManagerServiceAsync.INSTANCE
|
||||||
.loadListService(new AsyncCallback<Map<String, List<String>>>() {
|
.loadListService(context,new AsyncCallback<Map<String, List<String>>>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
@ -338,8 +350,36 @@ public class AuthManagerController {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void loadContext(){
|
||||||
|
AuthManagerServiceAsync.INSTANCE
|
||||||
|
.loadRetrieveListContexts(new AsyncCallback<ArrayList<String>>() {
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
if (caught instanceof ExpiredSessionServiceException) {
|
||||||
|
GWT.log("AuthManager - Alert Expired Session");
|
||||||
|
sessionExpiredShowDelayed();
|
||||||
|
} else {
|
||||||
|
dialogLoader.stopLoader();
|
||||||
|
dialogError.showError(caught.getLocalizedMessage());
|
||||||
|
GWT.log("AuthManager - Failed to load a list context:"+caught.getLocalizedMessage());
|
||||||
|
caught.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onSuccess(ArrayList<String> result) {
|
||||||
|
GWT.log("AuthManager - Load Context complete loadListContext"+result.toString());
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
PolicyDataProvider.get().setContextList(result);
|
||||||
|
policyfilter.setInitContext();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -406,23 +446,6 @@ public class AuthManagerController {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
private void checkLocale() {
|
|
||||||
String[] locales = LocaleInfo.getAvailableLocaleNames();
|
|
||||||
|
|
||||||
for (String locale : locales) {
|
|
||||||
//Log.debug("Locale avaible:" + locale);
|
|
||||||
}
|
|
||||||
|
|
||||||
String currentLocaleCookie = Cookies.getCookie(LocaleInfo
|
|
||||||
.getLocaleCookieName());
|
|
||||||
//Log.debug(Constants.AM_LANG_COOKIE + ":" + currentLocaleCookie);
|
|
||||||
|
|
||||||
LocaleInfo currentLocaleInfo = LocaleInfo.getCurrentLocale();
|
|
||||||
//Log.debug("Current Locale:" + currentLocaleInfo.getLocaleName());
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
protected void changeLanguage(String localeName) {
|
protected void changeLanguage(String localeName) {
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
long nowLong = now.getTime();
|
long nowLong = now.getTime();
|
||||||
|
@ -486,7 +509,18 @@ public class AuthManagerController {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//event bus for load context
|
||||||
|
eventBus.addHandler(ListContextEvent.TYPE,
|
||||||
|
new ListContextEvent.ListContextEventHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAdd(ListContextEvent event) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
loadContext();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
|
@ -542,8 +576,9 @@ public class AuthManagerController {
|
||||||
final List<PolicyAuth> policies = event.getPolicies();
|
final List<PolicyAuth> policies = event.getPolicies();
|
||||||
final PolicyAddDialog policyAddDialog =event.getDialog();
|
final PolicyAddDialog policyAddDialog =event.getDialog();
|
||||||
dialogLoader.startLoader();
|
dialogLoader.startLoader();
|
||||||
|
String context=PolicyDataProvider.get().getContext();
|
||||||
AuthManagerServiceAsync.INSTANCE.
|
AuthManagerServiceAsync.INSTANCE.
|
||||||
addPolicies(policies,new AsyncCallback<Void>() {
|
addPolicies(context,policies,new AsyncCallback<Void>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
@ -611,10 +646,9 @@ public class AuthManagerController {
|
||||||
protected void updatePolicy(UpdatePolicyEvent event) {
|
protected void updatePolicy(UpdatePolicyEvent event) {
|
||||||
final PolicyAuth policies = event.getPolicies();
|
final PolicyAuth policies = event.getPolicies();
|
||||||
final PolicyAddDialog policyUpdateDialog =event.getDialog();
|
final PolicyAddDialog policyUpdateDialog =event.getDialog();
|
||||||
|
String context=PolicyDataProvider.get().getContext();
|
||||||
dialogLoader.startLoader();
|
dialogLoader.startLoader();
|
||||||
|
AuthManagerServiceAsync.INSTANCE.updatePolicy(context,policies,new AsyncCallback<Void>() {
|
||||||
AuthManagerServiceAsync.INSTANCE.updatePolicy(policies,new AsyncCallback<Void>() {
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
@ -753,6 +787,9 @@ public class AuthManagerController {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private void asyncCodeLoadingFailed(Throwable reason) {
|
private void asyncCodeLoadingFailed(Throwable reason) {
|
||||||
//Log.error("Async code loading failed", reason);
|
//Log.error("Async code loading failed", reason);
|
||||||
|
|
|
@ -22,6 +22,7 @@ public class Entities {
|
||||||
private static ArrayList<Caller> callers;
|
private static ArrayList<Caller> callers;
|
||||||
private static Map<String, List<String>> servicesMap;
|
private static Map<String, List<String>> servicesMap;
|
||||||
private static ArrayList<String> access;
|
private static ArrayList<String> access;
|
||||||
|
//private static ArrayList<String> context =new ArrayList<String>();
|
||||||
|
|
||||||
|
|
||||||
private Entities(){
|
private Entities(){
|
||||||
|
@ -89,6 +90,8 @@ public class Entities {
|
||||||
public static void setAccess(ArrayList<String> access) {
|
public static void setAccess(ArrayList<String> access) {
|
||||||
Entities.access = access;
|
Entities.access = access;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
package org.gcube.portlets.admin.authportletmanager.client.event;
|
||||||
|
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
public class ListContextEvent extends GwtEvent<ListContextEvent.ListContextEventHandler> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static Type<ListContextEventHandler> TYPE = new Type<ListContextEventHandler>();
|
||||||
|
|
||||||
|
public static Type<ListContextEventHandler> getType() {
|
||||||
|
return TYPE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Type<ListContextEventHandler> getAssociatedType() {
|
||||||
|
return TYPE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface ListContextEventHandler extends EventHandler {
|
||||||
|
void onAdd(ListContextEvent event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface HasListPolicyEventHandler extends HasHandlers {
|
||||||
|
public HandlerRegistration addListContextEventHandler(
|
||||||
|
ListContextEventHandler handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void fire(HasHandlers source,
|
||||||
|
ListContextEvent event) {
|
||||||
|
source.fireEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ListContextEvent() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void dispatch(ListContextEventHandler handler) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
handler.onAdd(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,12 @@ import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.ConstantsSharing;
|
import org.gcube.portlets.admin.authportletmanager.shared.ConstantsSharing;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.PolicyAuth;
|
import org.gcube.portlets.admin.authportletmanager.shared.PolicyAuth;
|
||||||
|
import org.gcube.vomanagement.usermanagement.GroupManager;
|
||||||
|
import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
|
||||||
|
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
||||||
|
|
||||||
import com.google.gwt.core.shared.GWT;
|
import com.google.gwt.core.shared.GWT;
|
||||||
import com.google.gwt.view.client.HasData;
|
import com.google.gwt.view.client.HasData;
|
||||||
|
@ -53,11 +57,32 @@ public class PolicyDataProvider {
|
||||||
*/
|
*/
|
||||||
private ListDataProvider<PolicyAuth> dataProvider = new ListDataProvider<PolicyAuth>();
|
private ListDataProvider<PolicyAuth> dataProvider = new ListDataProvider<PolicyAuth>();
|
||||||
|
|
||||||
|
private String context=null;
|
||||||
|
|
||||||
|
public String getContext() {
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContext(String context) {
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private ArrayList<String> contextList=new ArrayList<String>();
|
||||||
|
|
||||||
|
public ArrayList<String> getContextList() {
|
||||||
|
return contextList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContextList(ArrayList<String> contextList) {
|
||||||
|
this.contextList = contextList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The list string used for search
|
* The list string used for search
|
||||||
*/
|
*/
|
||||||
private List<String> initialSearch= new ArrayList<String>();;
|
private List<String> initialSearch= new ArrayList<String>();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -69,7 +94,7 @@ public class PolicyDataProvider {
|
||||||
* Construct a new PolicyDataProvider
|
* Construct a new PolicyDataProvider
|
||||||
*/
|
*/
|
||||||
private PolicyDataProvider() {
|
private PolicyDataProvider() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -129,7 +154,7 @@ public class PolicyDataProvider {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method for add a policy into provider
|
* Method for add a policy into provider
|
||||||
* @param policy
|
* @param policy
|
||||||
|
@ -240,7 +265,7 @@ public class PolicyDataProvider {
|
||||||
else{
|
else{
|
||||||
for (int index=0; index<initialPolicies.size(); index++ ){
|
for (int index=0; index<initialPolicies.size(); index++ ){
|
||||||
GWT.log("initialPolicies:"+initialPolicies.get(index).getCallerTypeAsString().trim()+" typefilter:"+typefilter);
|
GWT.log("initialPolicies:"+initialPolicies.get(index).getCallerTypeAsString().trim()+" typefilter:"+typefilter);
|
||||||
|
|
||||||
if (initialPolicies.get(index).getCallerTypeAsString().trim().equalsIgnoreCase(typefilter))
|
if (initialPolicies.get(index).getCallerTypeAsString().trim().equalsIgnoreCase(typefilter))
|
||||||
policiesFilter.add(initialPolicies.get(index));
|
policiesFilter.add(initialPolicies.get(index));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
package org.gcube.portlets.admin.authportletmanager.client.pagelayout;
|
package org.gcube.portlets.admin.authportletmanager.client.pagelayout;
|
||||||
|
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.AuthManagerController;
|
import org.gcube.portlets.admin.authportletmanager.client.AuthManagerController;
|
||||||
|
import org.gcube.portlets.admin.authportletmanager.client.Entities;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.event.ListPolicyEvent;
|
import org.gcube.portlets.admin.authportletmanager.client.event.ListPolicyEvent;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.widget.BulletList;
|
import org.gcube.portlets.admin.authportletmanager.client.widget.BulletList;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.widget.ListItem;
|
import org.gcube.portlets.admin.authportletmanager.client.widget.ListItem;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.widget.Paragraph;
|
import org.gcube.portlets.admin.authportletmanager.client.widget.Paragraph;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.widget.Span;
|
import org.gcube.portlets.admin.authportletmanager.client.widget.Span;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.Caller.TypeCaller;
|
import org.gcube.portlets.admin.authportletmanager.shared.Caller.TypeCaller;
|
||||||
|
import org.gcube.portlets.admin.authportletmanager.shared.ConstantsSharing;
|
||||||
import org.gcube.portlets.widgets.widgettour.client.extendedclasses.GCubeTour;
|
import org.gcube.portlets.widgets.widgettour.client.extendedclasses.GCubeTour;
|
||||||
|
|
||||||
import com.ait.toolkit.hopscotch.client.Placement;
|
import com.ait.toolkit.hopscotch.client.Placement;
|
||||||
|
@ -14,8 +16,11 @@ import com.ait.toolkit.hopscotch.client.TourStep;
|
||||||
import com.github.gwtbootstrap.client.ui.Button;
|
import com.github.gwtbootstrap.client.ui.Button;
|
||||||
import com.github.gwtbootstrap.client.ui.ButtonGroup;
|
import com.github.gwtbootstrap.client.ui.ButtonGroup;
|
||||||
import com.github.gwtbootstrap.client.ui.InputAddOn;
|
import com.github.gwtbootstrap.client.ui.InputAddOn;
|
||||||
|
import com.github.gwtbootstrap.client.ui.ListBox;
|
||||||
import com.github.gwtbootstrap.client.ui.TextBox;
|
import com.github.gwtbootstrap.client.ui.TextBox;
|
||||||
import com.google.gwt.core.client.GWT;
|
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.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
import com.google.gwt.event.dom.client.KeyCodes;
|
import com.google.gwt.event.dom.client.KeyCodes;
|
||||||
|
@ -67,6 +72,10 @@ public class PolicyFilter extends Composite {
|
||||||
Button b_group_service;
|
Button b_group_service;
|
||||||
|
|
||||||
|
|
||||||
|
@UiField
|
||||||
|
ListBox l_context;
|
||||||
|
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
Button b_search_start;
|
Button b_search_start;
|
||||||
|
|
||||||
|
@ -91,15 +100,16 @@ public class PolicyFilter extends Composite {
|
||||||
|
|
||||||
initWidget(uiBinder.createAndBindUi(this));
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
initFilter();
|
initFilter();
|
||||||
// guideTour();
|
|
||||||
|
|
||||||
|
// guideTour();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void guideTour(){
|
public void guideTour(){
|
||||||
GCubeTour tour = new GCubeTour("Tour-auth", "auth-portlet-manager", 1, "Would you like to see again this tour next time ?", "Tour Auth Manager");
|
GCubeTour tour = new GCubeTour("Tour-auth", "auth-portlet-manager", 1, "Would you like to see again this tour next time ?", "Tour Auth Manager");
|
||||||
GWT.log("AuthManager - Start Gcube Tour ");
|
GWT.log("AuthManager - Start Gcube Tour ");
|
||||||
tour.setShowPrevButton(true);
|
tour.setShowPrevButton(true);
|
||||||
|
|
||||||
TourStep firstStep = new TourStep(Placement.TOP, "idGridPolicy");
|
TourStep firstStep = new TourStep(Placement.TOP, "idGridPolicy");
|
||||||
firstStep.setContent("See your rule policYY");
|
firstStep.setContent("See your rule policYY");
|
||||||
firstStep.setTitle("List policy active");
|
firstStep.setTitle("List policy active");
|
||||||
|
@ -111,7 +121,7 @@ public class PolicyFilter extends Composite {
|
||||||
secondStep.setTitle("Add Policy");
|
secondStep.setTitle("Add Policy");
|
||||||
secondStep.centerXOffset();
|
secondStep.centerXOffset();
|
||||||
secondStep.centerArrowOffset();
|
secondStep.centerArrowOffset();
|
||||||
|
|
||||||
TourStep thirdStep = new TourStep(Placement.TOP, "idSearchPolicy");
|
TourStep thirdStep = new TourStep(Placement.TOP, "idSearchPolicy");
|
||||||
thirdStep.setContent("Use this for search an existing policy "
|
thirdStep.setContent("Use this for search an existing policy "
|
||||||
+ " <br>Use @ for search caller, <br>Use $ for search service, "
|
+ " <br>Use @ for search caller, <br>Use $ for search service, "
|
||||||
|
@ -119,13 +129,13 @@ public class PolicyFilter extends Composite {
|
||||||
thirdStep.setTitle("Search Policy");
|
thirdStep.setTitle("Search Policy");
|
||||||
thirdStep.centerXOffset();
|
thirdStep.centerXOffset();
|
||||||
thirdStep.centerArrowOffset();
|
thirdStep.centerArrowOffset();
|
||||||
|
|
||||||
TourStep fourthStep = new TourStep(Placement.TOP, "idGroupPolicy");
|
TourStep fourthStep = new TourStep(Placement.TOP, "idGroupPolicy");
|
||||||
fourthStep.setContent("Use this for filter group policy ");
|
fourthStep.setContent("Use this for filter group policy ");
|
||||||
fourthStep.setTitle("Filter Policy");
|
fourthStep.setTitle("Filter Policy");
|
||||||
fourthStep.centerXOffset();
|
fourthStep.centerXOffset();
|
||||||
fourthStep.centerArrowOffset();
|
fourthStep.centerArrowOffset();
|
||||||
|
|
||||||
//tour.addStep(firstStep);
|
//tour.addStep(firstStep);
|
||||||
tour.addStep(secondStep);
|
tour.addStep(secondStep);
|
||||||
tour.addStep(thirdStep);
|
tour.addStep(thirdStep);
|
||||||
|
@ -134,19 +144,46 @@ public class PolicyFilter extends Composite {
|
||||||
tour.startTour();
|
tour.startTour();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Init filter
|
* Init filter
|
||||||
*/
|
*/
|
||||||
public void initFilter(){
|
public void initFilter(){
|
||||||
|
|
||||||
|
|
||||||
list = new BulletList();
|
list = new BulletList();
|
||||||
list.setStyleName("input-list-caller");
|
list.setStyleName("input-list-caller");
|
||||||
list.clear();
|
list.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setInitContext(){
|
||||||
|
for (String context:PolicyDataProvider.get().getContextList()){
|
||||||
|
l_context.addItem(context,context);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
l_context.addChangeHandler(new ChangeHandler() {
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
|
public void onChange(ChangeEvent event) {
|
||||||
|
int indexC = l_context.getSelectedIndex();
|
||||||
|
String newValue =l_context.getValue(indexC);
|
||||||
|
PolicyDataProvider.get().setContext(newValue);
|
||||||
|
GWT.log("AuthManager - initContext"+newValue);
|
||||||
|
list.clear();
|
||||||
|
b_group_none.setFocus(true);
|
||||||
|
b_group_none.setActive(true);
|
||||||
|
|
||||||
|
b_group_user.setFocus(false);
|
||||||
|
b_group_user.setActive(false);
|
||||||
|
|
||||||
|
b_group_role.setFocus(false);
|
||||||
|
b_group_role.setActive(false);
|
||||||
|
|
||||||
|
b_group_service.setFocus(false);
|
||||||
|
b_group_service.setActive(false);
|
||||||
|
AuthManagerController.eventBus.fireEvent(new ListPolicyEvent());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@UiHandler("t_search")
|
@UiHandler("t_search")
|
||||||
public void onKeyDown(KeyDownEvent event) {
|
public void onKeyDown(KeyDownEvent event) {
|
||||||
|
@ -185,7 +222,7 @@ public class PolicyFilter extends Composite {
|
||||||
void onClickFilterRole(ClickEvent e) {
|
void onClickFilterRole(ClickEvent e) {
|
||||||
filterPolicy(TypeCaller.role.toString());
|
filterPolicy(TypeCaller.role.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@UiHandler("b_group_service")
|
@UiHandler("b_group_service")
|
||||||
void onClickFilterService(ClickEvent e) {
|
void onClickFilterService(ClickEvent e) {
|
||||||
filterPolicy(TypeCaller.service.toString());
|
filterPolicy(TypeCaller.service.toString());
|
||||||
|
@ -235,7 +272,7 @@ public class PolicyFilter extends Composite {
|
||||||
|
|
||||||
b_group_role.setFocus(false);
|
b_group_role.setFocus(false);
|
||||||
b_group_role.setActive(false);
|
b_group_role.setActive(false);
|
||||||
|
|
||||||
b_group_service.setFocus(false);
|
b_group_service.setFocus(false);
|
||||||
b_group_service.setActive(false);
|
b_group_service.setActive(false);
|
||||||
|
|
||||||
|
@ -319,4 +356,8 @@ public class PolicyFilter extends Composite {
|
||||||
PolicyDataProvider.get().refreshlistFromSearch(typeSearch);
|
PolicyDataProvider.get().refreshlistFromSearch(typeSearch);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
.btn_search {
|
.btn_search {
|
||||||
border-radius: 0px 8px 8px 0 !important;
|
border-radius: 0px 8px 8px 0 !important;
|
||||||
-webkit-border-radius: 0px 8px 8px 0 !important;;
|
-webkit-border-radius: 0px 8px 8px 0 !important;
|
||||||
-moz-border-radius: 0px 8px 8px 0 !important;
|
-moz-border-radius: 0px 8px 8px 0 !important;
|
||||||
margin-right: 30px !important;
|
margin-right: 30px !important;
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@
|
||||||
-webkit-border-radius: 0px;
|
-webkit-border-radius: 0px;
|
||||||
border-radius: 0px !important;
|
border-radius: 0px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn_search_start:before {
|
.btn_search_start:before {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
content: "\f036";
|
content: "\f036";
|
||||||
|
@ -36,12 +37,24 @@
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-family: "fontawesome";
|
font-family: "fontawesome";
|
||||||
}
|
}
|
||||||
|
|
||||||
.filter_bar {
|
.filter_bar {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.context_bar {
|
||||||
|
height: 30px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.context_bar_select {
|
||||||
|
display: block !important;
|
||||||
|
margin: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
.label_wizard_policy {
|
.label_wizard_policy {
|
||||||
margin-left: 10 px;
|
margin-left: 10 px;
|
||||||
font-size: 15 px;
|
font-size: 15 px;
|
||||||
|
@ -50,6 +63,12 @@
|
||||||
</ui:style>
|
</ui:style>
|
||||||
<g:HTMLPanel>
|
<g:HTMLPanel>
|
||||||
<b:WellForm type="SEARCH" ui:field="form_search">
|
<b:WellForm type="SEARCH" ui:field="form_search">
|
||||||
|
<g:FlowPanel addStyleNames="{style.context_bar}"
|
||||||
|
ui:field="string_context">
|
||||||
|
<b:ListBox ui:field="l_context" addStyleNames="{style.context_bar_select}">
|
||||||
|
</b:ListBox>
|
||||||
|
|
||||||
|
</g:FlowPanel>
|
||||||
<b:ControlGroup>
|
<b:ControlGroup>
|
||||||
<b:Controls>
|
<b:Controls>
|
||||||
<b:Tooltip text='Delete Policy'>
|
<b:Tooltip text='Delete Policy'>
|
||||||
|
@ -60,9 +79,6 @@
|
||||||
<b:Button type="SUCCESS" addStyleNames="btn btn_add"
|
<b:Button type="SUCCESS" addStyleNames="btn btn_add"
|
||||||
ui:field="b_add_policy" />
|
ui:field="b_add_policy" />
|
||||||
</b:Tooltip>
|
</b:Tooltip>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<b:InputAddOn prependIcon="SEARCH" ui:field="i_search"
|
<b:InputAddOn prependIcon="SEARCH" ui:field="i_search"
|
||||||
b:id="idSearchPolicy">
|
b:id="idSearchPolicy">
|
||||||
|
|
||||||
|
@ -112,10 +128,11 @@
|
||||||
</b:Tooltip>
|
</b:Tooltip>
|
||||||
<span styleName="{style.label_wizard_policy}">
|
<span styleName="{style.label_wizard_policy}">
|
||||||
Create policy to deny access to Services
|
Create policy to deny access to Services
|
||||||
in the current context
|
in the
|
||||||
|
current context
|
||||||
</span>
|
</span>
|
||||||
</b:Controls>
|
</b:Controls>
|
||||||
</b:ControlGroup>
|
</b:ControlGroup>
|
||||||
<g:FlowPanel addStyleNames="{style.filter_bar}" ui:field="string_search">
|
<g:FlowPanel addStyleNames="{style.filter_bar}" ui:field="string_search">
|
||||||
</g:FlowPanel>
|
</g:FlowPanel>
|
||||||
</b:WellForm>
|
</b:WellForm>
|
||||||
|
|
|
@ -4,9 +4,11 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.Caller;
|
import org.gcube.portlets.admin.authportletmanager.shared.Caller;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.PolicyAuth;
|
import org.gcube.portlets.admin.authportletmanager.shared.PolicyAuth;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.Quote;
|
import org.gcube.portlets.admin.authportletmanager.shared.Quote;
|
||||||
|
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.exceptions.ServiceException;
|
import org.gcube.portlets.admin.authportletmanager.shared.exceptions.ServiceException;
|
||||||
|
|
||||||
import com.google.gwt.user.client.rpc.RemoteService;
|
import com.google.gwt.user.client.rpc.RemoteService;
|
||||||
|
@ -27,17 +29,23 @@ public interface AuthManagerService extends RemoteService {
|
||||||
* Get informations on the current user
|
* Get informations on the current user
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
|
* @throws ServiceException
|
||||||
|
* @throws Throwable
|
||||||
* @throws AccountingManagerServiceException
|
* @throws AccountingManagerServiceException
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Service for load context
|
||||||
|
public ArrayList<String> loadRetrieveListContexts() throws ServiceException ;
|
||||||
|
|
||||||
|
|
||||||
// Service for load Policy
|
// Service for load Policy
|
||||||
public ArrayList<PolicyAuth> loadListPolicy() throws ServiceException;
|
public ArrayList<PolicyAuth> loadListPolicy(String context) throws ServiceException;
|
||||||
|
|
||||||
// Service for load Caller
|
// Service for load Caller
|
||||||
public ArrayList<Caller> loadListCaller() throws ServiceException;
|
public ArrayList<Caller> loadListCaller(String context) throws ServiceException;
|
||||||
|
|
||||||
//Service for load Service
|
//Service for load Service
|
||||||
public Map<String, List<String>> loadListService()throws ServiceException;
|
public Map<String, List<String>> loadListService(String context)throws ServiceException;
|
||||||
|
|
||||||
//Service for load Access
|
//Service for load Access
|
||||||
public ArrayList<String> loadListAccess() throws ServiceException;
|
public ArrayList<String> loadListAccess() throws ServiceException;
|
||||||
|
@ -47,10 +55,10 @@ public interface AuthManagerService extends RemoteService {
|
||||||
List<Long> deletePolicies(List<Long>identifier) throws ServiceException;
|
List<Long> deletePolicies(List<Long>identifier) throws ServiceException;
|
||||||
|
|
||||||
|
|
||||||
public void addPolicies(List<PolicyAuth>identifier) throws ServiceException;
|
public void addPolicies(String context,List<PolicyAuth>identifier) throws ServiceException;
|
||||||
|
|
||||||
//Service for update policy
|
//Service for update policy
|
||||||
public void updatePolicy(PolicyAuth policies) throws ServiceException;
|
public void updatePolicy(String context,PolicyAuth policies) throws ServiceException;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -26,11 +26,14 @@ public interface AuthManagerServiceAsync {
|
||||||
.create(AuthManagerService.class);
|
.create(AuthManagerService.class);
|
||||||
|
|
||||||
//load init value
|
//load init value
|
||||||
void loadListPolicy(AsyncCallback<ArrayList<PolicyAuth>> callback);
|
|
||||||
|
|
||||||
void loadListCaller(AsyncCallback<ArrayList<Caller>> callback);
|
void loadRetrieveListContexts(AsyncCallback<ArrayList<String>> callback);
|
||||||
|
|
||||||
|
void loadListPolicy(String context,AsyncCallback<ArrayList<PolicyAuth>> callback);
|
||||||
|
|
||||||
|
void loadListCaller(String context,AsyncCallback<ArrayList<Caller>> callback);
|
||||||
|
|
||||||
void loadListService(AsyncCallback<Map<String, List<String>>> asyncCallback);
|
void loadListService(String context,AsyncCallback<Map<String, List<String>>> asyncCallback);
|
||||||
|
|
||||||
void loadListAccess(AsyncCallback<ArrayList<String>> callback);
|
void loadListAccess(AsyncCallback<ArrayList<String>> callback);
|
||||||
|
|
||||||
|
@ -45,9 +48,9 @@ public interface AuthManagerServiceAsync {
|
||||||
AsyncCallback<Long> callback);
|
AsyncCallback<Long> callback);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void updatePolicy(PolicyAuth policies, AsyncCallback<Void> callback);
|
void updatePolicy(String context,PolicyAuth policies, AsyncCallback<Void> callback);
|
||||||
|
|
||||||
void addPolicies(List<PolicyAuth> identifier,AsyncCallback<Void> asyncCallback);
|
void addPolicies(String context,List<PolicyAuth> identifier,AsyncCallback<Void> asyncCallback);
|
||||||
|
|
||||||
void deletePolicies(List<Long> identifier,AsyncCallback<List<Long>> callback);
|
void deletePolicies(List<Long> identifier,AsyncCallback<List<Long>> callback);
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -15,6 +16,7 @@ import java.util.Map;
|
||||||
import javax.servlet.ServletException;
|
import javax.servlet.ServletException;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
|
||||||
import org.gcube.application.framework.core.session.ASLSession;
|
import org.gcube.application.framework.core.session.ASLSession;
|
||||||
import org.gcube.common.authorization.library.policies.Action;
|
import org.gcube.common.authorization.library.policies.Action;
|
||||||
import org.gcube.common.authorization.library.policies.Policy;
|
import org.gcube.common.authorization.library.policies.Policy;
|
||||||
|
@ -26,7 +28,9 @@ import org.gcube.common.authorization.library.policies.Services;
|
||||||
import org.gcube.common.authorization.library.policies.User2ServicePolicy;
|
import org.gcube.common.authorization.library.policies.User2ServicePolicy;
|
||||||
import org.gcube.common.authorization.library.policies.Users;
|
import org.gcube.common.authorization.library.policies.Users;
|
||||||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
|
import org.gcube.common.authorization.library.provider.UserInfo;
|
||||||
import org.gcube.common.resources.gcore.GCoreEndpoint;
|
import org.gcube.common.resources.gcore.GCoreEndpoint;
|
||||||
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
import org.gcube.portlets.admin.authportletmanager.client.rpc.AuthManagerService;
|
import org.gcube.portlets.admin.authportletmanager.client.rpc.AuthManagerService;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.Access;
|
import org.gcube.portlets.admin.authportletmanager.shared.Access;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.Caller;
|
import org.gcube.portlets.admin.authportletmanager.shared.Caller;
|
||||||
|
@ -35,6 +39,7 @@ import org.gcube.portlets.admin.authportletmanager.shared.ConstantsSharing;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.PolicyAuth;
|
import org.gcube.portlets.admin.authportletmanager.shared.PolicyAuth;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.Quote;
|
import org.gcube.portlets.admin.authportletmanager.shared.Quote;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.Service;
|
import org.gcube.portlets.admin.authportletmanager.shared.Service;
|
||||||
|
import org.gcube.portlets.admin.authportletmanager.shared.exceptions.ContextException;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.exceptions.ServiceException;
|
import org.gcube.portlets.admin.authportletmanager.shared.exceptions.ServiceException;
|
||||||
import org.gcube.portlets.admin.authportletmanager.shared.exceptions.TypeCallerException;
|
import org.gcube.portlets.admin.authportletmanager.shared.exceptions.TypeCallerException;
|
||||||
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
||||||
|
@ -42,9 +47,12 @@ import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
||||||
import org.gcube.vomanagement.usermanagement.GroupManager;
|
import org.gcube.vomanagement.usermanagement.GroupManager;
|
||||||
import org.gcube.vomanagement.usermanagement.RoleManager;
|
import org.gcube.vomanagement.usermanagement.RoleManager;
|
||||||
import org.gcube.vomanagement.usermanagement.UserManager;
|
import org.gcube.vomanagement.usermanagement.UserManager;
|
||||||
|
import org.gcube.vomanagement.usermanagement.exception.GroupRetrievalFault;
|
||||||
|
import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException;
|
||||||
import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
|
import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
|
||||||
import org.gcube.vomanagement.usermanagement.impl.LiferayRoleManager;
|
import org.gcube.vomanagement.usermanagement.impl.LiferayRoleManager;
|
||||||
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
|
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
|
||||||
|
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
||||||
import org.gcube.vomanagement.usermanagement.model.GCubeRole;
|
import org.gcube.vomanagement.usermanagement.model.GCubeRole;
|
||||||
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -81,24 +89,32 @@ implements AuthManagerService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load all list policy
|
* Load all list policy
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<PolicyAuth> loadListPolicy() throws ServiceException {
|
public ArrayList<PolicyAuth> loadListPolicy(String context) throws ServiceException {
|
||||||
try {
|
try {
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
HttpSession session = this.getThreadLocalRequest().getSession();
|
||||||
ArrayList<PolicyAuth> policyList =new ArrayList<PolicyAuth>();
|
ArrayList<PolicyAuth> policyList =new ArrayList<PolicyAuth>();
|
||||||
ASLSession aslSession = SessionUtil.getASLSession(session);
|
ASLSession aslSession = SessionUtil.getASLSession(session);
|
||||||
String scope=aslSession.getScope();
|
String username = aslSession.getUsername();
|
||||||
String token =aslSession.getSecurityToken();
|
//String scope=aslSession.getScope();
|
||||||
|
//String token =aslSession.getSecurityToken();
|
||||||
|
if (context==null)
|
||||||
|
context=aslSession.getScope();
|
||||||
|
String token = authorizationService().generateUserToken(new UserInfo(username, new ArrayList<String>()), context);
|
||||||
if (ConstantsSharing.DEBUG_MODE) {
|
if (ConstantsSharing.DEBUG_MODE) {
|
||||||
token=ConstantsSharing.DEBUG_TOKEN;
|
token=ConstantsSharing.DEBUG_TOKEN;
|
||||||
scope="/gcube/devNext";
|
context="/gcube/devNext";
|
||||||
logger.debug("load list policy in scope:"+scope);
|
logger.debug("load list policy in scope:"+context);
|
||||||
}
|
}
|
||||||
SecurityTokenProvider.instance.set(token);
|
SecurityTokenProvider.instance.set(token);
|
||||||
List<Policy> policies = authorizationService().getPolicies(scope);
|
List<Policy> policies = authorizationService().getPolicies(context);
|
||||||
if (policies!=null){
|
if (policies!=null){
|
||||||
logger.info("Load List Policy Find:"+policies.size());
|
logger.info("Load List Policy Find:"+policies.size());
|
||||||
if (policies.size()>0){
|
if (policies.size()>0){
|
||||||
|
@ -169,17 +185,25 @@ implements AuthManagerService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load all caller
|
* Load all caller
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<Caller> loadListCaller() throws ServiceException {
|
public ArrayList<Caller> loadListCaller(String context) throws ServiceException {
|
||||||
try {
|
try {
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
HttpSession session = this.getThreadLocalRequest().getSession();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
ASLSession aslSession = SessionUtil.getASLSession(session);
|
ASLSession aslSession = SessionUtil.getASLSession(session);
|
||||||
ArrayList<Caller> callers =new ArrayList<Caller>();
|
ArrayList<Caller> callers =new ArrayList<Caller>();
|
||||||
String token =aslSession.getSecurityToken();
|
String username = aslSession.getUsername();
|
||||||
|
//String scope=aslSession.getScope();
|
||||||
|
//String token =aslSession.getSecurityToken();
|
||||||
|
if (context==null)
|
||||||
|
context=aslSession.getScope();
|
||||||
|
String token = authorizationService().generateUserToken(new UserInfo(username, new ArrayList<String>()), context);
|
||||||
if (ConstantsSharing.DEBUG_MODE) {
|
if (ConstantsSharing.DEBUG_MODE) {
|
||||||
token=ConstantsSharing.DEBUG_TOKEN;
|
token=ConstantsSharing.DEBUG_TOKEN;
|
||||||
}
|
}
|
||||||
|
@ -198,9 +222,9 @@ implements AuthManagerService {
|
||||||
else{
|
else{
|
||||||
RoleManager roleManager = new LiferayRoleManager();
|
RoleManager roleManager = new LiferayRoleManager();
|
||||||
UserManager userManager = new LiferayUserManager();
|
UserManager userManager = new LiferayUserManager();
|
||||||
String scope=SessionUtil.getASLSession(session).getScope();
|
//String scope=SessionUtil.getASLSession(session).getScope();
|
||||||
GroupManager groupManager= new LiferayGroupManager();
|
GroupManager groupManager= new LiferayGroupManager();
|
||||||
Long groupId= groupManager.getGroupIdFromInfrastructureScope(scope);
|
Long groupId= groupManager.getGroupIdFromInfrastructureScope(context);
|
||||||
for (GCubeUser user :userManager.listUsersByGroup(groupId)){
|
for (GCubeUser user :userManager.listUsersByGroup(groupId)){
|
||||||
callers.add(new Caller(TypeCaller.user,user.getUsername()));
|
callers.add(new Caller(TypeCaller.user,user.getUsername()));
|
||||||
}
|
}
|
||||||
|
@ -236,11 +260,16 @@ implements AuthManagerService {
|
||||||
* Load all service
|
* Load all service
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<String>> loadListService() throws ServiceException {
|
public Map<String, List<String>> loadListService(String context) throws ServiceException {
|
||||||
try {
|
try {
|
||||||
|
logger.debug("loadListService init with context:"+context);
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
HttpSession session = this.getThreadLocalRequest().getSession();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
ASLSession aslSession = SessionUtil.getASLSession(session);
|
ASLSession aslSession = SessionUtil.getASLSession(session);
|
||||||
|
if (context==null){
|
||||||
|
context=aslSession.getScope();
|
||||||
|
logger.debug("Context void,loadListService init with context:"+context);
|
||||||
|
}
|
||||||
Map<String, List<String>> services =new HashMap<String, List<String>>();
|
Map<String, List<String>> services =new HashMap<String, List<String>>();
|
||||||
if (ConstantsSharing.DEBUG_MODE) {
|
if (ConstantsSharing.DEBUG_MODE) {
|
||||||
String token=ConstantsSharing.DEBUG_TOKEN;
|
String token=ConstantsSharing.DEBUG_TOKEN;
|
||||||
|
@ -253,6 +282,10 @@ implements AuthManagerService {
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
//Get List service
|
//Get List service
|
||||||
|
String username = aslSession.getUsername();
|
||||||
|
String token = authorizationService().generateUserToken(new UserInfo(username, new ArrayList<String>()), context);
|
||||||
|
SecurityTokenProvider.instance.set(token);
|
||||||
|
|
||||||
SimpleQuery query = queryFor(GCoreEndpoint.class);
|
SimpleQuery query = queryFor(GCoreEndpoint.class);
|
||||||
query.setResult("<Service><ServiceClass>{$resource/Profile/ServiceClass/text()}</ServiceClass>" +
|
query.setResult("<Service><ServiceClass>{$resource/Profile/ServiceClass/text()}</ServiceClass>" +
|
||||||
"<ServiceName>{$resource/Profile/ServiceName/text()}</ServiceName></Service>");
|
"<ServiceName>{$resource/Profile/ServiceName/text()}</ServiceName></Service>");
|
||||||
|
@ -267,7 +300,7 @@ implements AuthManagerService {
|
||||||
}
|
}
|
||||||
return services;
|
return services;
|
||||||
} catch (ServiceException e) {
|
} catch (ServiceException e) {
|
||||||
logger.error(e.getLocalizedMessage());
|
logger.error("service errore"+e.getLocalizedMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
@ -307,36 +340,96 @@ implements AuthManagerService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public ArrayList<String> loadRetrieveListContexts() throws ServiceException {
|
||||||
|
try {
|
||||||
|
|
||||||
|
HttpSession session = this.getThreadLocalRequest().getSession();
|
||||||
|
ASLSession aslSession = SessionUtil.getASLSession(session);
|
||||||
|
String token =aslSession.getSecurityToken();
|
||||||
|
SecurityTokenProvider.instance.set(token);
|
||||||
|
ArrayList<String> toReturn = new ArrayList<String>();
|
||||||
|
String currentContext = ScopeProvider.instance.get();
|
||||||
|
|
||||||
|
GroupManager gm = new LiferayGroupManager();
|
||||||
|
long currentGroupId = gm.getGroupIdFromInfrastructureScope(currentContext);
|
||||||
|
GCubeGroup currentGroup = gm.getGroup(currentGroupId);
|
||||||
|
// three cases
|
||||||
|
if(gm.isVRE(currentGroupId)){
|
||||||
|
// do nothing
|
||||||
|
}else if(gm.isVO(currentGroupId)){
|
||||||
|
// iterate over its vres
|
||||||
|
List<GCubeGroup> children = currentGroup.getChildren();
|
||||||
|
for (GCubeGroup gCubeGroup : children) {
|
||||||
|
logger.debug("loadListContext add: " + gm.getInfrastructureScope(gCubeGroup.getGroupId()));
|
||||||
|
toReturn.add(gm.getInfrastructureScope(gCubeGroup.getGroupId()));
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
// is root
|
||||||
|
List<GCubeGroup> children = currentGroup.getChildren();
|
||||||
|
for (GCubeGroup gCubeGroup : children) {
|
||||||
|
toReturn.add(gm.getInfrastructureScope(gCubeGroup.getGroupId()));
|
||||||
|
|
||||||
|
// get the vo children
|
||||||
|
List<GCubeGroup> childrenVO = gCubeGroup.getChildren();
|
||||||
|
for (GCubeGroup voChildren : childrenVO) {
|
||||||
|
logger.debug("loadListContext add: " + gm.getInfrastructureScope(voChildren.getGroupId()));
|
||||||
|
toReturn.add(gm.getInfrastructureScope(voChildren.getGroupId()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
toReturn.add(currentContext);
|
||||||
|
// revert
|
||||||
|
Collections.reverse(toReturn);
|
||||||
|
return toReturn;
|
||||||
|
} catch (ServiceException e) {
|
||||||
|
logger.error(e.getLocalizedMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
throw e;
|
||||||
|
} catch (Throwable e) {
|
||||||
|
logger.error("loadRetrieveListContexts error: " + e.getLocalizedMessage(), e);
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new ServiceException(e.getLocalizedMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert a new List Policy
|
* Insert a new List Policy
|
||||||
* @return
|
* @return
|
||||||
* @throws Throwable
|
* @throws Throwable
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void addPolicies(List<PolicyAuth> policiesAuth) throws ServiceException {
|
public void addPolicies(String context,List<PolicyAuth> policiesAuth) throws ServiceException {
|
||||||
try {
|
try {
|
||||||
//Long identifier;
|
//Long identifier;
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
HttpSession session = this.getThreadLocalRequest().getSession();
|
||||||
ASLSession aslSession = SessionUtil.getASLSession(session);
|
ASLSession aslSession = SessionUtil.getASLSession(session);
|
||||||
|
if (context==null)
|
||||||
|
context=aslSession.getScope();
|
||||||
List<Policy> policies = new ArrayList<Policy>();
|
List<Policy> policies = new ArrayList<Policy>();
|
||||||
String token =aslSession.getSecurityToken();
|
//String token =aslSession.getSecurityToken();
|
||||||
|
String username = aslSession.getUsername();
|
||||||
|
String token = authorizationService().generateUserToken(new UserInfo(username, new ArrayList<String>()), context);
|
||||||
|
|
||||||
if (ConstantsSharing.DEBUG_MODE) {
|
if (ConstantsSharing.DEBUG_MODE) {
|
||||||
token=ConstantsSharing.DEBUG_TOKEN;
|
token=ConstantsSharing.DEBUG_TOKEN;
|
||||||
|
|
||||||
}
|
}
|
||||||
SecurityTokenProvider.instance.set(token);
|
SecurityTokenProvider.instance.set(token);
|
||||||
String scope=SessionUtil.getASLSession(session).getScope();
|
//String scope=SessionUtil.getASLSession(session).getScope();
|
||||||
for (PolicyAuth policy: policiesAuth){
|
for (PolicyAuth policy: policiesAuth){
|
||||||
ServiceAccess service=new ServiceAccess(policy.getService().getServiceName(), policy.getService().getServiceClass(), policy.getService().getServiceId());
|
ServiceAccess service=new ServiceAccess(policy.getService().getServiceName(), policy.getService().getServiceClass(), policy.getService().getServiceId());
|
||||||
Action access =Action.valueOf(policy.getAccessString());
|
Action access =Action.valueOf(policy.getAccessString());
|
||||||
logger.debug("policy translate:"+policy.getCallerTypeAsString());
|
logger.debug("policy translate:"+policy.getCallerTypeAsString());
|
||||||
if (policy.getCallerTypeAsString().equalsIgnoreCase(TypeCaller.user.toString())){
|
if (policy.getCallerTypeAsString().equalsIgnoreCase(TypeCaller.user.toString())){
|
||||||
logger.debug("add policy with user");
|
logger.debug("add policy with user");
|
||||||
policies.add(new User2ServicePolicy(scope, service, Users.one(policy.getCallerAsString()), access ));
|
policies.add(new User2ServicePolicy(context, service, Users.one(policy.getCallerAsString()), access ));
|
||||||
}
|
}
|
||||||
else if (policy.getCallerTypeAsString().equalsIgnoreCase(TypeCaller.role.toString())){
|
else if (policy.getCallerTypeAsString().equalsIgnoreCase(TypeCaller.role.toString())){
|
||||||
logger.debug("add policy with role");
|
logger.debug("add policy with role");
|
||||||
policies.add(new User2ServicePolicy(scope, service, Roles.one(policy.getCallerAsString()), access ));
|
policies.add(new User2ServicePolicy(context, service, Roles.one(policy.getCallerAsString()), access ));
|
||||||
}
|
}
|
||||||
else if (policy.getCallerTypeAsString().equalsIgnoreCase(TypeCaller.service.toString())){
|
else if (policy.getCallerTypeAsString().equalsIgnoreCase(TypeCaller.service.toString())){
|
||||||
logger.debug("add policy with service");
|
logger.debug("add policy with service");
|
||||||
|
@ -347,18 +440,18 @@ implements AuthManagerService {
|
||||||
if (policyService.length==3)
|
if (policyService.length==3)
|
||||||
serviceId=policy.getCallerAsString().split(":")[2];
|
serviceId=policy.getCallerAsString().split(":")[2];
|
||||||
ServiceAccess serviceCaller =new ServiceAccess(serviceName, serviceClass, serviceId);
|
ServiceAccess serviceCaller =new ServiceAccess(serviceName, serviceClass, serviceId);
|
||||||
policies.add(new Service2ServicePolicy(scope,service,Services.specialized(serviceCaller),access));
|
policies.add(new Service2ServicePolicy(context,service,Services.specialized(serviceCaller),access));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
String[] allExecpt=policy.getCallerTypeAsString().trim().split(" ");
|
String[] allExecpt=policy.getCallerTypeAsString().trim().split(" ");
|
||||||
if (allExecpt.length>0){
|
if (allExecpt.length>0){
|
||||||
if (allExecpt[0].equalsIgnoreCase(TypeCaller.user.toString())){
|
if (allExecpt[0].equalsIgnoreCase(TypeCaller.user.toString())){
|
||||||
logger.debug("add policy with user execpt");
|
logger.debug("add policy with user execpt");
|
||||||
policies.add(new User2ServicePolicy(scope, service, Users.allExcept(policy.getCallerExecptAsString()), access ));
|
policies.add(new User2ServicePolicy(context, service, Users.allExcept(policy.getCallerExecptAsString()), access ));
|
||||||
}
|
}
|
||||||
else if (allExecpt[0].equalsIgnoreCase(TypeCaller.role.toString())){
|
else if (allExecpt[0].equalsIgnoreCase(TypeCaller.role.toString())){
|
||||||
logger.debug("add policy with role execpt");
|
logger.debug("add policy with role execpt");
|
||||||
policies.add(new User2ServicePolicy(scope, service, Roles.allExcept(policy.getCallerExecptAsString()), access ));
|
policies.add(new User2ServicePolicy(context, service, Roles.allExcept(policy.getCallerExecptAsString()), access ));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
logger.error("ERROR caller type not recognized"+allExecpt[0]);
|
logger.error("ERROR caller type not recognized"+allExecpt[0]);
|
||||||
|
@ -389,12 +482,18 @@ implements AuthManagerService {
|
||||||
* Update an existing policy
|
* Update an existing policy
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updatePolicy(PolicyAuth policy) throws ServiceException{
|
public void updatePolicy(String context,PolicyAuth policy) throws ServiceException{
|
||||||
try {
|
try {
|
||||||
|
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
HttpSession session = this.getThreadLocalRequest().getSession();
|
||||||
ASLSession aslSession = SessionUtil.getASLSession(session);
|
ASLSession aslSession = SessionUtil.getASLSession(session);
|
||||||
String token =aslSession.getSecurityToken();
|
if (context==null)
|
||||||
|
context=aslSession.getScope();
|
||||||
|
String username = aslSession.getUsername();
|
||||||
|
String token = authorizationService().generateUserToken(new UserInfo(username, new ArrayList<String>()), context);
|
||||||
|
|
||||||
|
|
||||||
|
//String token =aslSession.getSecurityToken();
|
||||||
if (ConstantsSharing.DEBUG_MODE) {
|
if (ConstantsSharing.DEBUG_MODE) {
|
||||||
token=ConstantsSharing.DEBUG_TOKEN;
|
token=ConstantsSharing.DEBUG_TOKEN;
|
||||||
}
|
}
|
||||||
|
@ -403,11 +502,11 @@ implements AuthManagerService {
|
||||||
authorizationService().removePolicies(policy.getIdpolicy());
|
authorizationService().removePolicies(policy.getIdpolicy());
|
||||||
//add a new policy
|
//add a new policy
|
||||||
List<Policy> policies = new ArrayList<Policy>();
|
List<Policy> policies = new ArrayList<Policy>();
|
||||||
String scope=SessionUtil.getASLSession(session).getScope();
|
//String scope=SessionUtil.getASLSession(session).getScope();
|
||||||
ServiceAccess service=new ServiceAccess(policy.getService().getServiceName(), policy.getService().getServiceClass(), policy.getService().getServiceId());
|
ServiceAccess service=new ServiceAccess(policy.getService().getServiceName(), policy.getService().getServiceClass(), policy.getService().getServiceId());
|
||||||
logger.info("updatePolicy -policy.getCallerAsString()"+policy.getCallerAsString());
|
logger.info("updatePolicy -policy.getCallerAsString()"+policy.getCallerAsString());
|
||||||
Action access =Action.valueOf(policy.getAccessString());
|
Action access =Action.valueOf(policy.getAccessString());
|
||||||
policies.add(new User2ServicePolicy(scope, service, Users.one(policy.getCallerAsString()), access ));
|
policies.add(new User2ServicePolicy(context, service, Users.one(policy.getCallerAsString()), access ));
|
||||||
authorizationService().addPolicies(policies);
|
authorizationService().addPolicies(policies);
|
||||||
|
|
||||||
} catch (ServiceException e) {
|
} catch (ServiceException e) {
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.portlets.admin.authportletmanager.shared.exceptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author "Giancarlo Panichi"
|
||||||
|
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ContextException extends Exception {
|
||||||
|
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -2255657546267656458L;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public ContextException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param message
|
||||||
|
*/
|
||||||
|
public ContextException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public ContextException(String message,Throwable t) {
|
||||||
|
super(message,t);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue