Skip to content

Commit

Permalink
[Optimize]
Browse files Browse the repository at this point in the history
Optimize the code for improved readability.
  • Loading branch information
keke125 committed Jun 10, 2023
1 parent 2f9d632 commit cbf9048
Show file tree
Hide file tree
Showing 7 changed files with 211 additions and 130 deletions.
23 changes: 16 additions & 7 deletions src/main/java/com/keke125/pixel/data/service/ImageService.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ public void deleteImageInfo(ImageInfo imageInfo, User user) {

public void deleteAllImageInfoByUser(User user) {
List<ImageInfo> imageInfoList =
imageInfoService.getRepository().findAllByOwnerName(user.getUsername());
imageInfoService.getRepository().findAllByOwnerName
(user.getUsername());
user.setImageSize(0.0);
user.setImageSizeLimit(0.0);
userService.update(user);
Expand Down Expand Up @@ -93,30 +94,38 @@ public void imageProcess(ImageInfo entity, User user) {
// get current directory
Path workingDirectoryPath = Util.getRootPath();
File originalImageDirectoryFile =
new File(workingDirectoryPath.toAbsolutePath() + File.separator + "images" + File.separator + user.getId() + File.separator + "original");
new File(workingDirectoryPath.toAbsolutePath() +
File.separator + "images" + File.separator +
user.getId() + File.separator + "original");
String newFileName = instantNow + "-" + entity.getUploadImageName();
String newFileNameHashed = DigestUtils.sha256Hex(newFileName);
newFileNameHashed = newFileNameHashed.substring(0, 8);
// PixelTransform
File generatedImageDirectoryFile =
new File(workingDirectoryPath.toAbsolutePath() + File.separator + "images" + File.separator + user.getId() + File.separator + "generated");
new File(workingDirectoryPath.toAbsolutePath() +
File.separator + "images" + File.separator +
user.getId() + File.separator + "generated");
Tika tika = new Tika();
String mimeType;
mimeType = tika.detect(entity.getImageOriginalFile());
File newFile;
String newFileFullName;
if (acceptedImageFormat.contains(mimeType)) {
newFileFullName =
newFileNameHashed + "." + FilenameUtils.getExtension(entity.getImageOriginalName());
newFileNameHashed + "." + FilenameUtils.getExtension
(entity.getImageOriginalName());
} else {
newFileFullName = newFileNameHashed + "." + "jpg";
}
if (generatedImageDirectoryFile.mkdirs() || generatedImageDirectoryFile.exists()) {
if (generatedImageDirectoryFile.mkdirs() ||
generatedImageDirectoryFile.exists()) {
newFile =
new File(generatedImageDirectoryFile.toPath().resolve(newFileFullName).toAbsolutePath().toString());
new File(generatedImageDirectoryFile.toPath().resolve
(newFileFullName).toAbsolutePath().toString());
} else {
newFile =
new File(originalImageDirectoryFile.toPath().resolve(newFileFullName).toAbsolutePath().toString());
new File(originalImageDirectoryFile.toPath().resolve
(newFileFullName).toAbsolutePath().toString());
}
Mat imgMat = Imgcodecs.imread(entity.getImageOriginalFile());
PixelTransform.saveImg(PixelTransform.transform(imgMat,
Expand Down
34 changes: 22 additions & 12 deletions src/main/java/com/keke125/pixel/views/about/AboutView.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.i18n.LocaleChangeEvent;
import com.vaadin.flow.i18n.LocaleChangeObserver;
import com.vaadin.flow.router.*;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.auth.AnonymousAllowed;
import com.vaadin.flow.theme.lumo.LumoUtility.Margin;
import org.jsoup.Jsoup;
Expand Down Expand Up @@ -446,28 +447,36 @@ public AboutView(AppConfig appConfig) {
"<li>By email: " + appConfig.getAdminContactEmail() + "</li>" +
"</ul>", Safelist.basic());
privacyTextTC = Jsoup.clean("<div class=statement textzone>" +
"<p>歡迎您使用「" + appConfig.getWebNameTC() + " (網址為: " + appConfig.getWebLink()
+ " )" +
"」(以下簡稱本網站),為了讓您能夠安心的使用本網站的各項服務與資訊,特此向您說明本網站的隱私權保護政策,以保障您的權益,請您詳閱下列內容:</p>"
"<p>歡迎您使用「" + appConfig.getWebNameTC() + " (網址為: " +
appConfig.getWebLink() + " )" +
"」(以下簡稱本網站),為了讓您能夠安心的使用本網站的各項服務與資訊," +
"特此向您說明本網站的隱私權保護政策,以保障您的權益,請您詳閱下列內容:</p>"
+ "<p>一、隱私權保護政策的適用範圍</p>" +
"<p class=p2" +
">隱私權保護政策內容,包括本網站如何處理在您使用網站服務時蒐集到的個人識別資料。隱私權保護政策不適用於本網站以外的相關連結網站," +
">隱私權保護政策內容,包括本網站如何處理在您使用網站服務時蒐集到的個人識別資料"
+ "。隱私權保護政策不適用於本網站以外的相關連結網站," +
"也不適用於非本網站所委託或參與管理的人員。</p>" +
"<p>二、個人資料的蒐集、處理及利用方式</p>" +
"<p class=p1 " +
"p3>(一)當您使用本網站時,我們將視使用情形請您提供必要的個人資料,且原則上於蒐集個人資料之特定目的必要範圍內處理或利用您的個人資料。</p>" +
"<p class=p1 p3>(二)本網站在您註冊時,會保留您所提供的姓名、電子郵件地址、使用時間等。</p>" +
"p3>(一)當您使用本網站時,我們將視使用情形請您提供必要的個人資料," +
"且原則上於蒐集個人資料之特定目的必要範圍內處理或利用您的個人資料。</p>" +
"<p class=p1 p3>(二)本網站在您註冊時,會保留您所提供的姓名、電子郵件地址" +
"、使用時間等。</p>" +
"<p class=p1 p3>(三)於一般瀏覽時,伺服器會自行記錄相關行徑,包括您使用連線設備的 IP " +
"位址、使用時間、使用的瀏覽器、瀏覽及點選資料記錄等,做為我們增進網站服務的參考依據,此記錄為內部應用,絕不對外公布。</p>" +
"位址、使用時間、使用的瀏覽器、瀏覽及點選資料記錄等,做為我們增進網站服務的參考依據"
+ ",此記錄為內部應用,絕不對外公布。</p>" +
"<p>三、 資料之保護</p>" +
"<p class=p1 " +
"p3>(一)本網站主機均設有防火牆、防毒系統等相關的各項資訊安全設備及必要的安全防護措施,加以保護網站及您的個人資料採用嚴格的保護措施,只由經過授權的人員才能接觸您的個人資料" +
"p3>(一)本網站主機均設有防火牆、防毒系統等相關的各項資訊安全設備及必要的安全防護措施,"
+ "加以保護網站及您的個人資料採用嚴格的保護措施,只由經過授權的人員才能接觸您的個人資料" +
",相關處理人員皆簽有保密合約,如有違反保密義務者,將會受到相關的法律處分。</p>" +
"<p class=p1 " +
"p3>(二)如因業務需要有必要委託本網站相關單位提供服務時,本網站亦會嚴格要求其遵守保密義務,並且採取必要檢查程序以確定其將確實遵守。</p>" +
"p3>(二)如因業務需要有必要委託本網站相關單位提供服務時,本網站亦會嚴格要求其遵守保密義務"
+ ",並且採取必要檢查程序以確定其將確實遵守。</p>" +
"<p>四、 網站對外的相關連結 </p>" +
"<p class=p2" +
">本網站的網頁提供其他網站的網路連結,您也可經由本網站所提供的連結,點選進入其他網站。但該連結網站不適用本網站的隱私權保護政策" +
">本網站的網頁提供其他網站的網路連結,您也可經由本網站所提供的連結,點選進入其他網站。"
+ "但該連結網站不適用本網站的隱私權保護政策" +
",您必須參考該連結網站中的隱私權保護政策。</p>" +
"<p>五、 與第三人共用個人資料之政策</p>" +
"<p class=p1 p3>(一)本網站絕不會提供、交換、出租或出售任何您" +
Expand All @@ -478,7 +487,8 @@ public AboutView(AppConfig appConfig) {
"<li>法律明文規定。</li>" +
"<li>為維護國家安全或增進公共利益所必要。</li>" +
"<li>為免除您生命、身體、自由或財產上之危險。</li>" +
"<li>公務機關或學術研究機構基於公共利益為統計或學術研究而有必要,且資料經過提供者處理後或經蒐集者依其揭露方式無從識別特定之當事人。</li>" +
"<li>公務機關或學術研究機構基於公共利益為統計或學術研究而有必要," +
"且資料經過提供者處理後或經蒐集者依其揭露方式無從識別特定之當事人。</li>" +
"<li>當您在本網站的行為,違反本網站的服務條款或可能損害或妨礙本網站權益或導致任何人遭受損害時," +
"經本網站研析揭露您的個人資料是為了辨識、聯絡或採取法律行動所必要者。</li>" +
"<li>有利於您的權益。</li>" +
Expand Down
62 changes: 39 additions & 23 deletions src/main/java/com/keke125/pixel/views/gallery/GalleryViewCard.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,22 +92,27 @@ public GalleryViewCard(ImageService imageService, ImageInfo imageInfo,
// create stream resource from image file bytes
StreamResource generatedResource;
if (!FilenameUtils.getExtension
(imageInfo.getUploadImageName()).equals(FilenameUtils.getExtension
(generatedFile.getName()))) {
(imageInfo.getUploadImageName()).equals
(FilenameUtils.getExtension(generatedFile.getName()))) {
generatedResource =
new StreamResource("generated-" + FilenameUtils.removeExtension
(imageInfo.getUploadImageName()) + ".jpg", () -> {
new StreamResource("generated-" +
FilenameUtils.removeExtension
(imageInfo.getUploadImageName()) + ".jpg"
, () -> {
try {
return new ByteArrayInputStream(Files.readAllBytes(generatedFile.toPath()));
return new ByteArrayInputStream
(Files.readAllBytes(generatedFile.toPath()));
} catch (IOException e) {
throw new RuntimeException(e);
}
});
} else {
generatedResource =
new StreamResource("generated-" + imageInfo.getUploadImageName(), () -> {
new StreamResource("generated-" +
imageInfo.getUploadImageName(), () -> {
try {
return new ByteArrayInputStream(Files.readAllBytes(generatedFile.toPath()));
return new ByteArrayInputStream
(Files.readAllBytes(generatedFile.toPath()));
} catch (IOException e) {
throw new RuntimeException(e);
}
Expand All @@ -118,9 +123,11 @@ public GalleryViewCard(ImageService imageService, ImageInfo imageInfo,
// create stream resource from image file bytes
StreamResource originalResource;
originalResource =
new StreamResource("original-" + imageInfo.getUploadImageName(), () -> {
new StreamResource("original-" +
imageInfo.getUploadImageName(), () -> {
try {
return new ByteArrayInputStream(Files.readAllBytes(originalFile.toPath()));
return new ByteArrayInputStream
(Files.readAllBytes(originalFile.toPath()));
} catch (IOException e) {
throw new RuntimeException(e);
}
Expand Down Expand Up @@ -177,15 +184,17 @@ public GalleryViewCard(ImageService imageService, ImageInfo imageInfo,
if (getLocale().equals(Translator.LOCALE_ZHT)) {
smooth = new Span(translator.getTranslation("Smooth",
UI.getCurrent().getLocale()) +
PixelTransformView.Smooth.valueToName(imageInfo.getSmooth(), "TC") + ": ");
PixelTransformView.Smooth.valueToName(imageInfo.getSmooth(),
"TC") + ": ");
edgeCrispening = new Span(translator.getTranslation("Edge" +
"-crispening", UI.getCurrent().getLocale()) +
PixelTransformView.EdgeCrispening.valueToName
(imageInfo.getEdgeCrispening(), "TC") + ": ");
} else {
smooth = new Span(translator.getTranslation("Smooth",
UI.getCurrent().getLocale()) + PixelTransformView.Smooth.valueToName
(imageInfo.getSmooth(), "EN") + ": ");
UI.getCurrent().getLocale()) +
PixelTransformView.Smooth.valueToName
(imageInfo.getSmooth(), "EN") + ": ");
edgeCrispening = new Span(translator.getTranslation("Edge" +
"-crispening", UI.getCurrent().getLocale()) +
PixelTransformView.EdgeCrispening.valueToName
Expand All @@ -195,7 +204,8 @@ public GalleryViewCard(ImageService imageService, ImageInfo imageInfo,
UI.getCurrent().getLocale()) + imageInfo.getSaturation() + ":" +
" ");
contrastRatio = new Span(translator.getTranslation("Contras-ratio",
UI.getCurrent().getLocale()) + imageInfo.getContrastRatio() + ": ");
UI.getCurrent().getLocale()) +
imageInfo.getContrastRatio() + ": ");
VerticalLayout parameterLayout = new VerticalLayout(colorNumber,
pixelSize, smooth, edgeCrispening, saturation, contrastRatio);
parameterLayout.setSpacing(false);
Expand Down Expand Up @@ -251,35 +261,41 @@ public void localeChange(LocaleChangeEvent localeChangeEvent) {
UI.getCurrent().getLocale()));
detailButton.setText(translator.getTranslation("View-Details",
UI.getCurrent().getLocale()));
imagesTabs.getTabAt(0).setLabel(translator.getTranslation("Original",
UI.getCurrent().getLocale()));
imagesTabs.getTabAt(1).setLabel(translator.getTranslation("Generated"
, UI.getCurrent().getLocale()));
imagesTabs.getTabAt(0).setLabel(translator.getTranslation
("Original",
UI.getCurrent().getLocale()));
imagesTabs.getTabAt(1).setLabel(translator.getTranslation
("Generated"
, UI.getCurrent().getLocale()));
colorNumber.setText(translator.getTranslation("Color-number",
UI.getCurrent().getLocale()) + ": " + imageInfo.getColorNumber());
pixelSize.setText(translator.getTranslation("Pixel-size",
UI.getCurrent().getLocale()) + ": " + imageInfo.getPixelSize());
if (getLocale().equals(Translator.LOCALE_ZHT)) {
smooth.setText(translator.getTranslation("Smooth",
UI.getCurrent().getLocale()) + ": " + PixelTransformView.Smooth.valueToName
(imageInfo.getSmooth(), "TC"));
UI.getCurrent().getLocale()) + ": " +
PixelTransformView.Smooth.valueToName
(imageInfo.getSmooth(), "TC"));
edgeCrispening.setText(translator.getTranslation("Edge-crispening"
, UI.getCurrent().getLocale()) + ": " +
PixelTransformView.EdgeCrispening.valueToName
(imageInfo.getEdgeCrispening(), "TC"));
} else {
smooth.setText(translator.getTranslation("Smooth",
UI.getCurrent().getLocale()) + ": " + PixelTransformView.Smooth.valueToName
(imageInfo.getSmooth(), "EN"));
UI.getCurrent().getLocale()) + ": " +
PixelTransformView.Smooth.valueToName
(imageInfo.getSmooth(), "EN"));
edgeCrispening.setText(translator.getTranslation("Edge-crispening"
, UI.getCurrent().getLocale()) + ": " +
PixelTransformView.EdgeCrispening.valueToName
(imageInfo.getEdgeCrispening(), "EN"));
}
saturation.setText(translator.getTranslation("Saturation",
UI.getCurrent().getLocale()) + ": " + imageInfo.getSaturation());
UI.getCurrent().getLocale()) + ": " +
imageInfo.getSaturation());
contrastRatio.setText(translator.getTranslation("Contras-ratio",
UI.getCurrent().getLocale()) + ": " + imageInfo.getContrastRatio());
UI.getCurrent().getLocale()) + ": " +
imageInfo.getContrastRatio());
parameterDetails.setSummaryText(translator.getTranslation("Image" +
"-transform-parameter", UI.getCurrent().getLocale()));
downloadOriginal.removeAll();
Expand Down

0 comments on commit cbf9048

Please sign in to comment.