Skip to content

Commit

Permalink
Merge pull request #278 from dlsc-software-consulting-gmbh/staging
Browse files Browse the repository at this point in the history
Removed videos.
  • Loading branch information
dlemmermann authored Aug 29, 2023
2 parents d69059d + cb6f828 commit 25e84e0
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 181 deletions.
152 changes: 7 additions & 145 deletions src/main/java/com/dlsc/jfxcentral/data/ImageManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,22 @@
import java.time.ZonedDateTime;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.logging.Logger;

public class ImageManager {

private static final Logger LOG = Logger.getLogger(ImageManager.class.getName());


private static final String MISSING_USER = ImageManager.class.getResource("missing-user.png").toExternalForm();
private static final String MISSING_USER = Objects.requireNonNull(ImageManager.class.getResource("missing-user.png")).toExternalForm();

private static final Image MISSING_USER_IMAGE = new Image(MISSING_USER);

private static final String MISSING = ImageManager.class.getResource("missing-image.jpg").toExternalForm();
private static final String MISSING = Objects.requireNonNull(ImageManager.class.getResource("missing-image.jpg")).toExternalForm();

private static final Image MISSING_IMAGE = new Image(MISSING);

private static final String MISSING_VIDEO = ImageManager.class.getResource("missing-video.png").toExternalForm();
private static final String MISSING_VIDEO = Objects.requireNonNull(ImageManager.class.getResource("missing-video.png")).toExternalForm();

private static final Image MISSING_VIDEO_IMAGE = new Image(MISSING_VIDEO);

Expand All @@ -67,72 +67,58 @@ public File tipBannerFile(Tip tip) {
}

public File blogPageFile(Blog blog) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "page-small.png", "blog-page-" + blog.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "page-small.png");
}

public File blogIconFile(Blog blog) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "icon.png", "blog-icon-" + blog.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "icon.png");
}

public File realWorldAppFile(RealWorldApp app) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "small.jpg", "real-" + app.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "small.jpg");
}

public File realWorldAppLargeFile(RealWorldApp app) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "large.jpg", "real-large-" + app.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "large.jpg");
}

public File realWorldAppBannerFile(RealWorldApp app) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "banner.jpg", "real-banner-" + app.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "banner.jpg");
}

public File blogPageLargeFile(Blog blog) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "page.png", "blog-large-" + blog.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "page.png");
}

public File personFile(Person person) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "people/" + person.getId() + "/"), "photo.jpeg", "person-" + person.getId());
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "people/" + person.getId() + "/"), "photo.jpeg");
}

public File memberFile(Member member) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "members/" + member.getId() + "/"), "photo.jpeg", "member-" + member.getId());
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "members/" + member.getId() + "/"), "photo.jpeg");
}

public File toolFile(Tool tool) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tools/" + tool.getId() + "/"), "logo.png", "tool-" + tool.getId());
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "tools/" + tool.getId() + "/"), "logo.png");
}

public File companyFile(Company company) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "companies/" + company.getId() + "/"), "logo.png", "company-" + company.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "companies/" + company.getId() + "/"), "logo.png");
}

public File tutorialFile(Tutorial tutorial) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "small.png", "tutorial-" + tutorial.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "small.png");
}

public File tutorialLargeFile(Tutorial tutorial) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "large.png", "tutorial-large-" + tutorial.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "large.png");
}

public File bookCoverFile(Book book) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "books/" + book.getId() + "/"), "cover.jpg", "book-" + book.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "books/" + book.getId() + "/"), "cover.jpg");
}

public File libraryFile(Library library) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), "logo.png", "library-" + library.getId(), MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), "logo.png");
}

Expand All @@ -148,14 +134,9 @@ private File localImageFile(File directory, String photoFileName) {
}

public File libraryFile(Library library, String imagePath) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), imagePath, imagePath, MISSING_IMAGE);
return localImageFile(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), imagePath);
}





