Example usage for org.apache.commons.lang3 StringUtils isNumeric

List of usage examples for org.apache.commons.lang3 StringUtils isNumeric

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils isNumeric.

Prototype

public static boolean isNumeric(final CharSequence cs) 

Source Link

Document

Checks if the CharSequence contains only Unicode digits.

Usage

From source file:org.yamj.core.api.model.dto.ApiVideoDTO.java

public void setFirstAired(String firstAired) {
    if (StringUtils.isNotBlank(firstAired) && firstAired.length() >= 4) {
        String year = firstAired.substring(0, 4);
        if (StringUtils.isNumeric(year)) {
            setVideoYear(Integer.parseInt(year));
        }//from   w  w  w .  j ava 2 s  .  c om
    }
}

From source file:org.yamj.core.hibernate.HibernateDao.java

/**
 * Convert row object to Integer./*from  w w  w .j a va2 s .c om*/
 *
 * @param rowElement
 * @return <code>Integer</code>
 */
protected Integer convertRowElementToInteger(Object rowElement) {
    if (rowElement == null) {
        return Integer.valueOf(0);
    } else if (StringUtils.isNumeric(rowElement.toString())) {
        return Integer.valueOf(rowElement.toString());
    } else {
        return Integer.valueOf(0);
    }
}

From source file:org.yamj.core.hibernate.HibernateDao.java

/**
 * Convert row object to Long.//from w ww. ja v  a 2  s . c  o  m
 *
 * @param rowElement
 * @return <code>Long</code>
 */
protected Long convertRowElementToLong(Object rowElement) {
    if (rowElement == null) {
        return Long.valueOf(0);
    } else if (StringUtils.isNumeric(rowElement.toString())) {
        return Long.valueOf(rowElement.toString());
    } else {
        return Long.valueOf(0);
    }
}

From source file:org.yamj.core.service.artwork.ArtworkInitialization.java

@Override
public void afterPropertiesSet() throws Exception {
    String[] defaultProfiles = PropertyTools.getProperty("artwork.scanner.default.profiles", "").split(",");
    if (defaultProfiles.length > 0) {
        for (String defaultProfile : defaultProfiles) {
            String name = defaultProfile;
            boolean valid = true;

            String type = PropertyTools.getProperty("artwork.profile." + name + ".type",
                    ArtworkType.UNKNOWN.toString());
            ArtworkType artworkType = ArtworkType.fromString(type);
            if (ArtworkType.UNKNOWN == artworkType) {
                LOG.warn("Property 'artwork.profile.{}.type' denotes invalid artwork type: {}", name, type);
                valid = false;//  w  w w.j  av  a 2  s  .  c o  m
            }

            String width = PropertyTools.getProperty("artwork.profile." + name + ".width");
            if (!StringUtils.isNumeric(width)) {
                LOG.warn("Property 'artwork.profile.{}.width' is not numeric: {}", name, width);
                valid = false;
            }

            String height = PropertyTools.getProperty("artwork.profile." + name + ".height");
            if (!StringUtils.isNumeric(width)) {
                LOG.warn("Property 'artwork.profile.{}.height' is not numeric: {}", name, height);
                valid = false;
            }

            if (!valid) {
                LOG.warn("Profile {} has no valid setup, so skipping", name);
                continue;
            }

            ArtworkProfile artworkProfile = new ArtworkProfile();
            artworkProfile.setProfileName(name);
            artworkProfile.setArtworkType(artworkType);
            artworkProfile.setWidth(Integer.parseInt(width));
            artworkProfile.setHeight(Integer.parseInt(height));
            artworkProfile.setApplyToMovie(PropertyTools
                    .getBooleanProperty("artwork.profile." + name + ".applyToMovie", Boolean.FALSE));
            artworkProfile.setApplyToSeries(PropertyTools
                    .getBooleanProperty("artwork.profile." + name + ".applyToSeries", Boolean.FALSE));
            artworkProfile.setApplyToSeason(PropertyTools
                    .getBooleanProperty("artwork.profile." + name + ".applyToSeason", Boolean.FALSE));
            artworkProfile.setApplyToEpisode(PropertyTools
                    .getBooleanProperty("artwork.profile." + name + ".applyToEpisode", Boolean.FALSE));
            artworkProfile.setApplyToPerson(PropertyTools
                    .getBooleanProperty("artwork.profile." + name + ".applyToPerson", Boolean.FALSE));
            artworkProfile.setPreProcess(
                    PropertyTools.getBooleanProperty("artwork.profile." + name + ".preProcess", Boolean.FALSE));

            try {
                // call another service to handle transactions
                this.artworkStorageService.storeArtworkProfile(artworkProfile);
            } catch (Exception error) {
                LOG.error("Failed to store artwork profile {}", artworkProfile);
                LOG.warn("Storage error", error);
            }
        }
    }
}

