KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > viewtools > ProductWebAPI


1 package com.dotmarketing.viewtools;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.HashMap JavaDoc;
5 import java.util.Iterator JavaDoc;
6 import java.util.List JavaDoc;
7 import java.util.Map JavaDoc;
8
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11
12 import org.apache.struts.action.ActionForm;
13 import org.apache.velocity.tools.view.context.ViewContext;
14 import org.apache.velocity.tools.view.tools.ViewTool;
15
16 import com.dotmarketing.beans.Identifier;
17 import com.dotmarketing.beans.UserProxy;
18 import com.dotmarketing.cms.factories.PublicUserFactory;
19 import com.dotmarketing.factories.IdentifierFactory;
20 import com.dotmarketing.factories.InodeFactory;
21 import com.dotmarketing.factories.UserProxyFactory;
22 import com.dotmarketing.portlets.categories.model.Category;
23 import com.dotmarketing.portlets.contentlet.factories.ContentletFactory;
24 import com.dotmarketing.portlets.contentlet.model.Contentlet;
25 import com.dotmarketing.portlets.files.model.File;
26 import com.dotmarketing.portlets.structure.factories.StructureFactory;
27 import com.dotmarketing.portlets.structure.model.Structure;
28 import com.dotmarketing.util.Config;
29 import com.dotmarketing.util.UtilMethods;
30 import com.dotmarketing.util.WebKeys;
31 import com.liferay.portal.model.User;
32 import com.dotmarketing.cms.product.model.Holder;
33 import com.dotmarketing.cms.product.struts.ProductsForm;
34 import com.dotmarketing.portlets.discountcode.factories.DiscountCodeFactory;
35 import com.dotmarketing.portlets.discountcode.model.DiscountCode;
36 import com.dotmarketing.portlets.order_manager.factories.OrderFactory;
37 import com.dotmarketing.portlets.order_manager.factories.OrderItemFactory;
38 import com.dotmarketing.portlets.order_manager.model.Order;
39 import com.dotmarketing.portlets.order_manager.model.OrderItem;
40 import com.dotmarketing.portlets.order_manager.struts.OrderForm;
41 import com.dotmarketing.portlets.product.factories.ProductFactory;
42 import com.dotmarketing.portlets.product.factories.ProductFormatFactory;
43 import com.dotmarketing.portlets.product.model.Product;
44 import com.dotmarketing.portlets.product.model.ProductFormat;
45 import com.dotmarketing.portlets.product.struts.ProductForm;
46 import com.dotmarketing.util.UtilMethods;
47
48 /*
49  * @author Oswaldo Gallango
50  */

