001/* 002 * The contents of this file are subject to the terms of the Common Development and 003 * Distribution License (the License). You may not use this file except in compliance with the 004 * License. 005 * 006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 007 * specific language governing permission and limitations under the License. 008 * 009 * When distributing Covered Software, include this CDDL Header Notice in each file and include 010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 011 * Header, with the fields enclosed by brackets [] replaced by your own identifying 012 * information: "Portions copyright [year] [name of copyright owner]". 013 * 014 * Copyright 2014-2015 ForgeRock AS. 015 */ 016 017package org.forgerock.openig.alias; 018 019import java.security.KeyStore; 020import java.util.HashMap; 021import java.util.Map; 022 023import javax.net.ssl.KeyManager; 024import javax.net.ssl.TrustManager; 025 026import org.forgerock.openig.audit.monitor.MonitorEndpointHandler; 027import org.forgerock.openig.decoration.baseuri.BaseUriDecorator; 028import org.forgerock.openig.decoration.capture.CaptureDecorator; 029import org.forgerock.openig.decoration.timer.TimerDecorator; 030import org.forgerock.openig.filter.AssignmentFilter; 031import org.forgerock.openig.filter.Chain; 032import org.forgerock.openig.filter.CookieFilter; 033import org.forgerock.openig.filter.CryptoHeaderFilter; 034import org.forgerock.openig.filter.EntityExtractFilter; 035import org.forgerock.openig.filter.FileAttributesFilter; 036import org.forgerock.openig.filter.HeaderFilter; 037import org.forgerock.openig.filter.HttpBasicAuthFilter; 038import org.forgerock.openig.filter.LocationHeaderFilter; 039import org.forgerock.openig.filter.PasswordReplayFilter; 040import org.forgerock.openig.filter.ScriptableFilter; 041import org.forgerock.openig.filter.SqlAttributesFilter; 042import org.forgerock.openig.filter.StaticRequestFilter; 043import org.forgerock.openig.filter.SwitchFilter; 044import org.forgerock.openig.filter.ThrottlingFilter; 045import org.forgerock.openig.handler.ClientHandler; 046import org.forgerock.openig.handler.DesKeyGenHandler; 047import org.forgerock.openig.handler.DispatchHandler; 048import org.forgerock.openig.handler.ScriptableHandler; 049import org.forgerock.openig.handler.SequenceHandler; 050import org.forgerock.openig.handler.StaticResponseHandler; 051import org.forgerock.openig.handler.WelcomeHandler; 052import org.forgerock.openig.handler.router.AuditServiceObject; 053import org.forgerock.openig.handler.router.RouterHandler; 054import org.forgerock.openig.io.TemporaryStorage; 055import org.forgerock.openig.jwt.JwtSessionManager; 056import org.forgerock.openig.log.ConsoleLogSink; 057import org.forgerock.openig.log.FileLogSink; 058import org.forgerock.openig.log.NullLogSink; 059import org.forgerock.openig.security.TrustAllManager; 060 061/** 062 * Register all the aliases supported by the {@literal openig-core} module. 063 */ 064public class CoreClassAliasResolver implements ClassAliasResolver { 065 private static final Map<String, Class<?>> ALIASES = new HashMap<>(); 066 067 static { 068 ALIASES.put("AuditService", AuditServiceObject.class); 069 ALIASES.put("AssignmentFilter", AssignmentFilter.class); 070 ALIASES.put("BaseUriDecorator", BaseUriDecorator.class); 071 ALIASES.put("CaptureDecorator", CaptureDecorator.class); 072 ALIASES.put("Chain", Chain.class); 073 ALIASES.put("ClientHandler", ClientHandler.class); 074 ALIASES.put("ConsoleLogSink", ConsoleLogSink.class); 075 ALIASES.put("CookieFilter", CookieFilter.class); 076 ALIASES.put("CryptoHeaderFilter", CryptoHeaderFilter.class); 077 ALIASES.put("DesKeyGenHandler", DesKeyGenHandler.class); 078 ALIASES.put("DispatchHandler", DispatchHandler.class); 079 ALIASES.put("EntityExtractFilter", EntityExtractFilter.class); 080 ALIASES.put("FileAttributesFilter", FileAttributesFilter.class); 081 ALIASES.put("FileLogSink", FileLogSink.class); 082 ALIASES.put("HeaderFilter", HeaderFilter.class); 083 ALIASES.put("HttpBasicAuthFilter", HttpBasicAuthFilter.class); 084 ALIASES.put("JwtSessionFactory", JwtSessionManager.class); 085 ALIASES.put("JwtSession", JwtSessionManager.class); 086 ALIASES.put("KeyManager", KeyManager.class); 087 ALIASES.put("KeyStore", KeyStore.class); 088 ALIASES.put("LocationHeaderFilter", LocationHeaderFilter.class); 089 ALIASES.put("MonitorEndpointHandler", MonitorEndpointHandler.class); 090 ALIASES.put("NullLogSink", NullLogSink.class); 091 ALIASES.put("PasswordReplayFilter", PasswordReplayFilter.class); 092 ALIASES.put("RedirectFilter", LocationHeaderFilter.class); 093 ALIASES.put("Router", RouterHandler.class); 094 ALIASES.put("RouterHandler", RouterHandler.class); 095 ALIASES.put("ScriptableFilter", ScriptableFilter.class); 096 ALIASES.put("ScriptableHandler", ScriptableHandler.class); 097 ALIASES.put("SequenceHandler", SequenceHandler.class); 098 ALIASES.put("SqlAttributesFilter", SqlAttributesFilter.class); 099 ALIASES.put("StaticRequestFilter", StaticRequestFilter.class); 100 ALIASES.put("StaticResponseHandler", StaticResponseHandler.class); 101 ALIASES.put("SwitchFilter", SwitchFilter.class); 102 ALIASES.put("TemporaryStorage", TemporaryStorage.class); 103 ALIASES.put("ThrottlingFilter", ThrottlingFilter.class); 104 ALIASES.put("TimerDecorator", TimerDecorator.class); 105 ALIASES.put("TrustManager", TrustManager.class); 106 ALIASES.put("TrustAllManager", TrustAllManager.class); 107 ALIASES.put("WelcomeHandler", WelcomeHandler.class); 108 } 109 110 @Override 111 public Class<?> resolve(final String alias) { 112 return ALIASES.get(alias); 113 } 114}