From source file:org.yamj.core.service.artwork.ArtworkScannerService.java

private List<ArtworkLocated> scanPhotoOnline(Artwork artwork) {
    LOG.debug("Scan online for photo: {}", artwork);

    List<ArtworkDetailDTO> photos = null;

    for (String prio : PHOTO_PRIORITIES) {
        IPhotoScanner scanner = registeredPhotoScanner.get(prio);
        if (scanner != null) {
            LOG.debug(USE_SCANNER_FOR, scanner.getScannerName(), artwork);
            Person person = artwork.getPerson();
            if (person == null) {
                LOG.warn("No associated person found for artwork: {}", artwork);
            } else {
                String id = person.getPersonId(prio);
                LOG.info("Scanning for person ID: {}-{}", prio, id);
                if (StringUtils.isNumeric(id)) {
                    photos = scanner.getPhotos(Integer.parseInt(id));
                } else {
                    // Id looks to be invalid, so look it up
                    id = scanner.getPersonId(person);
                    // Could check if the ID is null and then use the IMDB id if available
                    photos = scanner.getPhotos(id);
                }//from  ww w. j a  v a 2 s  . com
                if (CollectionUtils.isNotEmpty(photos)) {
                    break;
                }
            }
        } else {
            LOG.warn("Desired photo scanner {} not registerd", prio);
        }
    }

    if (CollectionUtils.isEmpty(photos) || photos == null) {
        LOG.info("No photos found for: {}", artwork);
        return null;
    }

    if (PHOTO_MAX_RESULTS > 0 && photos.size() > PHOTO_MAX_RESULTS) {
        LOG.info("Limited photos to {}, actually retrieved {} for {}", PHOTO_MAX_RESULTS, photos.size(),
                artwork);
        photos = photos.subList(0, PHOTO_MAX_RESULTS);
    }

    return createLocatedArtworksOnline(artwork, photos);
}

From source file:org.yamj.core.service.artwork.common.FanartTvScanner.java

@Override
public List<ArtworkDetailDTO> getPosters(String id) {
    List<ArtworkDetailDTO> artwork = new ArrayList<ArtworkDetailDTO>();
    try {/*from  ww  w. j a  v  a 2s. c o m*/
        List<FanartTvArtwork> ftartwork;
        if (StringUtils.isNumeric(id)) {
            // Assume its Tmdb
            ftartwork = fanarttvApi.getMovieArtwork(Integer.parseInt(id), FTArtworkType.MOVIEPOSTER);
        } else {
            // Assume imdb
            ftartwork = fanarttvApi.getMovieArtwork(id, FTArtworkType.MOVIEPOSTER);
        }

        if (CollectionUtils.isNotEmpty(artwork)) {
            for (FanartTvArtwork ft : ftartwork) {
                ArtworkDetailDTO a = new ArtworkDetailDTO(SCANNER_ID, ft.getUrl());
                a.setLanguage(ft.getLanguage());
                artwork.add(a);
            }
        }
    } catch (FanartTvException ex) {
        LOG.warn("Failed to get artwork from FanartTV for ID '{}', error: {}", id, ex.getMessage());
    }
    return artwork;
}

From source file:org.yamj.core.service.artwork.common.TheMovieDbArtworkScanner.java

/**
 * Get a list of the artwork for a movie.
 *
 * This will get all the artwork for a specified language and the blank languages as well
 *
 * @param id/*from  w  w w.  ja  v  a  2 s . c  om*/
 * @param language
 * @param artworkType
 * @param artworkSize
 * @return
 */
