KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > config > WorkstationConfig


1 /**
2  * Created Jul 8, 2005, 9:20:54 PM by nick
3  */

4 package com.nightlabs.ipanema.config;
5
6 import java.io.Serializable JavaDoc;
7 import java.util.Collection JavaDoc;
8
9 import javax.jdo.Extent;
10 import javax.jdo.JDOHelper;
11 import javax.jdo.PersistenceManager;
12 import javax.jdo.Query;
13
14 import com.nightlabs.ipanema.security.User;
15 import com.nightlabs.ipanema.workstation.Workstation;
16
17 /**
18  * @author Niklas Schiffler <nick@nightlabs.de>
19  *
20  *
21  * @jdo.persistence-capable
22  * identity-type = "application"
23  * detachable = "true"
24  * persitence-cabable-superclass = "com.nightlabs.ipanema.config.Config"
25  *
26  * @jdo.inheritance strategy = "new-table"
27  *
28  */

29 public class WorkstationConfig extends Config implements Serializable JavaDoc
30 {
31   
32    public WorkstationConfig(String JavaDoc organisationID, String JavaDoc workstationConfigID)
33    {
34      this.organisationID = organisationID;
35      this.configID = workstationConfigID;
36      this.implementationClassName = WorkstationConfig.class.getName();
37    }
38    
39    public static ConfigModule getConfigModule(PersistenceManager pm, String JavaDoc organisationID, String JavaDoc workstationID, Class JavaDoc configModuleClass)
40    {
41      return getConfigModule(pm, organisationID, workstationID, configModuleClass, null);
42    }
43    public static ConfigModule getConfigModule(PersistenceManager pm, String JavaDoc organisationID, String JavaDoc workstationID, Class JavaDoc configModuleClass, String JavaDoc cfModID)
44    {
45      WorkstationConfig wc = WorkstationConfig.getWorkstationConfig(pm, organisationID, workstationID);
46      ConfigModule.getConfigModule(pm, wc, configModuleClass, cfModID);
47      return null;
48    }
49
50    
51    public static WorkstationConfig getWorkstationConfig(PersistenceManager pm, String JavaDoc organisationID, String JavaDoc workstationID)
52    {
53      Extent ext = pm.getExtent(Workstation.class, false);
54      Query query = pm.newQuery(
55          "SELECT FROM com.nightlabs.ipanema.config.WorkstationConfig " +
56          "WHERE " +
57          " organisationID == paramOrganisationID && " +
58          " configID == paramWorkstationID && " +
59          " implementationClassName == paramImplementationClassNameID " +
60          "PARAMETERS String paramOrganisationID, String paramWorkstationID, String paramImplementationClassName " +
61          "IMPORTS import java.lang.String");
62      query.setUnique(true);
63      return (WorkstationConfig)query.execute(organisationID, workstationID, WorkstationConfig.class.getName());
64    }
65
66    public static WorkstationConfig storeWorkstationConfig(PersistenceManager pm, WorkstationConfig wsConf)
67    {
68      WorkstationConfig ret;
69      if(JDOHelper.isDetached(wsConf))
70        ret = (WorkstationConfig)pm.attachCopy(wsConf, true);
71      else
72      {
73        pm.makePersistent(wsConf);
74        ret = wsConf;
75      }
76      return ret;
77    }
78
79 }
80
Popular Tags