Skip to content

Commit 1f7ef65

Browse files
ibuildthecloudSheng Yang
authored andcommitted
Make com.cloud.network.vpn.RemoteAccessVpnService an extensible type
1 parent 5e2e27d commit 1f7ef65

4 files changed

Lines changed: 32 additions & 3 deletions

File tree

core/resources/META-INF/cloudstack/core/spring-core-registry-core-context.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,16 @@
213213
</list>
214214
</property>
215215
</bean>
216+
217+
<bean id="remoteAccessVPNServiceProviderRegistry"
218+
class="org.apache.cloudstack.spring.lifecycle.registry.ExtensionRegistry">
219+
<property name="excludeKey" value="remote.access.vpn.service.provider.exclude" />
220+
<property name="preRegistered">
221+
<list>
222+
<ref bean="VpcVirtualRouter" />
223+
</list>
224+
</property>
225+
</bean>
216226

217227
<bean id="affinityProcessorsRegistry"
218228
class="org.apache.cloudstack.spring.lifecycle.registry.ExtensionRegistry">

core/resources/META-INF/cloudstack/network/spring-core-lifecycle-network-context-inheritable.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,11 @@
9090
<property name="typeClass"
9191
value="com.cloud.network.element.Site2SiteVpnServiceProvider" />
9292
</bean>
93+
94+
<bean class="org.apache.cloudstack.spring.lifecycle.registry.RegistryLifecycle">
95+
<property name="registry" ref="remoteAccessVPNServiceProviderRegistry" />
96+
<property name="typeClass"
97+
value="com.cloud.network.element.RemoteAccessVPNServiceProvider" />
98+
</bean>
9399

94100
</beans>

server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,9 @@
144144

145145
<bean id="regionServiceImpl" class="org.apache.cloudstack.region.RegionServiceImpl" />
146146

147-
<bean id="remoteAccessVpnManagerImpl" class="com.cloud.network.vpn.RemoteAccessVpnManagerImpl" />
147+
<bean id="remoteAccessVpnManagerImpl" class="com.cloud.network.vpn.RemoteAccessVpnManagerImpl" >
148+
<property name="vpnServiceProviders" value="#{remoteAccessVPNServiceProviderRegistry.registered}" />
149+
</bean>
148150

149151
<bean id="resourceLimitManagerImpl" class="com.cloud.resourcelimit.ResourceLimitManagerImpl" />
150152

server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,9 @@ public class RemoteAccessVpnManagerImpl extends ManagerBase implements RemoteAcc
109109
@Inject FirewallManager _firewallMgr;
110110
@Inject UsageEventDao _usageEventDao;
111111
@Inject ConfigurationDao _configDao;
112-
@Inject List<RemoteAccessVPNServiceProvider> _vpnServiceProviders;
113-
@Inject ConfigurationServer _configServer;
112+
List<RemoteAccessVPNServiceProvider> _vpnServiceProviders;
113+
114+
@Inject ConfigurationServer _configServer;
114115
@Inject VpcDao _vpcDao;
115116

116117
int _userLimit;
@@ -695,4 +696,14 @@ public String getConfigComponentName() {
695696
public ConfigKey<?>[] getConfigKeys() {
696697
return new ConfigKey<?>[] {RemoteAccessVpnClientIpRange};
697698
}
699+
700+
public List<RemoteAccessVPNServiceProvider> getVpnServiceProviders() {
701+
return _vpnServiceProviders;
702+
}
703+
704+
public void setVpnServiceProviders(
705+
List<RemoteAccessVPNServiceProvider> vpnServiceProviders) {
706+
this._vpnServiceProviders = vpnServiceProviders;
707+
}
708+
698709
}

0 commit comments

Comments
 (0)