/* * Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. * */ package com.amazon.photosharing.model; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; import com.amazon.photosharing.dao.User; import com.amazon.photosharing.facade.UserFacade; @FacesConverter("userconverter") public class UserConverter implements Converter { private transient UserFacade _facade = null; public UserFacade getFacade() { if (this._facade == null) _facade = new UserFacade(); return _facade; } public Object getAsObject(FacesContext fc, UIComponent uic, String value) { if(value != null && value.trim().length() > 0) { try { return getFacade().findUser(Long.parseLong(value)); } catch(NumberFormatException e) { throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid user id.")); } } else { return null; } } public String getAsString(FacesContext fc, UIComponent uic, Object object) { if(object != null) { return String.valueOf(((User) object).getId()); } else { return null; } } }