diff options
author | 2018-05-01 16:45:26 -0400 | |
---|---|---|
committer | 2018-05-02 10:13:01 -0400 | |
commit | c607da68bfb7f7440d5be7f0396609dc01eb0e90 (patch) | |
tree | 91b39c4441c0493a37266ea69aeec02ae1a5b463 /ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util | |
parent | 7e399e6eb44d52975f12ae35fd064c0b40b43912 (diff) |
Changes for 2.4.0-SNAPSHOT
Issue-ID: PORTAL-210
Included the pom changes for 2.4.0-SNAPSHOT, music and AAF changes.
Change-Id: Ib1e1c2679271aa40eb3b50397724e8cdc5ffe01c
Signed-off-by: sa282w <sa282w@att.com>
Diffstat (limited to 'ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util')
3 files changed, 108 insertions, 0 deletions
diff --git a/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicCleanUp.java b/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicCleanUp.java new file mode 100644 index 00000000..aab04eaf --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicCleanUp.java @@ -0,0 +1,62 @@ +/* + * ============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.onap.portalapp.music.util; + +import java.util.Date; + +public class MusicCleanUp { + private static volatile MusicCleanUp musicCleanUp = new MusicCleanUp(); + // private constructor restricted to this class itself + private MusicCleanUp(){ + } + + private Date lastCleanUpTime = new Date(); + + public static MusicCleanUp getInstance(){ + return musicCleanUp; + } + + public Date getLastCleanUpTime(){ + return lastCleanUpTime; + } + + public synchronized void updateLastCleanUpTimeToCurrent() { + lastCleanUpTime = new Date(); + } +} diff --git a/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicProperties.java b/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicProperties.java index bdc9c543..802634b6 100644 --- a/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicProperties.java +++ b/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicProperties.java @@ -93,6 +93,12 @@ public class MusicProperties { public static final String MUSIC_ATOMIC_POST = "music.atomic.post"; + public static final String MUSIC_EXCLUDE_API = "music.exclude.api"; + + public static final String MUSIC_CLEAN_UP_FREQUENCY = "music.cleanup.frequency"; + + public static final String MUSIC_CLEAN_UP_THRESHOLD = "music.cleanup.threshold"; + public static final String SESSION_MAX_INACTIVE_INTERVAL_SECONDS = "music.session.max.inactive.interval.seconds"; public static final String ATTRIBUTE_NAME = "ATTRIBUTE_NAME"; diff --git a/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicUtil.java b/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicUtil.java index 2744796e..ff1edb74 100644 --- a/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicUtil.java +++ b/ecomp-sdk/epsdk-music/src/main/java/org/onap/portalapp/music/util/MusicUtil.java @@ -46,6 +46,7 @@ import java.nio.ByteBuffer; import java.time.Duration; import java.time.Instant; import java.util.Arrays; +import java.util.Date; import java.util.HashSet; import java.util.Set; import java.util.zip.GZIPInputStream; @@ -64,6 +65,7 @@ public class MusicUtil { private static String atomicPut = MusicProperties.getProperty(MusicProperties.MUSIC_ATOMIC_PUT); private static String atomicGet = MusicProperties.getProperty(MusicProperties.MUSIC_ATOMIC_GET); private static String cached = MusicProperties.getProperty(MusicProperties.MUSIC_CACHE); + private static String cleanUpFreq = MusicProperties.getProperty(MusicProperties.MUSIC_CLEAN_UP_FREQUENCY); private static String musicSerializeCompress = MusicProperties.getProperty(MusicProperties.MUSIC_SERIALIZE_COMPRESS); public static boolean isSessionMetaAttr(String key){ return sessionAttrNameSet.contains(key); @@ -127,6 +129,23 @@ public class MusicUtil { musicSession.setMaxInactiveInterval(Duration.parse(row.getString("max_inactive_interval"))); return musicSession; } + + public static Set<String> getMusicExcludedAPI(){ + Set<String> excludedApiSet = new HashSet<>(); + String musicExcludedApi = MusicProperties.getProperty(MusicProperties.MUSIC_EXCLUDE_API); + String[] musicExcludedApiArray = musicExcludedApi.split(","); + if(musicExcludedApiArray.length>0){ + for(String str : musicExcludedApiArray){ + excludedApiSet.add(str.trim()); + } + } + return excludedApiSet; + } + + public static boolean isExcludedApi(String api){ + Set<String> excludedApiSet = getMusicExcludedAPI(); + return excludedApiSet.contains(api); + } public static boolean isMusicSerializeCompress(){ if(musicSerializeCompress==null){ @@ -159,4 +178,25 @@ public class MusicUtil { } return cached.trim().equalsIgnoreCase("true"); } + + public static int convertHoursToMillSec(int hour){ + return hour*3600000; + } + + public static boolean cleanUp(){ + Date lastCleanUpDate = MusicCleanUp.getInstance().getLastCleanUpTime(); + if(lastCleanUpDate==null) + return false; + else{ + int cleanUpDurationMili = convertHoursToMillSec(Integer.valueOf(cleanUpFreq)); + Date currentTime = new Date(); + long diffInMillies = Math.abs(currentTime.getTime() - lastCleanUpDate.getTime()); + if(diffInMillies > cleanUpDurationMili){ + MusicCleanUp.getInstance().updateLastCleanUpTimeToCurrent(); + return true; + } + else + return false; + } + } } |