Package de.iritgo.aktera.persist

Examples of de.iritgo.aktera.persist.Persistent


   */
  public boolean update(Group group) throws UserMgrException
  {
    try
    {
      Persistent g = getGroupPersistent();

      g.setField(FLD_GROUPNAME, group.get(Group.Property.NAME));

      if (g.find())
      {
        g.setField(FLD_DESCRIPTION, group.get(Group.Property.DESCRIPTION));
        g.update();
      }
      else
      {
        throw new UserMgrException("Cannot update, group not found");
      }
View Full Code Here


   * @return
   */
  private Persistent getGroupMembersPersistent() throws UserMgrException
  {
    PersistentFactory pf = null;
    Persistent myGroupMembers = null;

    try
    {
      pf = (PersistentFactory) getService(PersistentFactory.ROLE);
      myGroupMembers = pf.create("keel.groupmembers");
View Full Code Here

  {
    ArrayList<User> userList = new ArrayList<User>(0);

    try
    {
      Persistent gm = getGroupMembersPersistent();

      gm.setField(FLD_GROUPNAME, group.get(Group.Property.NAME));

      List<Persistent> groupmembers = gm.query();

      userList = new ArrayList<User>(groupmembers.size());

      Iterator<Persistent> i = groupmembers.iterator();

      while (i.hasNext())
      {
        gm = (Persistent) i.next();

        User nextUser = getUserManager().find(User.Property.UID, gm.getField(FLD_UID));

        userList.add(nextUser);
      }
    }
    catch (PersistenceException e)
View Full Code Here

  /**
   * @see de.iritgo.aktera.usergroupmgr.GroupManager#addUser(de.iritgo.aktera.usergroupmgr.Group, de.iritgo.aktera.usergroupmgr.User)
   */
  public boolean addUser(Group group, User user) throws UserMgrException
  {
    Persistent gm = getGroupMembersPersistent();

    try
    {
      gm.setField(FLD_GROUPNAME, group.get(Group.Property.NAME));
      gm.setField(FLD_UID, user.get(User.Property.UID));
      gm.add();
    }
    catch (PersistenceException e)
    {
      throw new UserMgrException("Error adding user to group", e);
    }
View Full Code Here

  /**
   * @see de.iritgo.aktera.usergroupmgr.GroupManager#deleteUser(de.iritgo.aktera.usergroupmgr.Group, de.iritgo.aktera.usergroupmgr.User)
   */
  public boolean deleteUser(Group group, User user) throws UserMgrException
  {
    Persistent gm = getGroupMembersPersistent();

    try
    {
      gm.setField(FLD_GROUPNAME, group.get(Group.Property.NAME));
      gm.setField(FLD_UID, user.get(User.Property.UID));
      gm.delete();
    }
    catch (PersistenceException e)
    {
      throw new UserMgrException("Error deleting user from group", e);
    }
View Full Code Here

  {
    ArrayList<Group> groupList = new ArrayList<Group>(0);

    try
    {
      Persistent gm = getGroupMembersPersistent();

      gm.setField(FLD_UID, user.get(User.Property.UID));

      List<Persistent> groupmembers = gm.query();

      Persistent g = getGroupPersistent();

      groupList = new ArrayList<Group>(groupmembers.size());

      Iterator<Persistent> i = groupmembers.iterator();

      while (i.hasNext())
      {
        gm = (Persistent) i.next();
        g.clear();
        g.setField(FLD_GROUPNAME, gm.getField(FLD_GROUPNAME));

        if (g.find())
        {
          Group nextGroup = createGroupFromPersistent(g);

          groupList.add(nextGroup);
        }
View Full Code Here

      ModuleVersion currentVersion = new ModuleVersion();

      try
      {
        Persistent version = pf.create("aktera.Version");

        version.setField("type", "M");
        version.setField("name", moduleId);

        if (version.find())
        {
          currentVersion = new ModuleVersion(version.getFieldString("version"));
        }
        else
        {
          currentVersion = new ModuleVersion("0.0.0");
        }
View Full Code Here

  public static void createVersionTableIfNotExists(ModelRequest request) throws ModelException
  {
    PersistentFactory pf = (PersistentFactory) request.getService(PersistentFactory.ROLE, request.getDomain());

    Persistent version = null;

    try
    {
      version = pf.create("aktera.Version");
      version.setField("type", "M");
      version.setField("name", "dummy");
      version.find();
    }
    catch (Exception x)
    {
      try
      {
        PersistentMetaData versionMeta = version.getMetaData();

        versionMeta.getDatabaseType().createTable(versionMeta, versionMeta.getDataSource());
      }
      catch (PersistenceException xx)
      {
View Full Code Here

      ModuleVersion currentVersion = new ModuleVersion();

      try
      {
        Persistent version = pf.create("aktera.Version");

        version.setField("type", "M");
        version.setField("name", moduleId);

        if (version.find())
        {
          currentVersion = new ModuleVersion(version.getFieldString("version"));
        }
        else
        {
          currentVersion = new ModuleVersion("0.0.0");
        }
      }
      catch (Exception x)
      {
        outModule.setAttribute("oldVersion", currentVersion.toString());
        outModule.setAttribute("error", "unableToRetrieveCurrentVersion");
        outModule.setAttribute("errorException", x.toString());

        response.addOutput("updateError", "Y");

        continue;
      }

      outModule.setAttribute("oldVersion", currentVersion.toString());

      String updateHandlerClassName = moduleConfig.getChild("update").getAttribute("class", null);

      if (updateHandlerClassName != null)
      {
        try
        {
          System.out.println("UpdateDatabase: Updating module '" + moduleId + "' with handler '"
                  + updateHandlerClassName + "'");

          Class klass = Class.forName(updateHandlerClassName);

          if (klass != null)
          {
            UpdateHandler updateHandler = (UpdateHandler) klass.newInstance();

            Connection con = null;

            try
            {
              con = dataSourceComponent.getConnection();
              updateHandler.setConnection(con);
              updateHandler.updateDatabase(request, logger, con, pf, (ModuleVersion) currentVersion
                      .clone(), newVersion);
            }
            finally
            {
              con.close();
            }

            needReboot = needReboot || updateHandler.needReboot();
            newUserPreferences = newUserPreferences || updateHandler.hasNewUserPreferences();
          }
          else
          {
            System.out.println("UpdateDatabase: Unable to find update handler for module '" + moduleId
                    + "'");
          }
        }
        catch (ClassNotFoundException x)
        {
          System.out
                  .println("UpdateDatabase: Unable call update handler for module '" + moduleId
                          + "': " + x);
        }
        catch (Exception x)
        {
          outModule.setAttribute("error", "errorDuringUpdate");
          outModule.setAttribute("errorException", x.toString());

          response.addOutput("updateError", "Y");

          continue;
        }
      }

      try
      {
        Persistent version = pf.create("aktera.Version");

        version.setField("type", "M");
        version.setField("name", moduleId);

        if (version.find())
        {
          version.setField("version", newVersion.toString());
          version.update();
        }
        else
        {
          version.setField("version", newVersion.toString());
          version.add();
        }
      }
      catch (Exception x)
      {
        outModule.setAttribute("error", "unableToUpdateVersion");
        outModule.setAttribute("errorException", x.toString());
        response.addOutput("updateError", "Y");
      }
    }

    if (newUserPreferences)
    {
      try
      {
        Persistent sample = pf.create("keel.user");

        for (Persistent user : sample.query())
        {
          KeelPreferencesManager.createDefaultValues(request, user.getFieldInt("uid"));
        }
      }
      catch (PersistenceException x)
      {
        response.addOutput("updateError", "Y");
        response.addOutput("databaseError", x.getMessage());

        StringWriter stw = new StringWriter();
        PrintWriter pw = new PrintWriter(stw);

        x.printStackTrace(pw);
        response.addOutput("databaseErrorStackTrace", stw.getBuffer().toString().replaceAll("\n", "<br>"));
      }
    }

    if (response.get("updateError") == null)
    {
      try
      {
        Model appInfo = (Model) request.getService(Model.ROLE, "aktera.app-info");

        Configuration[] appConfigs = appInfo.getConfiguration().getChildren("app");

        for (int i = 0; i < appConfigs.length; ++i)
        {
          Configuration appConfig = appConfigs[i];

          Persistent version = pf.create("aktera.Version");

          version.setField("type", "A");
          version.setField("name", appConfig.getAttribute("id", "unkown"));

          if (version.find())
          {
            version.setField("version", appConfig.getChild("version").getValue("0.0.0"));
            version.update();
          }
          else
          {
            version.setField("version", appConfig.getChild("version").getValue("0.0.0"));
            version.add();
          }
        }
      }
      catch (Exception x)
      {
View Full Code Here

        throw new PermissionException("Permission denied to edit com device function keys of user " + userId);
      }

      try
      {
        Persistent user = pf.create("keel.user");

        user.setField("uid", userId);
        user.find();
        userName = user.getFieldString("name");
      }
      catch (PersistenceException x)
      {
      }
    }
View Full Code Here

TOP

Related Classes of de.iritgo.aktera.persist.Persistent

Copyright © 2018 www.massapicom. 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.