Example usage for org.hibernate Session persist

List of usage examples for org.hibernate Session persist

Introduction

In this page you can find the example usage for org.hibernate Session persist.

Prototype

void persist(Object object);

Source Link

Document

Make a transient instance persistent.

Usage

From source file:org.varrek.mwork.repo.RepoAccessController.java

public String grantRights(User userId, Repo repoId, boolean isAdmin, boolean isOperator, boolean isHaveAccess) {
    String result = "failure";
    Session sess = HibernateUtil.openSession();
    RepoAccess access = new RepoAccess();
    // access.setUser(userId);
    access.setRepoAC(repoId);/*from   w w  w  .  ja  va  2 s .c o  m*/
    access.setAdmin(isAdmin);
    access.setOperator(isOperator);
    access.setHaveAccess(isHaveAccess);
    try {
        sess.beginTransaction();
        sess.persist(access);
        sess.getTransaction().commit();
    } catch (Exception e) {
        throw e;
    } finally {
        result = "success";
    }
    return result;
}

From source file:org.varrek.mwork.repo.RepoAction.java

public String grantRights() {
    User user = controllerUser.getUserByLogin(getUsers());
    User cuser = (User) ServletActionContext.getRequest().getAttribute("currentUser");
    Repo rep = controller.getRepoByName(getName());
    Session sess = HibernateUtil.openSession();
    sess.update(rep);/*from   w w w  .  j a  v  a  2  s.c om*/
    Integer pos = -1;
    int i = 0;
    for (User curr : rep.getRepModer()) {
        if (curr.getId() == cuser.getId()) {
            pos = i;
            break;
        }
        i++;
    }
    System.out.println("uPos" + pos);
    BigInteger bInt = new BigInteger(getCode());
    AccessSingleton storage = Storage.getInstance().getAccessRequest(user, rep);
    storage.setNewShare(pos, bInt);
    int expectCodeCount = rep.getRepModer().size() - 2;
    int actualCodeCount = storage.getShares().size();
    System.out.println(expectCodeCount);
    System.out.println(actualCodeCount);
    System.out.println(storage);
    if (expectCodeCount == actualCodeCount) {
        Map<Integer, BigInteger> sh = storage.getShares();
        final Shamir shamir = new Shamir(rep.getRepModer().size() - 2, rep.getRepModer().size() - 1);
        SecretShare[] shares = new SecretShare[sh.size()];
        final BigInteger prime = new BigInteger(rep.getPrime());
        i = 0;
        for (Map.Entry<Integer, BigInteger> entry : sh.entrySet()) {
            Integer key = entry.getKey();
            System.out.println("Key: " + key);
            BigInteger value = entry.getValue();
            System.out.println("value: " + value);
            SecretShare myShare = new SecretShare(key, value, shamir);
            shares[i] = myShare;
            i++;
        }
        final BigInteger result = shamir.combine(shares, prime);
        System.out.println("Prime from db: " + prime);
        System.out.println("New Result is " + result);
        System.out.println("Secret in DB " + rep.getSecret());
        BigInteger expResult = new BigInteger(rep.getSecret());
        int res;
        res = result.compareTo(expResult);
        System.out.println("Is equal:" + (res == 0));
        if (res == 0) {
            try {
                sess.beginTransaction();
                RepoAccess newRepoAccess = new RepoAccess(user, rep, false, false, true);
                sess.persist(newRepoAccess);
                sess.getTransaction().commit();
            } catch (Exception e) {
                sess.getTransaction().rollback();
                throw e;
            }
        }
    }
    return SUCCESS;
}

From source file:org.varrek.mwork.repo.RepoController.java

public static String createRepository(String repoName, String description, User cUser) {
    String result = "failure";
    Session sess = HibernateUtil.openSession();
    Repo newRepo = new Repo();
    cUser = (User) sess.get(User.class, cUser.getId());
    newRepo.setName(repoName);//  w  w  w .  j  ava  2 s .  c o m
    newRepo.setDescr(description);
    RepoAccess newRepoAccess = new RepoAccess(cUser, newRepo, true, true, true);
    try {
        sess.beginTransaction();
        sess.persist(newRepo);
        sess.persist(newRepoAccess);
        cUser.setRepoRight(newRepoAccess);
        newRepo.setUserRight(newRepoAccess);
        sess.update(cUser);
        sess.update(newRepo);
        sess.getTransaction().commit();
        String path = "d:\\Documents\\Varrek\\Programs\\magwork\\Repos";
        File theDir = new File(path + '\\' + repoName);
        System.out.println(theDir);
        theDir.mkdir();
        result = "success";
    } catch (Exception e) {
        throw e;
    }
    return result;
}

From source file:org.varrek.mwork.repo.RepoController.java

public String grantRights(User userId, Repo repoId, boolean isAdmin, boolean isOperator, boolean isHaveAccess) {
    String result = "failure";
    Session sess = HibernateUtil.openSession();
    RepoAccess access = new RepoAccess();
    access.setUserAc(userId);/*from   w  w  w . j av  a 2 s  . c o m*/
    access.setRepoAC(repoId);
    access.setAdmin(isAdmin);
    access.setOperator(isOperator);
    access.setHaveAccess(isHaveAccess);
    try {
        sess.beginTransaction();
        sess.persist(access);
        sess.getTransaction().commit();
    } catch (Exception e) {
        throw e;
    } finally {
        result = "success";
    }
    return result;
}

From source file:org.varrek.mwork.repo.RepoController.java

public boolean addManagers(List<User> users, Repo rep) {
    boolean result = false;
    Session sess = HibernateUtil.openSession();
    sess.update(rep);// w ww  .  j av  a2  s.  c o  m
    sess.beginTransaction();
    final Shamir shamir = new Shamir(users.size() - 1, users.size());
    Random rnd = new Random();
    final BigInteger secret = new BigInteger(133, rnd);
    rep.setSecret(secret.toString());
    final SecretShare[] shares = shamir.split(secret);
    final BigInteger prime = shamir.getPrime();
    rep.setPrime(prime.toString());
    int i = 0;
    try {
        for (User curr : users) {
            RepoAccess newRepoAccess = new RepoAccess(curr, rep, false, true, true);
            curr.setMessages("Code: " + shares[i].toString() + " for Repo" + rep.getName());
            sess.update(curr);
            i++;
            sess.persist(newRepoAccess);
            rep.setUserRight(newRepoAccess);
        }
        sess.update(rep);
        sess.getTransaction().commit();
    } catch (Exception e) {
        sess.getTransaction().rollback();
        throw e;
    }
    return result;
}