private List<ArtworkDetailDTO> getFilteredArtwork(String id, String language, ArtworkType artworkType,
        String artworkSize) {
    List<ArtworkDetailDTO> dtos = new ArrayList<ArtworkDetailDTO>();
    if (StringUtils.isNumeric(id)) {
        int tmdbId = Integer.parseInt(id);
        try {
            // Use an empty language to get all artwork and then filter it.
            TmdbResultsList<Artwork> results;
            if (artworkType == ArtworkType.PROFILE) {
                results = tmdbApi.getPersonImages(tmdbId);
            } else {
                results = tmdbApi.getMovieImages(tmdbId, LANGUAGE_NONE);
            }

            List<Artwork> artworkList = results.getResults();
            for (Artwork artwork : artworkList) {
                if (artwork.getArtworkType() == artworkType && (StringUtils.isBlank(artwork.getLanguage())
                        || StringUtils.equalsIgnoreCase(artwork.getLanguage(), language))) {
                    URL artworkURL = tmdbApi.createImageUrl(artwork.getFilePath(), artworkSize);
                    if (artworkURL == null || artworkURL.toString().endsWith("null")) {
                        LOG.warn("{} URL is invalid and will not be used: {}", artworkType, artworkURL);
                    } else {
                        dtos.add(new ArtworkDetailDTO(getScannerName(), artworkURL.toString()));
                    }
                }
            }
            LOG.debug("Found {} {} artworks for TMDB ID '{}' and language '{}'", dtos.size(), artworkType,
                    tmdbId, language);
        } catch (MovieDbException error) {
            LOG.warn("Failed to get the {} URL for TMDb ID {}", artworkType, id, error);
        }
    }
    return dtos;
}

From source file:org.yamj.core.service.artwork.common.TheMovieDbArtworkScanner.java

@Override
public String getId(IMetadata metadata) {
    // First look to see if we have a TMDb ID as this will make looking the film up easier
    String tmdbID = metadata.getSourceDbId(getScannerName());
    if (StringUtils.isNumeric(tmdbID)) {
        return tmdbID;
    }/*from w w  w  . j  a  va2s. c om*/

    // Search based on IMDb ID
    String imdbID = metadata.getSourceDbId(ImdbScanner.SCANNER_ID);
    if (StringUtils.isNotBlank(imdbID)) {
        MovieDb moviedb = null;
        try {
            String defaultLanguage = configService.getProperty("themoviedb.language", "en");
            moviedb = tmdbApi.getMovieInfoImdb(imdbID, defaultLanguage);
        } catch (MovieDbException ex) {
            LOG.warn("Failed to get TMDb ID for {}-{}", imdbID, ex.getMessage());
        }

        if (moviedb != null) {
            tmdbID = String.valueOf(moviedb.getId());
            if (StringUtils.isNumeric(tmdbID)) {
                metadata.setSourceDbId(getScannerName(), tmdbID);
                return tmdbID;
            }
        }
    }

    // Search based on title and year
    String title = StringUtils.isBlank(metadata.getTitleOriginal()) ? metadata.getTitle()
            : metadata.getTitleOriginal();
    tmdbID = getId(title, metadata.getYear());
    if (StringUtils.isNumeric(tmdbID)) {
        metadata.setSourceDbId(getScannerName(), tmdbID);
        return tmdbID;
    }

    LOG.warn("No TMDb id found for movie");
    return null;
}

From source file:org.yamj.core.service.artwork.common.TheMovieDbArtworkScanner.java

@Override
public List<ArtworkDetailDTO> getPhotos(final String name) {
    String tmdbId;/*from  w  w  w . j  a va  2 s  .  c o  m*/
    // Check to see if we were passed the ID and not a name
    if (StringUtils.isNumeric(name)) {
        tmdbId = name;
    } else {
        tmdbId = getPersonId(name);
    }

    if (StringUtils.isNotBlank(tmdbId)) {
        return getPhotos(Integer.parseInt(tmdbId));
    } else {
        return Collections.emptyList();
    }
}

From source file:org.yamj.core.service.artwork.online.FanartTvScanner.java

@Override
public List<ArtworkDetailDTO> getPosters(VideoData videoData) {
    String tmdbId = tmdbScanner.getMovieId(videoData);
    if (StringUtils.isNumeric(tmdbId)) {
        return getMovieArtworkType(tmdbId, FTArtworkType.MOVIEPOSTER);
    }//from  w w  w .j av  a 2 s.  c o  m
    return Collections.emptyList();
}