Package com.abiquo.server.core.cloud

Source Code of com.abiquo.server.core.cloud.VirtualApplianceRep

/**
* Copyright (C) 2008 - Abiquo Holdings S.L. All rights reserved.
*
* Please see /opt/abiquo/tomcat/webapps/legal/ on Abiquo server
* or contact contact@abiquo.com for licensing information.
*/
package com.abiquo.server.core.cloud;

import java.util.List;

import javax.persistence.EntityManager;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.abiquo.model.enumerator.DiskFormatType;
import com.abiquo.server.core.appslibrary.VirtualImageConversion;
import com.abiquo.server.core.appslibrary.VirtualImageConversionDAO;
import com.abiquo.server.core.appslibrary.VirtualMachineTemplate;
import com.abiquo.server.core.common.DefaultRepBase;
import com.abiquo.server.core.enterprise.Enterprise;
import com.abiquo.server.core.enterprise.User;
import com.abiquo.server.core.util.FilterOptions;

@Repository
public class VirtualApplianceRep extends DefaultRepBase
{
    @Autowired
    private VirtualApplianceDAO virtualApplianceDao;

    @Autowired
    private NodeVirtualImageDAO nodeVirtualImageDao;

    @Autowired
    private VirtualImageConversionDAO virtualImageConversionDao;

    public VirtualApplianceRep()
    {

    }

    public VirtualApplianceRep(final EntityManager em)
    {
        this.entityManager = em;

        this.virtualApplianceDao = new VirtualApplianceDAO(em);
        this.nodeVirtualImageDao = new NodeVirtualImageDAO(em);
        this.virtualImageConversionDao = new VirtualImageConversionDAO(em);
    }

    public VirtualAppliance findVirtualApplianceByVirtualMachine(final VirtualMachine virtualMachine)
    {
        return nodeVirtualImageDao.findVirtualAppliance(virtualMachine);
    }

    public List<VirtualAppliance> findVirtualAppliancesByEnterprise(final Enterprise ent,
        final FilterOptions filterOptions, final User user)
    {
        return virtualApplianceDao.findByEnterprise(ent, filterOptions, user);
    }

    public List<VirtualAppliance> findVirtualAppliancesByEnterpriseAndDatacenter(
        final Integer entId, final Integer dcId)
    {
        return virtualApplianceDao.findByEnterpriseAndDatacenter(entId, dcId);
    }

    /**
     * @param user, only users with restricted VDCs
     */
    public List<VirtualAppliance> findVirtualAppliancesByEnterpriseAndDatacenter(
        final Integer entId, final Integer dcId, final User user)
    {
        return virtualApplianceDao.findByEnterpriseAndDatacenter(entId, dcId, user);
    }

    public VirtualAppliance findById(final Integer id)
    {
        return virtualApplianceDao.get(id);
    }

    public void updateVirtualAppliance(final VirtualAppliance virtualAppliance)
    {
        this.virtualApplianceDao.flush();
    }

    public VirtualImageConversion findVirtualImageConversionById(final Integer id)
    {
        return virtualImageConversionDao.findById(id);
    }

    public boolean isVirtualImageConverted(final VirtualMachineTemplate vImage,
        final DiskFormatType format)
    {
        return virtualImageConversionDao.isVirtualImageConverted(vImage.getId(), format);
    }

    public void updateVirtualImageConversion(final VirtualImageConversion vic)
    {
        virtualImageConversionDao.flush();
    }

    public void deleteVirtualImageConversion(final VirtualImageConversion virtualImageConversion)
    {
        virtualImageConversionDao.remove(virtualImageConversion);
    }

    public NodeVirtualImage findNodeVirtualImageById(final Integer id)
    {
        return nodeVirtualImageDao.findById(id);
    }

    public void updateNodeVirtualImage(final NodeVirtualImage nodeVirtualImage)
    {
        nodeVirtualImageDao.flush();
    }

    public void deleteVirtualAppliance(final VirtualAppliance virtualAppliance)
    {
        virtualApplianceDao.remove(virtualAppliance);
    }

    public String getDatacenterUUIDByVirtualImageConversionID(final Integer idVirtualImageConversion)
    {
        return virtualImageConversionDao
            .getDatacenterUUIDByVirtualImageConversionID(idVirtualImageConversion);
    }

    public void persist(final VirtualAppliance vapp)
    {
        virtualApplianceDao.persist(vapp);
    }
}
TOP

Related Classes of com.abiquo.server.core.cloud.VirtualApplianceRep

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.