private String putBlob( Blob blob ) { String etag = null; try { etag = blobStore.putBlob( config.container, blob ); } catch ( RuntimeException rte ) { Throwable cause = rte.getCause(); if ( cause != null && cause instanceof UserPrincipalNotFoundException ) { // Intentionally ignored exception which occurs with JClouds (< 2.0.0) on localized Windows. // See https://issues.apache.org/jira/browse/JCLOUDS-1015 log.debug( "Ignored UserPrincipalNotFoundException. Workaround for 'JCLOUDS-1015'." ); } else { throw rte; } } return etag; }
private String putBlob( Blob blob ) { String etag = null; try { etag = blobStore.putBlob( container, blob ); } catch ( RuntimeException rte ) { Throwable cause = rte.getCause(); if ( cause != null && cause instanceof UserPrincipalNotFoundException ) { // Intentionally ignored exception which occurs with JClouds on localized // Windows systems while trying to resolve the "Everyone" group. // See https://issues.apache.org/jira/browse/JCLOUDS-1015 log.debug( "Ignored UserPrincipalNotFoundException. Workaround for JClouds bug 'JCLOUDS-1015'." ); } else { throw rte; } } return etag; }
@Override public UserPrincipal lookupPrincipalByName(String name) throws IOException { if(name.equals(userPrincipal.getName())) { return userPrincipal; } throw new UserPrincipalNotFoundException(name); }
@Override public GroupPrincipal lookupPrincipalByGroupName(String group) throws IOException { if(group.equals(groupPrincipal.getName())) { return groupPrincipal; } throw new UserPrincipalNotFoundException(group); }
@Override public GroupPrincipal lookupPrincipalByGroupName(String group) throws IOException { if (!supportsGroups) { throw new UserPrincipalNotFoundException(group); // required by spec } return createGroupPrincipal(group); }
@Test public void testServiceNotSupportingGroups() throws IOException { UserPrincipalLookupService service = new UserLookupService(false); try { service.lookupPrincipalByGroupName("group"); fail(); } catch (UserPrincipalNotFoundException expected) { assertThat(expected.getName()).isEqualTo("group"); } }
@Override public SimplePrincipal lookupPrincipalByName( String name ) throws IOException { return users.getOrThrow( name, new UserPrincipalNotFoundException( "no such user: " + name ) ); }
@Override public SimplePrincipal lookupPrincipalByGroupName( String name ) throws IOException { return groups.getOrThrow( name, new UserPrincipalNotFoundException( "no such group: " + name ) ); }