public ObjectProperty<Image> newsBannerImageProperty(News news) {
File file = newsBannerFile(news);
return fileToImageProperty(file, MISSING_IMAGE);
Expand All @@ -177,79 +158,66 @@ public ObjectProperty<Image> blogPageImageProperty(Blog blog) {
}

public ObjectProperty<Image> blogIconImageProperty(Blog blog) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "icon.png", "blog-icon-" + blog.getId(), MISSING_IMAGE);
File file = blogIconFile(blog);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> realWorldAppImageProperty(RealWorldApp app) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "small.jpg", "real-" + app.getId(), MISSING_IMAGE);
File file = realWorldAppFile(app);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> realWorldAppLargeImageProperty(RealWorldApp app) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "large.jpg", "real-large-" + app.getId(), MISSING_IMAGE);
File file = realWorldAppLargeFile(app);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> realWorldAppBannerImageProperty(RealWorldApp app) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "banner.jpg", "real-banner-" + app.getId(), MISSING_IMAGE);
File file = realWorldAppBannerFile(app);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> blogPageLargeImageProperty(Blog blog) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "page.png", "blog-large-" + blog.getId(), MISSING_IMAGE);
File file = blogPageLargeFile(blog);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> personImageProperty(Person person) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "people/" + person.getId() + "/"), "photo.jpeg", "person-" + person.getId());
File file = personFile(person);
return fileToImageProperty(file, null);
}

public ObjectProperty<Image> memberImageProperty(Member member) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "members/" + member.getId() + "/"), "photo.jpeg", "member-" + member.getId());
File file = memberFile(member);
return fileToImageProperty(file, null);
}

public ObjectProperty<Image> toolImageProperty(Tool tool) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tools/" + tool.getId() + "/"), "logo.png", "tool-" + tool.getId());
File file = toolFile(tool);
return fileToImageProperty(file, null);
}

public ObjectProperty<Image> companyImageProperty(Company company) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "companies/" + company.getId() + "/"), "logo.png", "company-" + company.getId(), MISSING_IMAGE);
File file = companyFile(company);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> tutorialImageProperty(Tutorial tutorial) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "small.png", "tutorial-" + tutorial.getId(), MISSING_IMAGE);
File file = tutorialFile(tutorial);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> tutorialImageLargeProperty(Tutorial tutorial) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "large.png", "tutorial-large-" + tutorial.getId(), MISSING_IMAGE);
File file = tutorialLargeFile(tutorial);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> bookCoverImageProperty(Book book) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "books/" + book.getId() + "/"), "cover.jpg", "book-" + book.getId(), MISSING_IMAGE);
File file = bookCoverFile(book);
return fileToImageProperty(file, MISSING_IMAGE);
}

