| | |
| | | import org.forgerock.opendj.config.server.ConfigChangeResult; |
| | | import org.opends.server.util.TimeThread; |
| | | |
| | | /** |
| | | * This class implements a rotation policy based on fixed day/time of day. |
| | | */ |
| | | /** This class implements a rotation policy based on fixed day/time of day. */ |
| | | public class FixedTimeRotationPolicy implements |
| | | RotationPolicy<FixedTimeLogRotationPolicyCfg>, |
| | | ConfigurationChangeListener<FixedTimeLogRotationPolicyCfg> |
| | |
| | | /** The scheduled rotation times as ms offsets from the beginning of the day. */ |
| | | private int[] rotationTimes; |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void initializeLogRotationPolicy(FixedTimeLogRotationPolicyCfg config) |
| | | { |
| | | rotationTimes = new int[config.getTimeOfDay().size()]; |
| | |
| | | config.addFixedTimeChangeListener(this); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean isConfigurationChangeAcceptable( |
| | | FixedTimeLogRotationPolicyCfg config, List<LocalizableMessage> unacceptableReasons) |
| | | { |
| | |
| | | return true; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public ConfigChangeResult applyConfigurationChange( |
| | | FixedTimeLogRotationPolicyCfg config) |
| | | { |
| | |
| | | return ccr; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean rotateFile(RotatableLogFile writer) |
| | | { |
| | | Calendar lastRotationTime = writer.getLastRotationTime(); |