/*
* oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
*
* Copyright (c) 2014, Gluu
*/
package org.xdi.oxauth.idgen.ws.rs;
import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.inject.Named;
import org.slf4j.Logger;
import org.xdi.oxauth.model.common.IdType;
import org.xdi.oxauth.service.external.ExternalIdGeneratorService;
import org.xdi.util.StringHelper;
/**
* @author Yuriy Zabrovarnyy
* @version 0.9, 24/06/2013
*/
@Stateless
@Named("idGenService")
public class IdGenService implements IdGenerator {
public static final String PYTHON_CLASS_NAME = "PythonExternalIdGenerator";
@Inject
private Logger log;
@Inject
private InumGenerator inumGenerator;
@Inject
private ExternalIdGeneratorService externalIdGeneratorService;
public String generateId(IdType p_idType, String p_idPrefix) {
return generateId(p_idType.getType(), p_idPrefix);
}
@Override
public String generateId(String p_idType, String p_idPrefix) {
if (externalIdGeneratorService.isEnabled()) {
final String generatedId = externalIdGeneratorService.executeExternalDefaultGenerateIdMethod("oxauth", p_idType, p_idPrefix);
if (StringHelper.isNotEmpty(generatedId)) {
return generatedId;
}
}
return inumGenerator.generateId(p_idType, p_idPrefix);
}
}