X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=validation.git;a=blobdiff_plain;f=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fscheduler%2FRegister.java;fp=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fscheduler%2FRegister.java;h=633ef9ea88c1d959d72fb17aea2be9a63bb78777;hp=0000000000000000000000000000000000000000;hb=2879b2ee5e1e2815e5f43cb802352bf2878397af;hpb=ce4ad29dc48317cc7cb60fe433072ac46dea2ebb diff --git a/ui/src/main/java/org/akraino/validation/ui/scheduler/Register.java b/ui/src/main/java/org/akraino/validation/ui/scheduler/Register.java new file mode 100644 index 0000000..633ef9e --- /dev/null +++ b/ui/src/main/java/org/akraino/validation/ui/scheduler/Register.java @@ -0,0 +1,87 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); you may not use + * this software except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing + * permissions and limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is + * licensed under the Creative Commons License, Attribution 4.0 Intl. (the + * "License"); you may not use this documentation except in compliance + * with the License. You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, + * documentation distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.akraino.validation.ui.scheduler; + +import java.util.ArrayList; +import java.util.List; + +import org.onap.portalapp.scheduler.LogRegistry; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; +import org.onap.portalsdk.core.scheduler.Registerable; +import org.onap.portalsdk.core.util.SystemProperties; +import org.quartz.Trigger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.DependsOn; +import org.springframework.stereotype.Component; + +@Component +@DependsOn({"logRegistry", "systemProperties"}) +public class Register implements Registerable { + + private static final EELFLoggerDelegate LOGGER = EELFLoggerDelegate.getLogger(Register.class); + + private List scheduleTriggers = new ArrayList<>(); + Trigger[] trigger = new Trigger[1]; + + @Autowired + private LogRegistry logRegistry; + + @Override + public Trigger[] getTriggers() { + return getScheduleTriggers().toArray(trigger); + } + + @Override + public void registerTriggers() { + // if the property value is not available; the cron will not be added. + if (SystemProperties.containsProperty(SystemProperties.LOG_CRON)) { + LOGGER.debug(EELFLoggerDelegate.debugLogger, "Adding log registry for cron property {}", + SystemProperties.getProperty(SystemProperties.LOG_CRON)); + getScheduleTriggers().add(logRegistry.getTrigger()); + } + } + + public List getScheduleTriggers() { + return scheduleTriggers; + } + + public void setScheduleTriggers(List scheduleTriggers) { + this.scheduleTriggers = scheduleTriggers; + } + +}