public ObjectProperty<Image> libraryImageProperty(Library library) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), "logo.png", "library-" + library.getId(), MISSING_IMAGE);
if (!library.isLogoAvailable()) {
// original behaviour
return new SimpleObjectProperty<>();
Expand All @@ -259,7 +227,6 @@ public ObjectProperty<Image> libraryImageProperty(Library library) {
}

public ObjectProperty<Image> libraryImageProperty(Library library, String imagePath) {
//return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), imagePath, imagePath, MISSING_IMAGE);
File file = libraryFile(library, imagePath);
return fileToImageProperty(file, MISSING_IMAGE);
}
Expand Down Expand Up @@ -293,8 +260,9 @@ public ObjectProperty<Image> fileToImageProperty(File file, Image placeholderIma
return property;
}



/*
* REMOTE IMAGE SUPPORT.
*/

public String youTubeImageURL(Video video) {
return "https://img.youtube.com/vi/" + video.getId() + "/0.jpg";
Expand All @@ -305,13 +273,10 @@ public ObjectProperty<Image> youTubeImageProperty(Video video) {
return remoteImageProperty(youTubeImageURL(video), video.getId(), MISSING_VIDEO_IMAGE, 480, 360);
}


public ObjectProperty<Image> githubAvatarImageProperty(String loginName) {
return remoteImageProperty("https://github.com/" + loginName + ".png","&size=100", "github-" + loginName, MISSING_USER_IMAGE, 100, 100);
}



private Map<String, ObjectProperty<Image>> remoteImageCache = new HashMap<>();

private ObjectProperty<Image> remoteImageProperty(String baseURL, String photoKey, Image placeholderImage, int width, int height) {
Expand Down Expand Up @@ -360,107 +325,4 @@ private ObjectProperty<Image> remoteImageProperty(String imageUrl, String append
return property;
});
}

/*
public ObjectProperty<Image> blogPageImageProperty(Blog blog) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "page-small.png", "blog-page-" + blog.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> blogIconImageProperty(Blog blog) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "icon.png", "blog-icon-" + blog.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> realWorldAppImageProperty(RealWorldApp app) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "small.jpg", "real-" + app.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> realWorldAppLargeImageProperty(RealWorldApp app) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "large.jpg", "real-large-" + app.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> realWorldAppBannerImageProperty(RealWorldApp app) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "realworld/" + app.getId() + "/"), "banner.jpg", "real-banner-" + app.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> blogPageLargeImageProperty(Blog blog) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "blogs/" + blog.getId() + "/"), "page.png", "blog-large-" + blog.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> personImageProperty(Person person) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "people/" + person.getId() + "/"), "photo.jpeg", "person-" + person.getId());
}
public ObjectProperty<Image> toolImageProperty(Tool tool) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tools/" + tool.getId() + "/"), "logo.png", "tool-" + tool.getId());
}
public ObjectProperty<Image> companyImageProperty(Company company) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "companies/" + company.getId() + "/"), "logo.png", "company-" + company.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> tutorialImageProperty(Tutorial tutorial) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "small.png", "tutorial-" + tutorial.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> tutorialImageLargeProperty(Tutorial tutorial) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "tutorials/" + tutorial.getId() + "/"), "large.png", "tutorial-large-" + tutorial.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> bookCoverImageProperty(Book book) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "books/" + book.getId() + "/"), "cover.jpg", "book-" + book.getId(), MISSING_IMAGE);
}
public ObjectProperty<Image> libraryImageProperty(Library library) {
if (library.isLogoAvailable()) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), "logo.png", "library-" + library.getId(), MISSING_IMAGE);
}
return new SimpleObjectProperty<>();
}
public ObjectProperty<Image> libraryImageProperty(Library library, String imagePath) {
return localImageProperty(new File(DataRepository.getInstance().getRepositoryDirectory(), "libraries/" + library.getId() + "/"), imagePath, imagePath, MISSING_IMAGE);
}
public ObjectProperty<Image> youTubeImageProperty(Video video) {
return remoteImageProperty("https://img.youtube.com/vi/" + video.getId(), "/0.jpg", video.getId(), MISSING_VIDEO_IMAGE);
}
public ObjectProperty<Image> githubAvatarImageProperty(String loginName) {
return remoteImageProperty("https://github.com/", loginName + ".png", "&size=100", "github-" + loginName, MISSING_USER_IMAGE);
}
ObjectProperty<Image> localImageProperty(File baseURL, String photoFileName, String photoKey) {
return localImageProperty(baseURL, photoFileName, photoKey, null);
}
ObjectProperty<Image> localImageProperty(File baseURL, String photoFileName, String photoKey, Image placeholderImage) {
return localImageProperty(baseURL, photoFileName, "", photoKey, placeholderImage);
}
ObjectProperty<Image> localImageProperty(File directory, String photoFileName, String append, String photoKey, Image placeholderImage) {
if (StringUtils.isBlank(photoFileName) || StringUtils.isBlank(photoKey)) {
return new SimpleObjectProperty<>(placeholderImage);
}
ObjectProperty<Image> property = new SimpleObjectProperty<>();
File file = new File(directory, photoFileName);
try (FileInputStream in = new FileInputStream(file)) {
LOG.fine("loading image from local repository: " + file.toURI().toURL().toExternalForm());
Image image = new Image(in);
if (image.getException() != null) {
throw image.getException();
}
property.set(image);
} catch (Exception e) {
e.printStackTrace();
}
return property;
}
*/
}
Loading

0 comments on commit 25e84e0

Please sign in to comment.