1 package org.openecomp.sdc.healing.dao.impl;
3 import com.datastax.driver.core.ResultSet;
4 import com.datastax.driver.mapping.annotations.Accessor;
5 import com.datastax.driver.mapping.annotations.Query;
6 import org.openecomp.core.nosqldb.api.NoSqlDb;
7 import org.openecomp.core.nosqldb.factory.NoSqlDbFactory;
8 import org.openecomp.sdc.healing.dao.HealingDao;
10 import java.util.Optional;
13 * Created by ayalaben on 10/17/2017
15 public class HealingDaoImpl implements HealingDao {
17 private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
18 private static HealingAccessor accessor =
19 noSqlDb.getMappingManager().createAccessor(HealingAccessor.class);
22 public Optional<Boolean> getItemHealingFlag(String space, String itemId, String versionId) {
23 ResultSet result = accessor.getItemHealingFlag(space, itemId, versionId);
24 return result.getAvailableWithoutFetching() < 1
26 : Optional.of(result.one().getBool("healing_needed"));
30 public void setItemHealingFlag(boolean healingNeededFlag, String space, String itemId,
32 accessor.setItemHealingFlag(healingNeededFlag, space, itemId, versionId);
37 interface HealingAccessor {
39 @Query("SELECT healing_needed FROM healing WHERE space=? AND item_id=? AND version_id=?")
40 ResultSet getItemHealingFlag(String space, String itemId, String versionId);
42 @Query("UPDATE healing SET healing_needed=? WHERE space=? AND item_id=? AND version_id=?")
43 void setItemHealingFlag(boolean flag, String space, String itemId, String versionId);