KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > containers > factories > ContainerFactory


1 package com.dotmarketing.portlets.containers.factories;
2
3 import com.dotmarketing.beans.Host;
4 import com.dotmarketing.beans.Identifier;
5 import com.dotmarketing.beans.Inode;
6 import com.dotmarketing.db.DotHibernate;
7 import com.dotmarketing.factories.IdentifierFactory;
8 import com.dotmarketing.factories.InodeFactory;
9 import com.dotmarketing.factories.PermissionFactory;
10 import com.dotmarketing.portlets.containers.model.Container;
11 import com.dotmarketing.portlets.structure.model.Structure;
12 import com.dotmarketing.services.ContainerServices;
13 /**
14  *
15  * @author will
16  */

17 public class ContainerFactory {
18     
19     public static java.util.List JavaDoc getChildrenContainerByOrder(Inode i) {
20         
21         return InodeFactory.getChildrenClassByOrder(i, Container.class, "sort_order");
22
23     }
24     
25     public static java.util.List JavaDoc getActiveContainers() {
26         DotHibernate dh = new DotHibernate(Container.class);
27         dh.setQuery(
28             "from inode in class com.dotmarketing.portlets.containers.model.Container");
29
30         return dh.list();
31     }
32
33     public static java.util.List JavaDoc getContainersByOrderAndParent(String JavaDoc orderby,Inode o) {
34         
35         
36         return InodeFactory.getChildrenClassByOrder(o, Container.class, orderby);
37
38     }
39
40     public static java.util.List JavaDoc getContainersByOrder(String JavaDoc orderby) {
41         DotHibernate dh = new DotHibernate(Container.class);
42         dh.setQuery(
43             "from inode in class com.dotmarketing.portlets.containers.model.Container where working = " + com.dotmarketing.db.DbConnectionFactory.getDBTrue() + " or live = " + com.dotmarketing.db.DbConnectionFactory.getDBTrue() + " order by " + orderby);
44
45         return dh.list();
46     }
47  
48     public static java.util.List JavaDoc getContainerChildrenByCondition(Inode o,String JavaDoc condition) {
49         
50         return InodeFactory.getChildrenClassByConditionAndOrderBy(o, Container.class, condition, "title, sort_order");
51
52
53     }
54     
55     public static java.util.List JavaDoc getContainerByCondition(String JavaDoc condition) {
56         DotHibernate dh = new DotHibernate(Container.class);
57         dh.setQuery("from inode in class com.dotmarketing.portlets.containers.model.Container where " + condition + " order by title, sort_order");
58         return dh.list();
59     }
60
61     public static java.util.List JavaDoc getContainerChildren(Inode o) {
62         
63         return InodeFactory.getChildrenClassByOrder(o, Container.class, "inode, sort_order");
64
65     }
66
67     public static Container getContainerByLiveAndFolderAndTitle(Inode parent , String JavaDoc title) {
68         
69         
70         
71         return (Container) InodeFactory.getChildOfClassbyCondition(parent, Container.class, "title = '"+ title +"' and live = " + com.dotmarketing.db.DbConnectionFactory.getDBTrue());
72         
73
74     }
75     
76     public static boolean existsContainer(String JavaDoc friendlyName) {
77         DotHibernate dh = new DotHibernate(Container.class);
78         dh.setQuery("from inode in class com.dotmarketing.portlets.containers.model.Container where friendly_name = ?");
79         dh.setParam(friendlyName);
80         return (((java.util.List JavaDoc) dh.list()).size()>0);
81     }
82     
83     public static Container getContainerByFriendlyName(String JavaDoc friendlyName) {
84         DotHibernate dh = new DotHibernate(Container.class);
85         dh.setQuery("from inode in class com.dotmarketing.portlets.containers.model.Container where friendly_name = ? and live=" + com.dotmarketing.db.DbConnectionFactory.getDBTrue());
86         dh.setParam(friendlyName);
87         return (Container) dh.load();
88     }
89     
90     public static Container copyContainer (Container currentContainer) {
91         
92         //gets the new information for the template from the request object
93
Container newContainer = new Container();
94
95         newContainer.copy(currentContainer);
96         newContainer.setLocked(false);
97         newContainer.setLive(false);
98         newContainer.setFriendlyName(currentContainer.getFriendlyName()
99                 + " (COPY) ");
100         newContainer.setTitle(currentContainer.getTitle() + " (COPY) ");
101
102         //persists the webasset
103
InodeFactory.saveInode(newContainer);
104
105         
106         //Copy the host
107
Host h = (Host) InodeFactory.getParentOfClass(currentContainer, Host.class);
108         h.addChild(newContainer);
109         
110         //Copy the structure
111
Structure st = (Structure) InodeFactory.getParentOfClass(currentContainer, Structure.class);
112         st.addChild(newContainer);
113         
114         //creates new identifier for this webasset and persists it
115
Identifier newIdentifier = IdentifierFactory.createNewIdentifier(newContainer);
116         newIdentifier.setHostInode(h.getInode());
117
118         //Copy permissions
119
PermissionFactory.copyPermissions(currentContainer, newContainer);
120         
121         //saves to working folder under velocity
122
ContainerServices.writeContainerToFile(newContainer, newIdentifier,
123                 true);
124         
125         return newContainer;
126     }
127
128 }
129
Popular Tags