private AdapterType getAdapter()

in src/main/java/org/apache/sling/tenant/internal/TenantAdapterFactory.java [114:135]


	private <AdapterType> AdapterType getAdapter(Session session,
			Class<AdapterType> type) {
	    if ( session instanceof JackrabbitSession) {
    		String userID = session.getUserID();
    		JackrabbitSession jrSession = (JackrabbitSession) session;
    		try {
    			Authorizable authorizable = jrSession.getUserManager()
    					.getAuthorizable(userID);
    			if (authorizable != null) {
        			String userHome = authorizable.getPath();
    
        			// tries to get tenant information from user home
        			// i.e. /home/users/tenant1/a/admin
        			return getAdapter(userHome, type);
    			}
    		} catch (Exception e) {
    			log.error("can not get user from session", e);
    		}
	    }
		log.debug("Unable to adapt to resource of type {}", type.getName());
		return null;
	}