/*!
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* Copyright (c) 2002-2013 Pentaho Corporation.. All rights reserved.
*/
package org.pentaho.platform.engine.security.userrole.ws;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.pentaho.platform.api.engine.IUserRoleListService;
import org.pentaho.platform.api.mt.ITenant;
public class MockUserRoleListService implements IUserRoleListService {
@Override
public List<String> getAllRoles() {
List<String> allAuths = new ArrayList<String>( 7 );
allAuths.add( "dev" ); //$NON-NLS-1$
allAuths.add( "Admin" ); //$NON-NLS-1$
allAuths.add( "devmgr" ); //$NON-NLS-1$
allAuths.add( "ceo" ); //$NON-NLS-1$
allAuths.add( "cto" ); //$NON-NLS-1$
allAuths.add( "Authenticated" ); //$NON-NLS-1$
allAuths.add( "is" ); //$NON-NLS-1$
return allAuths;
}
@Override
public List<String> getAllUsers() {
List<String> allUsers = new ArrayList<String>( 4 );
allUsers.add( "pat" ); //$NON-NLS-1$
allUsers.add( "tiffany" ); //$NON-NLS-1$
allUsers.add( "joe" ); //$NON-NLS-1$
allUsers.add( "suzy" ); //$NON-NLS-1$
return allUsers;
}
@Override
public List<String> getAllRoles( ITenant tenant ) {
List<String> tenant_1 = new ArrayList<String>( 7 );
tenant_1.add( "dev" ); //$NON-NLS-1$
tenant_1.add( "Admin" ); //$NON-NLS-1$
tenant_1.add( "devmgr" ); //$NON-NLS-1$
tenant_1.add( "ceo" ); //$NON-NLS-1$
tenant_1.add( "cto" ); //$NON-NLS-1$
tenant_1.add( "Authenticated" ); //$NON-NLS-1$
tenant_1.add( "is" ); //$NON-NLS-1$
List<String> tenant_2 = new ArrayList<String>( 7 );
tenant_1.add( "dev" ); //$NON-NLS-1$
tenant_1.add( "Admin" ); //$NON-NLS-1$
tenant_1.add( "devmgr" ); //$NON-NLS-1$
tenant_1.add( "Authenticated" ); //$NON-NLS-1$
tenant_1.add( "is" ); //$NON-NLS-1$
List<String> tenant_3 = new ArrayList<String>( 7 );
tenant_1.add( "dev" ); //$NON-NLS-1$
tenant_1.add( "ceo" ); //$NON-NLS-1$
tenant_1.add( "cto" ); //$NON-NLS-1$
tenant_1.add( "Authenticated" ); //$NON-NLS-1$
tenant_1.add( "is" ); //$NON-NLS-1$
Map<String, List<String>> roleMap = new HashMap<String, List<String>>();
roleMap.put( "tenant0", tenant_1 ); //$NON-NLS-1$
roleMap.put( "tenant1", tenant_2 ); //$NON-NLS-1$
roleMap.put( "tenant2", tenant_3 ); //$NON-NLS-1$
return roleMap.get( tenant.getId() );
}
@Override
public List<String> getAllUsers( ITenant tenant ) {
// TODO Auto-generated method stub
List<String> tenant_1 = new ArrayList<String>( 4 );
tenant_1.add( "pat" ); //$NON-NLS-1$
tenant_1.add( "tiffany" ); //$NON-NLS-1$
tenant_1.add( "joe" ); //$NON-NLS-1$
tenant_1.add( "suzy" ); //$NON-NLS-1$
List<String> tenant_2 = new ArrayList<String>( 4 );
tenant_1.add( "mary" ); //$NON-NLS-1$
tenant_1.add( "jill" ); //$NON-NLS-1$
tenant_1.add( "jack" ); //$NON-NLS-1$
tenant_1.add( "jeremy" ); //$NON-NLS-1$
List<String> tenant_3 = new ArrayList<String>( 4 );
tenant_1.add( "johny" ); //$NON-NLS-1$
tenant_1.add( "tom" ); //$NON-NLS-1$
tenant_1.add( "jerry" ); //$NON-NLS-1$
tenant_1.add( "jane" ); //$NON-NLS-1$
Map<String, List<String>> userMap = new HashMap<String, List<String>>();
userMap.put( "tenant0", tenant_1 ); //$NON-NLS-1$
userMap.put( "tenant1", tenant_2 ); //$NON-NLS-1$
userMap.put( "tenant2", tenant_3 ); //$NON-NLS-1$
return userMap.get( tenant.getId() );
}
@Override
public List<String> getUsersInRole( ITenant tenant, String role ) {
if ( tenant == null ) {
if ( role.equals( "dev" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "pat", "tiffany" } ); //$NON-NLS-1$ //$NON-NLS-2$
} else if ( role.equals( "Admin" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "joe" } ); //$NON-NLS-1$
} else if ( role.equals( "devmgr" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "tiffany" } ); //$NON-NLS-1$
} else if ( role.equals( "ceo" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "joe" } ); //$NON-NLS-1$
} else if ( role.equals( "cto" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "suzy" } ); //$NON-NLS-1$
} else if ( role.equals( "is" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "suzy" } ); //$NON-NLS-1$
}
return Collections.emptyList();
}
if ( tenant.getId().equals( "tenant0" ) ) { //$NON-NLS-1$
if ( role.equals( "dev" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "pat", "tiffany" } ); //$NON-NLS-1$ //$NON-NLS-2$
} else if ( role.equals( "Admin" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "joe" } ); //$NON-NLS-1$
} else if ( role.equals( "devmgr" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "tiffany" } ); //$NON-NLS-1$
} else if ( role.equals( "ceo" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "joe" } ); //$NON-NLS-1$
} else if ( role.equals( "cto" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "suzy" } ); //$NON-NLS-1$
} else if ( role.equals( "is" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "suzy" } ); //$NON-NLS-1$
}
} else if ( tenant.getId().equals( "tenant1" ) ) { //$NON-NLS-1$
if ( role.equals( "dev" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "mary", "jill" } ); //$NON-NLS-1$ //$NON-NLS-2$
} else if ( role.equals( "Admin" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "jack" } ); //$NON-NLS-1$
} else if ( role.equals( "devmgr" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "jeremy" } ); //$NON-NLS-1$
} else if ( role.equals( "is" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "mary" } ); //$NON-NLS-1$
}
} else if ( tenant.getId().equals( "tenant2" ) ) { //$NON-NLS-1$
if ( role.equals( "dev" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "johny", "tom" } ); //$NON-NLS-1$ //$NON-NLS-2$
} else if ( role.equals( "ceo" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "jerry" } ); //$NON-NLS-1$
} else if ( role.equals( "cto" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "jane" } ); //$NON-NLS-1$
} else if ( role.equals( "is" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "johny" } ); //$NON-NLS-1$
}
}
return Collections.emptyList();
}
@Override
public List<String> getRolesForUser( ITenant tenant, String username ) {
// TODO Auto-generated method stub
if ( tenant == null ) {
if ( username.equals( "pat" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$
} else if ( username.equals( "tiffany" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "devmgr", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "joe" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "Admin", "ceo", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "suzy" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "cto", "is", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
return Collections.emptyList();
} else if ( tenant.getId().equals( "tenant0" ) ) { //$NON-NLS-1$
if ( username.equals( "pat" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$
} else if ( username.equals( "tiffany" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "devmgr", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "joe" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "Admin", "ceo", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "suzy" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "cto", "is", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
} else if ( tenant.getId().equals( "tenant1" ) ) { //$NON-NLS-1$
if ( username.equals( "mary" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "is", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "jill" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "jeremy" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "devmgr", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "jack" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "Admin", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
} else if ( tenant.getId().equals( "tenant2" ) ) { //$NON-NLS-1$
if ( username.equals( "johny" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "is", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "tom" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "dev", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "jerry" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "ceo", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else if ( username.equals( "jane" ) ) { //$NON-NLS-1$
return Arrays.asList( new String[] { "cto", "Authenticated" } ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
return Collections.emptyList();
}
@Override
public List<String> getSystemRoles() {
return Arrays.asList( new String[] { "Admin" } );
}
}