/RestauraceFelServer/src/main/java/cz/cvut/fel/restauracefel/manager_service/ServiceFacadeManager.java

https://github.com/kosekma1/cashBob · Java · 577 lines · 452 code · 106 blank · 19 comment · 6 complexity · c60112a743d10cd62dab3b735345c426 MD5 · raw file

  1. package cz.cvut.fel.restauracefel.manager_service;
  2. import cz.cvut.fel.restauracefel.hibernate.Material;
  3. import cz.cvut.fel.restauracefel.hibernate.MaterialType;
  4. import cz.cvut.fel.restauracefel.hibernate.Menu;
  5. import cz.cvut.fel.restauracefel.hibernate.MenuItem;
  6. import cz.cvut.fel.restauracefel.hibernate.MenuItemType;
  7. import cz.cvut.fel.restauracefel.hibernate.Role;
  8. import cz.cvut.fel.restauracefel.hibernate.Table;
  9. import cz.cvut.fel.restauracefel.hibernate.UnitType;
  10. import cz.cvut.fel.restauracefel.hibernate.UsedMaterial;
  11. import cz.cvut.fel.restauracefel.hibernate.User;
  12. import cz.cvut.fel.restauracefel.hibernate.UserRole;
  13. import cz.cvut.fel.restauracefel.library.service.ConfigParser;
  14. import java.io.FileNotFoundException;
  15. import java.net.InetAddress;
  16. import java.rmi.*;
  17. import java.rmi.registry.Registry;
  18. import java.rmi.server.*;
  19. import java.util.Date;
  20. import java.util.List;
  21. import cz.cvut.fel.restauracefel.server.service.controllers.MaterialController;
  22. import cz.cvut.fel.restauracefel.server.service.controllers.MaterialTypeController;
  23. import cz.cvut.fel.restauracefel.server.service.controllers.MenuController;
  24. import cz.cvut.fel.restauracefel.server.service.controllers.MenuItemController;
  25. import cz.cvut.fel.restauracefel.server.service.controllers.MenuItemTypeController;
  26. import cz.cvut.fel.restauracefel.server.service.controllers.MenuMenuItemController;
  27. import cz.cvut.fel.restauracefel.server.service.controllers.RoleController;
  28. import cz.cvut.fel.restauracefel.server.service.controllers.TableController;
  29. import cz.cvut.fel.restauracefel.server.service.controllers.UnitTypeController;
  30. import cz.cvut.fel.restauracefel.server.service.controllers.UsedMaterialController;
  31. import cz.cvut.fel.restauracefel.server.service.controllers.UserController;
  32. import cz.cvut.fel.restauracefel.server.service.controllers.UserRoleController;
  33. /**
  34. *
  35. * @author Jarda
  36. */
  37. public class ServiceFacadeManager extends UnicastRemoteObject implements IServiceFacadeManager {
  38. //singleton
  39. protected static ServiceFacadeManager instance = null;
  40. public ServiceFacadeManager() throws RemoteException {
  41. super();
  42. }
  43. public void initServiceFacadeRMI(Registry reg) throws java.net.UnknownHostException, RemoteException, FileNotFoundException {
  44. if (System.getSecurityManager() == null) {
  45. System.setSecurityManager(new RMISecurityManager());
  46. }
  47. String name = "ServiceFacadeManager";
  48. ConfigParser config = new ConfigParser();
  49. InetAddress inetAddress = InetAddress.getByName(config.getServerIP());
  50. //Stub - tato fasada se jevi klientovi jako lokalni
  51. IServiceFacadeManager facade = ServiceFacadeManager.getInstance();
  52. reg.rebind(name, facade);
  53. System.out.println("Servisni fasada pro modul MANAGER zaregistrovana pod jmenem \"ServiceFacadeManager\"");
  54. System.out.println("Pripojeni pres adresu:" + inetAddress.toString() + "\n\n");
  55. }
  56. //Vraci instanci tridy ServiceFacadeManager
  57. public static ServiceFacadeManager getInstance() throws RemoteException {
  58. if (instance == null) {
  59. instance = new ServiceFacadeManager();
  60. }
  61. return instance;
  62. }
  63. //USER
  64. @Override
  65. public List getAllUsers() throws RemoteException {
  66. return UserController.getInstance().getAllUsers();
  67. }
  68. @Override
  69. public boolean createUser(String name, String surname, String pid, String username, String passwd) throws RemoteException {
  70. return UserController.getInstance().createUser(name, surname, pid, username, passwd);
  71. }
  72. @Override
  73. public boolean isValidUser(String username, String passwd) throws RemoteException {
  74. return UserController.getInstance().isValidUser(username, passwd);
  75. }
  76. @Override
  77. public User getUserByPID(String pid) throws RemoteException {
  78. return UserController.getInstance().getUserByPID(pid);
  79. }
  80. @Override
  81. public User getUserByUsername(String userName) throws RemoteException {
  82. return UserController.getInstance().getUserByUsername(userName);
  83. }
  84. @Override
  85. public User getUserById(int id) throws RemoteException {
  86. return UserController.getInstance().getUserById(id);
  87. }
  88. @Override
  89. public boolean deleteUser(int userId) throws RemoteException {
  90. return UserController.getInstance().deleteUser(userId);
  91. }
  92. @Override
  93. public String[] getUserNames() throws RemoteException {
  94. return UserController.getInstance().getUserNames();
  95. }
  96. @Override
  97. public String[] getUserUsernames() throws RemoteException {
  98. return UserController.getInstance().getUserUsernames();
  99. }
  100. @Override
  101. public Object[][] getUsers() throws RemoteException {
  102. return UserController.getInstance().getUsers();
  103. }
  104. @Override
  105. public boolean updateUser(Integer userId, String name, String surname, String pid, String username) throws RemoteException {
  106. return UserController.getInstance().updateUser(userId, name, surname, pid, username);
  107. }
  108. @Override
  109. public String getDefaultPasswd() throws RemoteException {
  110. return UserController.getInstance().getDefaultPasswd();
  111. }
  112. @Override
  113. public boolean updateUserPassword(Integer userId, String newPassword) throws RemoteException {
  114. return UserController.getInstance().updateUserPassword(userId, newPassword);
  115. }
  116. @Override
  117. public boolean isValidOldPasswd(Integer userId, String passwd) throws RemoteException {
  118. return UserController.getInstance().isValidOldPasswd(userId, passwd);
  119. }
  120. //ROLE
  121. @Override
  122. public List getAllRoles() throws RemoteException {
  123. return RoleController.getInstance().getAllRoles();
  124. }
  125. @Override
  126. public String[] getRoleNames() throws RemoteException {
  127. return RoleController.getInstance().getRoleNames();
  128. }
  129. @Override
  130. public Role getRoleByID(int id) throws RemoteException {
  131. return RoleController.getInstance().getRoleByID(id);
  132. }
  133. @Override
  134. public Role getRoleByName(String name) throws RemoteException {
  135. return RoleController.getInstance().getRoleByName(name);
  136. }
  137. //MATERIAL
  138. @Override
  139. public boolean createMaterial(String name, int idMaterialType, int idUnitType, String barcode, double minimal,double density, double emptyPackageWeight, double packageCapacity) throws RemoteException {
  140. return MaterialController.getInstance().createMaterial(name, idMaterialType, idUnitType, barcode, minimal,density, emptyPackageWeight,packageCapacity);
  141. }
  142. @Override
  143. public List getAllMaterials() throws RemoteException {
  144. return MaterialController.getInstance().getAllMaterials();
  145. }
  146. @Override
  147. public Material getMaterialByID(int id) throws RemoteException {
  148. return MaterialController.getInstance().getMaterialByID(id);
  149. }
  150. @Override
  151. public Material getMaterialByName(String name) throws RemoteException {
  152. return MaterialController.getInstance().getMaterialByName(name);
  153. }
  154. @Override
  155. public String[] getMaterialNames() throws RemoteException {
  156. return MaterialController.getInstance().getMaterialNames();
  157. }
  158. @Override
  159. public Object[][] getMaterials() throws RemoteException {
  160. return MaterialController.getInstance().getMaterials();
  161. }
  162. @Override
  163. public String[] getMaterialNamesByMaterialType(int materialTypeId) throws RemoteException {
  164. return MaterialController.getInstance().getMaterialNamesByMaterialType(materialTypeId);
  165. }
  166. @Override
  167. public boolean deleteMaterial(int materialId) throws RemoteException {
  168. return MaterialController.getInstance().deleteMaterial(materialId);
  169. }
  170. @Override
  171. public boolean updateMaterial(Integer materialId, String name, int idMaterialType, int idUnitType, String barcode, double minimal,double density, double emptyPackageWeight, double packageCapacity) throws RemoteException {
  172. return MaterialController.getInstance().updateMaterial(materialId, name, idMaterialType, idUnitType, barcode, minimal,density, emptyPackageWeight, packageCapacity);
  173. }
  174. @Override
  175. public boolean isDeletableMaterial(int materialId) throws RemoteException {
  176. return MaterialController.getInstance().isDeletableMaterial(materialId);
  177. }
  178. //MATERIALTYPE
  179. @Override
  180. public boolean createMaterialType(String name, String note) throws RemoteException {
  181. return MaterialTypeController.getInstance().createMaterialType(name, note);
  182. }
  183. @Override
  184. public boolean deleteMaterialType(int materialTypeId) throws RemoteException {
  185. return MaterialTypeController.getInstance().deleteMaterialType(materialTypeId);
  186. }
  187. @Override
  188. public boolean updateMaterialType(int materialTypeId, String name, String note) throws RemoteException {
  189. return MaterialTypeController.getInstance().updateMaterialType(materialTypeId, name, note);
  190. }
  191. @Override
  192. public List getAllMaterialTypes() throws RemoteException {
  193. return MaterialTypeController.getInstance().getAllMaterialTypes();
  194. }
  195. @Override
  196. public MaterialType getMaterialTypeByID(int id) throws RemoteException {
  197. return MaterialTypeController.getInstance().getMaterialTypeByID(id);
  198. }
  199. @Override
  200. public MaterialType getMaterialTypeByName(String name) throws RemoteException {
  201. return MaterialTypeController.getInstance().getMaterialTypeByName(name);
  202. }
  203. @Override
  204. public String[] getMaterialTypeNames() throws RemoteException {
  205. return MaterialTypeController.getInstance().getMaterialTypeNames();
  206. }
  207. @Override
  208. public Object[][] getMaterialTypes() throws RemoteException {
  209. return MaterialTypeController.getInstance().getMaterialTypes();
  210. }
  211. @Override
  212. public boolean isDeletableMaterialType(int materialTypeId) throws RemoteException {
  213. return MaterialTypeController.getInstance().isDeletableMaterialType(materialTypeId);
  214. }
  215. //UNITTYPE
  216. @Override
  217. public boolean createUnitType(String name, String abbreviation, int typeId) throws RemoteException {
  218. return UnitTypeController.getInstance().createUnitType(name, abbreviation, typeId);
  219. }
  220. @Override
  221. public boolean deleteUnitType(int unitTypeId) throws RemoteException {
  222. return UnitTypeController.getInstance().deleteUnitType(unitTypeId);
  223. }
  224. @Override
  225. public boolean updateUnitType(int unitTypeId, String name, String abbreviation, int typeId) throws RemoteException {
  226. return UnitTypeController.getInstance().updateUnitType(unitTypeId, name, abbreviation, typeId);
  227. }
  228. @Override
  229. public List getAllUnitTypes() throws RemoteException {
  230. return UnitTypeController.getInstance().getAllUnitTypes();
  231. }
  232. @Override
  233. public String[] getUnitTypeAbbrs() throws RemoteException {
  234. return UnitTypeController.getInstance().getUnitTypeAbbrs();
  235. }
  236. @Override
  237. public String[] getUnitTypeNames() throws RemoteException {
  238. return UnitTypeController.getInstance().getUnitTypeNames();
  239. }
  240. @Override
  241. public String[] getUnitTypeNamesByTypeId(int typeId) throws RemoteException {
  242. return UnitTypeController.getInstance().getUnitTypeNamesByTypeId(typeId);
  243. }
  244. @Override
  245. public String[] getUnitTypeAbbrsByTypeId(int typeId) throws RemoteException {
  246. return UnitTypeController.getInstance().getUnitTypeAbbrsByTypeId(typeId);
  247. }
  248. @Override
  249. public UnitType getUnitTypeByID(int id) throws RemoteException {
  250. return UnitTypeController.getInstance().getUnitTypeByID(id);
  251. }
  252. @Override
  253. public UnitType getUnitTypeByName(String name) throws RemoteException {
  254. return UnitTypeController.getInstance().getUnitTypeByName(name);
  255. }
  256. @Override
  257. public UnitType getUnitTypeByAbbr(String abbr) throws RemoteException {
  258. return UnitTypeController.getInstance().getUnitTypeByAbbr(abbr);
  259. }
  260. //MENUITEM
  261. @Override
  262. public boolean createMenuItem(String name, double price, String quantity, int isAvailable, int menuItemTypeId) throws RemoteException {
  263. return MenuItemController.getInstance().createMenuItem(name, price, quantity, isAvailable, menuItemTypeId);
  264. }
  265. @Override
  266. public boolean deleteMenuItem(int menuItemId) throws RemoteException {
  267. return MenuItemController.getInstance().deleteMenuItem(menuItemId);
  268. }
  269. @Override
  270. public boolean updateMenuItem(int menuItemId, String name, double price, String quantity, int isAvailable, int menuItemTypeId) throws RemoteException {
  271. return MenuItemController.getInstance().updateMenuItem(menuItemId, name, price, quantity, isAvailable, menuItemTypeId);
  272. }
  273. @Override
  274. public MenuItem getMenuItemById(int menuItemId) throws RemoteException {
  275. return MenuItemController.getInstance().getMenuItemById(menuItemId);
  276. }
  277. @Override
  278. public MenuItem getMenuItemByName(String name) throws RemoteException {
  279. return MenuItemController.getInstance().getMenuItemByName(name);
  280. }
  281. @Override
  282. public String[] getMenuItemNames() throws RemoteException {
  283. return MenuItemController.getInstance().getMenuItemNames();
  284. }
  285. @Override
  286. public Object[][] getMenuItems() throws RemoteException {
  287. return MenuItemController.getInstance().getMenuItems();
  288. }
  289. @Override
  290. public Object[][] getMenuItemsByMenu(int menuId) throws RemoteException {
  291. return MenuItemController.getInstance().getMenuItemsByMenu(menuId);
  292. }
  293. @Override
  294. public List<MenuItem> getMenuItemsByMenuList(int menuId) throws RemoteException {
  295. return MenuItemController.getInstance().getMenuItemsByMenuList(menuId);
  296. }
  297. @Override
  298. public Object[][] getMenuItemsByMenuItemType(int menuItemTypeId) throws RemoteException {
  299. return MenuItemController.getInstance().getMenuItemsByMenuItemType(menuItemTypeId);
  300. }
  301. @Override
  302. public List<MenuItem> getMenuItemsByMenuItemTypeList(int menuItemTypeId) throws RemoteException {
  303. return MenuItemController.getInstance().getMenuItemsByMenuItemTypeList(menuItemTypeId);
  304. }
  305. //MENU
  306. @Override
  307. public boolean createMenu(int userId, String name, Date date) throws RemoteException {
  308. return MenuController.getInstance().createMenu(userId, name, date);
  309. }
  310. @Override
  311. public boolean deleteMenu(int menuId) throws RemoteException {
  312. return MenuController.getInstance().deleteMenu(menuId);
  313. }
  314. @Override
  315. public boolean updateMenu(int menuId, int userId, String name, Date date) throws RemoteException {
  316. return MenuController.getInstance().updateMenu(menuId, userId, name, date);
  317. }
  318. @Override
  319. public Menu getMenuById(int menuId) throws RemoteException {
  320. return MenuController.getInstance().getMenuById(menuId);
  321. }
  322. @Override
  323. public Menu getMenuByName(String name) throws RemoteException {
  324. return MenuController.getInstance().getMenuByName(name);
  325. }
  326. @Override
  327. public Object[][] getMenus() throws RemoteException {
  328. return MenuController.getInstance().getMenus();
  329. }
  330. @Override
  331. public String[] getMenuNames() throws RemoteException {
  332. return MenuController.getInstance().getMenuNames();
  333. }
  334. //MENUMENUITEM
  335. @Override
  336. public boolean createMenuMenuItem(int menuId, int menuItemId) throws RemoteException {
  337. return MenuMenuItemController.getInstance().createMenuMenuItem(menuId, menuItemId);
  338. }
  339. @Override
  340. public boolean deleteMenuMenuItem(int menuId, int menuItemId) throws RemoteException {
  341. return MenuMenuItemController.getInstance().deleteMenuMenuItem(menuId, menuItemId);
  342. }
  343. @Override
  344. public boolean updateMenuMenuItem(int menuMenuItemId, int menuId, int menuItemId) throws RemoteException {
  345. return MenuMenuItemController.getInstance().updateMenuMenuItem(menuMenuItemId, menuId, menuItemId);
  346. }
  347. //USEDMATERIAL
  348. @Override
  349. public void createUsedMaterial(int materialId, int menuItemId, double quantity) throws RemoteException {
  350. UsedMaterialController.getInstance().createUsedMaterial(materialId, menuItemId, quantity);
  351. }
  352. @Override
  353. public boolean deleteUsedMaterial(int usedMaterialId) throws RemoteException {
  354. return UsedMaterialController.getInstance().deleteUsedMaterial(usedMaterialId);
  355. }
  356. @Override
  357. public boolean updateUsedMaterial(int usedMaterialId, int materialId, int menuItemId, double quantity) throws RemoteException {
  358. return UsedMaterialController.getInstance().updateUsedMaterial(usedMaterialId, materialId, menuItemId, quantity);
  359. }
  360. @Override
  361. public Object[][] getUsedMaterials() throws RemoteException {
  362. return UsedMaterialController.getInstance().getUsedMaterials();
  363. }
  364. @Override
  365. public Object[][] getUsedMaterialsByMenuItem(int menuItemId) throws RemoteException {
  366. return UsedMaterialController.getInstance().getUsedMaterialsByMenuItem(menuItemId);
  367. }
  368. @Override
  369. public UsedMaterial getUsedMaterialById(int usedMaterialId) throws RemoteException {
  370. return UsedMaterialController.getInstance().getUsedMaterialById(usedMaterialId);
  371. }
  372. //USERROLE
  373. @Override
  374. public boolean createUserRole(int userId, int roleId) throws RemoteException {
  375. return UserRoleController.getInstance().createUserRole(userId, roleId);
  376. }
  377. @Override
  378. public void deleteUserRole(int userId, int roleId) throws RemoteException {
  379. UserRoleController.getInstance().deleteUserRole(userId, roleId);
  380. }
  381. @Override
  382. public UserRole getUserRoleById(int userRoleId) throws RemoteException {
  383. return UserRoleController.getInstance().getUserRoleById(userRoleId);
  384. }
  385. @Override
  386. public List getUserRoleByUserId(int userId) throws RemoteException {
  387. return UserRoleController.getInstance().getUserRoleByUserId(userId);
  388. }
  389. @Override
  390. public boolean isExistedUserRole(int userId, int roleId) throws RemoteException {
  391. UserRole ur = UserRoleController.getInstance().getUserRoleByUserAndRole(userId, roleId);
  392. if (ur == null) {
  393. return false;
  394. }
  395. return true;
  396. }
  397. @Override
  398. public boolean[] getUserRoles(int userId) throws RemoteException {
  399. return UserRoleController.getInstance().getUserRoles(userId);
  400. }
  401. @Override
  402. public boolean isUserRole(int userId, int roleId) throws RemoteException {
  403. return UserRoleController.getInstance().isUserRole(userId, roleId);
  404. }
  405. //TABLE
  406. @Override
  407. public boolean createTable(int tableNumber, int numberOfPlaces) throws RemoteException {
  408. return TableController.getInstance().createTable(tableNumber, numberOfPlaces);
  409. }
  410. @Override
  411. public boolean deleteTable(int tableId) throws RemoteException {
  412. return TableController.getInstance().deleteTable(tableId);
  413. }
  414. @Override
  415. public boolean updateTable(int tableId, int tableNumber, int numberOfPlaces) throws RemoteException {
  416. return TableController.getInstance().updateTable(tableId, tableNumber, numberOfPlaces);
  417. }
  418. @Override
  419. public Table getTableById(int tableId) throws RemoteException {
  420. return TableController.getInstance().getTableById(tableId);
  421. }
  422. @Override
  423. public Table getTableByTableNumber(int tableNumber) throws RemoteException {
  424. return TableController.getInstance().getTableByTableNumber(tableNumber);
  425. }
  426. @Override
  427. public int[] getTableNumbers() throws RemoteException {
  428. return TableController.getInstance().getTableNumbers();
  429. }
  430. @Override
  431. public Object[][] getTables() throws RemoteException {
  432. return TableController.getInstance().getTables();
  433. }
  434. //MENUITEMTYPE
  435. @Override
  436. public boolean createMenuItemType(String name) throws RemoteException {
  437. return MenuItemTypeController.getInstance().createMenuItemType(name);
  438. }
  439. @Override
  440. public boolean deleteMenuItemType(int menuItemTypeId) throws RemoteException {
  441. return MenuItemTypeController.getInstance().deleteMenuItemType(menuItemTypeId);
  442. }
  443. @Override
  444. public boolean updateMenuItemType(int menuItemTypeId, String name) throws RemoteException {
  445. return MenuItemTypeController.getInstance().updateMenuItemType(menuItemTypeId, name);
  446. }
  447. @Override
  448. public MenuItemType getMenuItemTypeById(int menuItemTypeId) throws RemoteException {
  449. return MenuItemTypeController.getInstance().getMenuItemTypeById(menuItemTypeId);
  450. }
  451. @Override
  452. public MenuItemType getMenuItemTypeByName(String name) throws RemoteException {
  453. return MenuItemTypeController.getInstance().getMenuItemTypeByName(name);
  454. }
  455. @Override
  456. public String[] getMenuItemTypeNames() throws RemoteException {
  457. return MenuItemTypeController.getInstance().getMenuItemTypeNames();
  458. }
  459. @Override
  460. public List<MenuItemType> getMenuItemTypesList() throws RemoteException {
  461. return MenuItemTypeController.getInstance().getMenuItemTypesList();
  462. }
  463. @Override
  464. public Object[][] getMenuItemTypes() throws RemoteException {
  465. return MenuItemTypeController.getInstance().getMenuItemTypes();
  466. }
  467. @Override
  468. public boolean isDeletableMenuItemType(int menuItemTypeId) throws RemoteException {
  469. return MenuItemTypeController.getInstance().isDeletableMenuItemType(menuItemTypeId);
  470. }
  471. }