/* * Copyright (C) 2013 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.feature.dao.jdbi; import com.intel.dcsg.cpg.io.UUID; import com.intel.mtwilson.feature.model.FeaturePermission; import java.io.Closeable; import org.skife.jdbi.v2.sqlobject.Bind; import org.skife.jdbi.v2.sqlobject.SqlQuery; import org.skife.jdbi.v2.sqlobject.SqlUpdate; import org.skife.jdbi.v2.sqlobject.customizers.RegisterArgumentFactory; import org.skife.jdbi.v2.sqlobject.customizers.RegisterMapper; import com.intel.mtwilson.jdbi.util.UUIDArgument; import java.util.List; import org.skife.jdbi.v2.sqlobject.BindBean; @RegisterArgumentFactory(UUIDArgument.class) @RegisterMapper(FeaturePermissionResultMapper.class) public interface FeaturePermissionDAO extends Closeable { // @SqlUpdate("create table mw_feature_permission (feature_id char(36) not null, feature_name , name varchar(255), value varchar(255))") // @SqlUpdate("create table mw_tag_kvattribute (id char(16) for bit data primary key, name varchar(100), value varchar(255))") // void create(); @SqlUpdate("insert into mw_feature_permission (feature_id, feature_name, permit_domain, permit_action, permit_selection, comment) values (:feature_id, :feature_name, :permit_domain, :permit_action, :permit_selection, :comment)") void insert(@Bind("feature_id") UUID featureId, @Bind("feature_name") String featureName, @Bind("permit_domain") String permitDomain, @Bind("permit_action") String permitAction, @Bind("permit_selection") String permitSelection, @Bind("comment") String comment); @SqlUpdate("insert into mw_feature_permission (feature_id, feature_name, permit_domain, permit_action, permit_selection, comment) values (:featureId, :featureName, :permitDomain, :permitAction, :permitSelection)") void insert(@BindBean FeaturePermission featurePermission); @SqlUpdate("delete from mw_feature_permission where feature_id=:feature_id") void delete(@Bind("feature_id") UUID featureId); @SqlQuery("select feature_id, feature_name, permit_domain, permit_action, permit_selection, comment from mw_feature_permission where feature_id=:feature_id") List<FeaturePermission> findByFeatureId(@Bind("feature_id") UUID featureId); @SqlQuery("select feature_id, feature_name, permit_domain, permit_action, permit_selection, comment from mw_feature_permission where feature_name=:feature_name") List<FeaturePermission> findByFeatureName(@Bind("feature_name") String featureName); @Override void close(); }