opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java
@@ -25,6 +25,7 @@ * Copyright 2007-2008 Sun Microsystems, Inc. */ package org.opends.server.core.networkgroups; import org.opends.messages.Message; import static org.opends.messages.CoreMessages.*; import static org.opends.server.util.Validator.ensureNotNull; @@ -34,6 +35,10 @@ import java.util.TreeMap; import java.util.Collection; import org.opends.server.admin.std.meta. NetworkGroupResourceLimitsCfgDefn.ReferralBindPolicy; import org.opends.server.admin.std.meta. NetworkGroupResourceLimitsCfgDefn.ReferralPolicy; import org.opends.server.api.ClientConnection; import org.opends.server.core.*; import org.opends.server.protocols.ldap.LDAPMessage; @@ -44,7 +49,6 @@ import org.opends.server.types.operation.PreParseOperation; import org.opends.server.workflowelement.WorkflowElement; /** * This class defines the network group. A network group is used to categorize * client connections. A network group is defined by a set of criteria, a @@ -852,6 +856,48 @@ return 0; } /** * Gets the referral policy. The referral policy defines the behavior * when a referral or a search continuation reference is received. * The referral can either be discarded (ie an error is returned to the * client), forwarded (ie the result is passed as-is to the client) or * followed (ie the server contacts the server targeted by the referral to * pursue the request). * @return the referral policy for this network group */ public ReferralPolicy getReferralPolicy() { if (resourceLimits != null) { return resourceLimits.getReferralPolicy(); } return ReferralPolicy.FORWARD; } /** * Gets the referral bind policy. The referral bind policy defines * the bind credentials used when the server tries to follow a referral. It * can either bind to the referred server anonymously, or using the same * credentials as in the original request. * @return the referral binf policy */ public ReferralBindPolicy getReferralBindPolicy() { if (resourceLimits != null) { return resourceLimits.getReferralBindPolicy(); } return ReferralBindPolicy.ANONYMOUS; } /** * Gets the referral hop limit. When configured to follow referrals, * the request to the referred server can also contain a referral. The hop * limit is the maximum number of subsequent operations. * @return the referral hop limit */ public int getReferralHopLimit() { if (resourceLimits != null) { return resourceLimits.getReferralHopLimit(); } return 0; } /** * Checks the request filtering policy. opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java
@@ -33,6 +33,10 @@ import org.opends.server.admin.server.ConfigurationAddListener; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.server.ConfigurationDeleteListener; import org.opends.server.admin.std.meta. NetworkGroupResourceLimitsCfgDefn.ReferralBindPolicy; import org.opends.server.admin.std.meta. NetworkGroupResourceLimitsCfgDefn.ReferralPolicy; import org.opends.server.admin.std.server.NetworkGroupResourceLimitsCfg; import org.opends.server.api.ClientConnection; import org.opends.server.types.ByteString; @@ -78,6 +82,15 @@ // The minimum substring length in a search private int minSearchSubstringLength; // The referral policy private ReferralPolicy referralPolicy = ReferralPolicy.FORWARD; // The referral policy private ReferralBindPolicy referralBindPolicy = ReferralBindPolicy.ANONYMOUS; // The referral hop limit private int referralHopLimit = 0; // The number of connections in the group private int numConnections = 0; @@ -118,6 +131,11 @@ searchSizeLimit = -1; searchTimeLimit = -1; minSearchSubstringLength = 0; referralPolicy = ReferralPolicy.FORWARD; referralBindPolicy = ReferralBindPolicy.ANONYMOUS; referralHopLimit = 0; isConfigured = false; if (config != null) { config.removeChangeListener(this); @@ -152,6 +170,10 @@ } minSearchSubstringLength = resourcesCfg.getMinSubstringLength(); referralPolicy = resourcesCfg.getReferralPolicy(); referralBindPolicy = resourcesCfg.getReferralBindPolicy(); referralHopLimit = resourcesCfg.getReferralHopLimit(); if (config == null) { resourcesCfg.addChangeListener(this); } @@ -254,6 +276,30 @@ } /** * Returns the referral policy. * @return referral policy */ public ReferralPolicy getReferralPolicy() { return referralPolicy; } /** * Returns the referralBindPolicy. * @return referral bind policy */ public ReferralBindPolicy getReferralBindPolicy() { return referralBindPolicy; } /** * Returns the referral hop limit. * @return referral hop limit */ public int getReferralHopLimit() { return referralHopLimit; } /** * Adds a connection to the resource group. * * @param connection the ClientConnection to ad