001
014
015 package com.liferay.portal.fabric.repository;
016
017 import com.liferay.portal.kernel.util.CharPool;
018 import com.liferay.portal.kernel.util.StringBundler;
019 import com.liferay.portal.kernel.util.StringPool;
020
021 import java.nio.file.Path;
022
023 import java.util.concurrent.atomic.AtomicLong;
024
025
028 public class RepositoryHelperUtil {
029
030 public static Path getRepositoryFilePath(
031 Path repositoryPath, Path remoteFilePath) {
032
033 Path fileNamePath = remoteFilePath.getFileName();
034
035 String name = fileNamePath.toString();
036
037 int index = name.lastIndexOf(CharPool.PERIOD);
038
039 if (index == -1) {
040 StringBundler sb = new StringBundler(5);
041
042 sb.append(name);
043 sb.append(StringPool.DASH);
044 sb.append(System.currentTimeMillis());
045 sb.append(StringPool.DASH);
046 sb.append(idGenerator.getAndIncrement());
047
048 return repositoryPath.resolve(sb.toString());
049 }
050
051 StringBundler sb = new StringBundler(6);
052
053 sb.append(name.substring(0, index));
054 sb.append(StringPool.DASH);
055 sb.append(System.currentTimeMillis());
056 sb.append(StringPool.DASH);
057 sb.append(idGenerator.getAndIncrement());
058 sb.append(name.substring(index));
059
060 return repositoryPath.resolve(sb.toString());
061 }
062
063 protected static final AtomicLong idGenerator = new AtomicLong();
064
065 }