51
52 public class ProductWebAPI implements ViewTool {
53
54     private HttpServletRequest JavaDoc request;
55
56     public void init(Object JavaDoc obj) {
57         ViewContext context = (ViewContext) obj;
58         this.request = context.getRequest();
59
60     }
61     
62     public void init(HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc response) {
63         this.request = req;
64
65     }
66
67     public Product getProduct(String JavaDoc inode) {
68         return (Product) UtilMethods.getProduct(inode);
69     }
70     
71     public Product getProduct(long inode) {
72         return (Product) UtilMethods.getProduct(inode);
73     }
74     
75     public float getTotalApplicableDiscount(List JavaDoc<Holder> holders,List JavaDoc<DiscountCode> discounts,boolean partner)
76     {
77         return DiscountCodeFactory.getTotalApplicableDiscount(holders,discounts,partner);
78     }
79
80     @SuppressWarnings JavaDoc("unchecked")
81     public List JavaDoc<Order> getProductOrdersByUser(String JavaDoc userId){
82         if (userId == null)
83             return new ArrayList JavaDoc<Order>();
84         
85         String JavaDoc inode = String.valueOf(UserProxyFactory.getUserProxy(userId).getInode());
86         
87         return OrderFactory.getOrdersByUserInode(inode);
88     }
89     
90     @SuppressWarnings JavaDoc("unchecked")
91     public List JavaDoc<Order> getProductOrdersByUserInode(String JavaDoc inode){
92         if (inode == null)
93             return new ArrayList JavaDoc<Order>();
94         
95         return OrderFactory.getOrdersByUserInode(inode);
96     }
97     
98     public String JavaDoc getProductNamebyId(long productInode){
99         
100         Product product = (Product) ProductFactory.getProduct(productInode);
101         return product.getTitle();
102     }
103     
104     
105     public Product getProductbyProductFormaId(String JavaDoc productFormatInode){
106         
107         ProductFormat productF = (ProductFormat) ProductFormatFactory.getProductFormat(productFormatInode);
108         return getProductById(productF.getProductInode());
109     }
110     
111     public Product getProductbyProductFormaId(long productFormatInode){
112         
113         ProductFormat productF = (ProductFormat) ProductFormatFactory.getProductFormat(productFormatInode);
114         return getProductById(productF.getProductInode());
115     }
116     
117     public Product getProductById(long productInode){
118         
119         Product product = getProduct(productInode);
120         return product;
121     }
122     
123     public List JavaDoc<Map JavaDoc> getPaymentMethods () {
124         List JavaDoc<Map JavaDoc> paymentsList = new ArrayList JavaDoc<Map JavaDoc> ();
125         String JavaDoc[] paymentMethods = Config.getStringArrayProperty("ECOM_PAYMENT_TYPES");
126         for (String JavaDoc paymentMethod : paymentMethods) {
127             String JavaDoc value = Config.getStringProperty(paymentMethod);
128             String JavaDoc friendlyName = Config.getStringProperty(paymentMethod + "_FN");
129             Map JavaDoc paymentMethodMap = new HashMap JavaDoc ();
130             paymentMethodMap.put("value", value);
131             paymentMethodMap.put("friendlyName", friendlyName);
132             paymentMethodMap.put("name", paymentMethod);
133             paymentsList.add(paymentMethodMap);
134         }
135         return paymentsList;
136     }
137     
138     public OrderForm loadOrderForm()
139     {
140         return UtilMethods.loadOrderForm(request);
141     }
142     
143     public String JavaDoc getUserFullName(OrderForm orderForm)
144     {
145         return UtilMethods.getUserFullName(orderForm);
146     }
147     
148     public String JavaDoc getUserCompanyName(OrderForm orderForm)
149     {
150         return UtilMethods.getUserCompanyName(request,orderForm);
151     }
152     
153         public String JavaDoc getMonth(String JavaDoc month){
154         
155         return getMonth(Integer.parseInt(month));
156     }
157     
158     public String JavaDoc getMonth(int month){
159         
160         String JavaDoc strMonth = "";
161         
162         switch (month){
163         
164         case 0: strMonth = "January";
165                 break;
166         case 1: strMonth = "February";
167                 break;
168         case 2: strMonth = "March";
169                 break;
170         case 3: strMonth = "April";
171                 break;
172         case 4: strMonth = "May";
173                 break;
174         case 5: strMonth = "June";
175                 break;
176         case 6: strMonth = "July";
177                 break;
178         case 7: strMonth = "August";
179                 break;
180         case 8: strMonth = "September";
181                 break;
182         case 9: strMonth = "October";
183                 break;
184         case 10: strMonth = "November";
185                 break;
186         case 11: strMonth = "December";
187                 break;
188         
189         }
190         
191         return strMonth;
192     }
193     
194     /*Get quatity of random product by categories*/
195     public List JavaDoc<Product> getRelatedProduct(String JavaDoc inode, String JavaDoc quantity){
196         
197         long inodeL = Long.parseLong(inode);
198         int productQuatity = Integer.parseInt(quantity);
199         return getRelatedProduct(inodeL,productQuatity);
200     }
201     
202     /*Get quatity of random product by categories*/
203     @SuppressWarnings JavaDoc("unchecked")
204     public List JavaDoc<Product> getRelatedProduct(long inode, int quantity){
205         
206         List JavaDoc<Category> categoriesList = null;
207         
208         if(inode > 0){
209             try {
210                 Product source = (Product) InodeFactory.getInode(inode, Product.class);
211                 categoriesList = (List JavaDoc<Category>) InodeFactory.getParentsOfClass(source,Category.class);
212             }
213             catch (Exception JavaDoc e) {
214                 Contentlet source = (Contentlet) InodeFactory.getInode(inode, Contentlet.class);
215                 categoriesList = (List JavaDoc<Category>) InodeFactory.getParentsOfClass(source,Category.class);
216             }
217         }
218         
219         List JavaDoc<Product> productList = ProductFactory.getAllProductsByCategoryList(categoriesList,quantity,"newid()","","",0,0);
220         
221         if(productList == null || productList.size() == 0){
222             categoriesList = null;
223             productList = ProductFactory.getAllProductsByCategoryList(categoriesList,quantity,"newid()","","",0,0);
224         }
225
226         return productList;
227     }
228     
229     /*Get quatity of random product by categories*/
230     public List JavaDoc<Contentlet> getRecommendedArticles(String JavaDoc inode, String JavaDoc quantity){
231         
232         long inodeL = Long.parseLong(inode);
233         int productQuatity = Integer.parseInt(quantity);
234         return getRecommendedArticles(inodeL,productQuatity);
235     }
236     
237     /*Get quatity of random product by categories*/
238     @SuppressWarnings JavaDoc("unchecked")
239     public List JavaDoc<Contentlet> getRecommendedArticles(long inode, int quantity){
240         
241         List JavaDoc<Category> categoriesList = null;
242         
243         try {
244             Product source = (Product) InodeFactory.getInode(inode, Product.class);
245             categoriesList = (List JavaDoc<Category>) InodeFactory.getParentsOfClass(source,Category.class);
246         }
247         catch (Exception JavaDoc e) {
248             Contentlet source = (Contentlet) InodeFactory.getInode(inode, Contentlet.class);
249             categoriesList = (List JavaDoc<Category>) InodeFactory.getParentsOfClass(source,Category.class);
250         }
251
252         Structure structure = StructureFactory.getStructureByType(Config.getStringProperty("KNOWLEDGE_ASSET_STRUCTURE"));
253         List JavaDoc<Contentlet> articleList = ContentletFactory.getContentletsByStuctureAndCategoryList(structure,categoriesList,quantity,"newid()");
254         
255         if(articleList == null || articleList.size() == 0){
256             categoriesList = null;
257             articleList = ContentletFactory.getContentletsByStuctureAndCategoryList(structure,categoriesList,quantity,"newid()");
258         }
259         return articleList;
260     }
261     
262     public User getUserByOrder(String JavaDoc orderUserInode){
263         
264         long orderUserInodeL = Long.parseLong(orderUserInode);
265         UserProxy orderUser = UserProxyFactory.getUserProxy(orderUserInodeL);
266         User user = PublicUserFactory.getUserByUserId(orderUser.getUserId());
267         
268         return user;
269     }
270     
271     @SuppressWarnings JavaDoc("unchecked")
272     public List JavaDoc<OrderItem> getOrderItemListByOrder(String JavaDoc orderInode){
273         
274         long orderId = Long.parseLong(orderInode);
275         List JavaDoc<OrderItem> orderItemList = (List JavaDoc<OrderItem>) OrderItemFactory.getOrderItemsByOrderId(orderId);
276         return orderItemList;
277         
278     }
279     
280     public ActionForm loadFeaturedProductByCategory(ActionForm lf,HttpServletRequest JavaDoc request)
281     {
282         lf = (lf != null ? lf : new ProductsForm());
283         ProductFactory.loadFeaturedProductByCategory(lf,request);
284         return lf;
285     }
286     
287     public ActionForm loadProductByCategory(ActionForm lf,HttpServletRequest JavaDoc request)
288     {
289         lf = (lf != null ? lf : new ProductsForm());
290         ProductFactory.loadProductByCategory(lf,request);
291         return lf;
292     }
293     
294     public ActionForm loadProduct(ActionForm lf,HttpServletRequest JavaDoc request)
295     {
296         lf = (lf != null ? lf : new ProductsForm());
297         ProductsForm productsForm = (ProductsForm) lf;
298         if (UtilMethods.isSet(request.getParameter("inode")) && UtilMethods.isLong(request.getParameter("inode")))
299         {
300             productsForm.setInode(Long.parseLong(request.getParameter("inode")));
301         }
302         ProductFactory.loadProduct(lf,request);
303         return lf;
304     }
305     
306     public ActionForm loadTypeProducts(ActionForm lf, HttpServletRequest JavaDoc request)
307     {
308         lf = (lf != null ? lf : new ProductsForm());
309         ProductFactory.loadTypeProducts(lf,request);
310         return lf;
311     }
312     
313 // public List loadProductFilesList(ActionForm lf,HttpServletRequest request)
314
public List JavaDoc loadProductFilesList(HttpServletRequest JavaDoc request)
315     {
316 // Product product = (Product) request.getAttribute(WebKeys.PRODUCT_PRODUCT);
317
Product product = new Product();
318         product.setInode(request.getParameter("inode"));
319         Identifier identifier;
320         File file;
321         
322         ArrayList JavaDoc<File> files = new ArrayList JavaDoc<File>();
323         List JavaDoc identifiers = InodeFactory.getChildrenClassByRelationType(product,Identifier.class,WebKeys.PRODUCT_FILES);
324         Iterator JavaDoc it = identifiers.iterator();
325         
326         while (it.hasNext()) {
327             identifier = (Identifier) it.next();
328             file = (File) IdentifierFactory.getWorkingChildOfClass(identifier, File.class);
329             files.add((File) InodeFactory.getInode(file.getInode(), File.class));
330         }
331         
332         return files;
333     }
334 }
335
Popular Tags