/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.catalog; import java.net.URI; import java.util.List; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.emc.storageos.db.client.model.uimodels.TenantPreferences; import com.emc.sa.model.dao.ModelClient; @Component public class CatalogPreferenceManagerImpl implements CatalogPreferenceManager { private static final Logger log = Logger.getLogger(CatalogPreferenceManagerImpl.class); @Autowired private ModelClient client; public TenantPreferences getPreferencesByTenant(String tenantId) { List<TenantPreferences> list = client.tenantPreferences().findAll(tenantId); if (list != null && !list.isEmpty()) { return list.get(0); } return createNewPreferences(tenantId.toString()); } private TenantPreferences createNewPreferences(String tenantId) { TenantPreferences newTenantPreferences = new TenantPreferences(); newTenantPreferences.setTenant(tenantId.toString()); client.save(newTenantPreferences); return newTenantPreferences; } public TenantPreferences getPreferences(URI id) { return client.tenantPreferences().findById(id); } public void updatePreferences(TenantPreferences tenantPreferences) { client.save(tenantPreferences); } }