Advertisement
Guest User

Untitled

a guest
Aug 11th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.21 KB | None | 0 0
  1. 1 - 9
  2. 2 - 1
  3. 3 - 0
  4. 4 - 5
  5. 5 - 20
  6. სულ - 26
  7.  
  8.  
  9. /////////////////////////////////////////////////////////1
  10. # გატესტვად კოდათ გადაკეთებული არ არის
  11. # დამოკვა არ არის
  12. # unit test არ არის ეგ ტესტები
  13. public void serveltTests() {
  14. HttpServletResponse response = new HttpServletResponse();
  15. HttpServletRequest request = new HttpServletRequest();
  16. request.setAttribute("username","beqa");
  17. request.setAttribute("password","bla");
  18. request.setAttribute("driver","com.mysql.jdbc.Driver");
  19. assertEquals("OK",SignUp.doPost(request,response));//damiregistrirebs beqas parolit bla.
  20. assertEquals("ERROR",SignUp.doPost(request,response));//errors radgan naxavs rom beqa bla ti ukve arsebobs.
  21. }
  22. public void serveltTests2() {
  23. HttpServletResponse response = new HttpServletResponse();
  24. HttpServletRequest request = new HttpServletRequest();
  25. request.setAttribute("username","beqa");
  26. request.setAttribute("password","bla");
  27. request.setAttribute("rame");
  28.  
  29. assertEquals("Exception",SignUp.doPost(request,response));//rame drivers ver ipovis.
  30. HttpServletRequest newrequest = new HttpServletRequest();
  31. assertEquals("Servlet",SignUp.doPost(request,response));//getParameters ver gaaketebs da catchshi gadava.
  32. assertEquals("io",SignUp.doPost(request,null));
  33. }
  34.  
  35.  
  36.  
  37. @WebServlet(name = "SignUpServlet", value = {"/signup"})
  38. public class SignUp extends HttpServlet {
  39. public static String doPost(HttpServletRequest request, HttpServletResponse response)
  40. {
  41. try {
  42. String userName = request.getParameter("username");
  43. String password = request.getParameter("password");
  44. String driver = request.getParameter("driver");
  45.  
  46. DataManager dataManager = new DataManager(driver);
  47. String result = dataManager.register(userName, password);
  48. response.getWriter().write(result);
  49. return result;
  50. } catch (Exception e) {
  51. return("Exception");
  52. } catch(ServletException e) {
  53. return "Servlet";
  54. } catch(IOException e) {
  55. return "io";
  56. }
  57. }
  58.  
  59. private class DataManager {
  60. private UserDao dao;
  61. public DataManager(String driver) throws ClassNotFoundException {
  62. Class.forName(driver);
  63. dao = new UserDao();
  64. }
  65.  
  66. public String register(String userName, String password) {
  67. boolean success = false;
  68.  
  69. try {
  70. success = dao.register(username, password);
  71. } catch (Exception e) {
  72. return "exception";
  73. }
  74.  
  75. if (success) {
  76. return "OK";
  77. } else {
  78. return "ERROR";
  79. }
  80. }
  81. }
  82.  
  83. ///////////////////////////////////////////////////
  84. public void testDataManager() {
  85. //1
  86. DataManager datamanager = new DataManager("bla");
  87. /////aq vamowmebdit exceptionis srolas ubralod agar maxsovs sintaqsurad roogr iwereba amitom.
  88. ///exception aris ClassNotFoundException.
  89.  
  90. //2
  91. DataManager datamanager = new DataManager("com.mysql.jdbc.Driver");
  92. assertEquals("OK", datamanager.register("beqa","bla"); //dafaravs if is ert nawils da trys.
  93. assertEquals("ERROR",datamanager.register("beqa","bla");//es sheva ukve errorshi radgan meorejer varegistrireb.
  94. assertEquals("exception",datamanager.register("","");//aq rame gafuchebul;s davwerdit isets ro catchshi gadasuliyo.
  95. }
  96.  
  97.  
  98.  
  99.  
  100. /////////////////////////////////////////////////////////
  101.  
  102.  
  103.  
  104.  
  105. /////////////////////////////////////////////////////////2
  106.  
  107. new Child().foo();
  108. es dabechdavs aset rames.
  109. sheva aq.
  110. public void foo() {
  111. super.foo();
  112. System.out.println(this.bar() + " " + this.n++);
  113. }
  114. super.foo(); gadaiyvans parent classhi da daabechdinebs
  115. 2 3-s
  116. mere gaagrdzelebs chlid klasi da dabechavs 3 4s
  117.  
  118.  
  119. ((Parent) new Child()).foo();
  120. exlas es dabechdavs 3 4 s radgan this jer kidev child klass miutitebs.
  121.  
  122.  
  123. ///////b nawili.
  124. sheiqmna thread.
  125. start() gaeshva rac imas nishnavs rom gamoidzaxes chveni gadavirtuli run metodi.
  126. daiwera Thread1.
  127. ints is mesame da meotxe udris ertmanets amitom daiwera 6.
  128. mere kide daistarta mara wina thread ar gagvitishavs ase rom daewereba
  129. Thread2
  130. da shesabamisad 7.
  131.  
  132.  
  133. /////////////////////////////////////////////////////////5
  134.  
  135.  
  136. public class Helper() {
  137. Map<String, Integer> map;
  138. private int count;
  139.  
  140. public Helper() {
  141. count =0;
  142. map = new HashMap<>();
  143. }
  144.  
  145. public void addUser(String id) {
  146. if(map.contains(id)) {
  147. int k = map.get(id);
  148. k++:
  149. map.replace(id,k);
  150. }else {
  151. map.put(id,1);
  152. }
  153. }
  154.  
  155. public int getCount(String id) {
  156. return map.get(id);
  157. }
  158. public void resetCount() {
  159. count =0;
  160. }
  161.  
  162. public int getNumUsers() {
  163. return count;
  164. }
  165. public void incrementUser() {
  166. count ++;
  167. }
  168. }
  169.  
  170. ////////amas chavagdebdi contextshi listeneris sashualebit rac davalebebshi gviweria ubralod listeneris
  171. ///klass java tavisit qmnida da sintaqsi agar maxsovs.. chagdebis mere ki servletshi gamoviyenebt xolme am contexts.
  172.  
  173.  
  174. /*****amocana 5***************/
  175. // მოყოლილი აქვს რას იზამდა, მაგრამ არ აქვს დაწერილი
  176. // შეფასება: 20
  177. @WebServlet(name = "VideoPlayerServlet ", value = {"/VideoPlayerServlet "})
  178. public class VideoPlayerServlet extends HttpServlet {
  179.  
  180. public String doGet(HttpServletRequest request, HttpServletResponse response) {
  181. Helper helper = (Helper)getServletContext. //aq daiwereboda contextidan listenershi dawerili attributeti ti ragac stringit am klasis amogeba. chavtvli rom maqvs es klasi.
  182.  
  183. String id = request.getParameter("id");
  184. helper.incrementUser();
  185. helper.addUser(id);
  186. if(helper.getNumUsers() == 1000) {
  187. helper.resetCount();
  188. if(getCount(id) >= 5) {
  189. //es gadava ufaso videos pageze da ayurebinebs users.
  190. RequestDispatcher dispatch = request.getRequestDispatcher("FreeVideoServlet.jsp");
  191. dispatch.forward(request, response);
  192. }
  193. }else {
  194.  
  195. RequestDispatcher dispatch = request.getRequestDispatcher("PaidVideoServlet.jsp");
  196. dispatch.forward(request, response);
  197. }
  198. }
  199. //am amocanashi aset logikas vwer(tu rames aris gamarchenili)
  200. // vigulisxme rom jsp shi unda mqondes ID-ebi. radgan sxvanairad ver ganvasxvaveb clientebs da ver davitvli
  201. //ramdeni pasiani video aqvt nanaxi.
  202. // contextshi migdia klasi sadac vinaxav mtel informacias. vamowmeb ramdeni user aris tu 1000 da am konkretuls
  203. //5ze meti fasiani aqvs nanaxi mashin vushveb freeze tu arada paidze. sheemdzlo getParameterit video amomego
  204. //magram me arafershi ar mchirdeboda pirobashi ar ewerad motxovnad ro romelime jsps gaataneo shesabamisad arafershi ar damchirda.
  205.  
  206. //tu rame iyo motxovna da ver gavige PrintWriter out = response.getWriter(); davwerti da out.appendit chavugdebdi rac undoda :/ mara memgoni dispatcharit gasavla jspze bevrad jobia danarchen logikas.
  207.  
  208.  
  209. /////////////////////////////////////////////////////////3
  210. wLock() - ????? ????? ?????????
  211. wUnlock() - ??????? ????? ?????????
  212. rLock() - ????? ????? ??????????
  213. rUnlock() - ?????????? ????? ?????????.
  214.  
  215. class RWMutex extends Thread{
  216.  
  217.  
  218. //1. ???? ???????? ??????? ?????? ??????? ???? ??????? ????
  219. //(??? ??????? ?????????? wLock() ??????) ????? ?????? ???????? wLock()-??
  220. //?????????? ???? ????????? ????? ????? ??????? ?????? ?? ??????????? wUnlock() ??????.
  221. public void wLock() {
  222.  
  223. }
  224.  
  225. public void wUnlock() {
  226.  
  227. }
  228. public void rLock() {
  229.  
  230. }
  231.  
  232. public void rUnlock() {
  233.  
  234. }
  235. @Override
  236. public void run() {
  237.  
  238. }
  239.  
  240. public static void main(String[] args) {
  241.  
  242. }
  243. }
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264. /////////shesadzloa Array ar unda shemeqmna da list unda gamketebina mara zustad igive iqneba ubralod arr[0][0]
  265. //is magivrad magalitad list is getit jer list amovigebdi da mere get it kide values. copysac igivenairad gavaketebdi(Ar vici resize aq tu ara)
  266. //ubralod listis sintaqsi ar maxsovda da magito avige array
  267.  
  268. ////////////////////////////////////////////////
  269. class MultiDimensionalList <E extends Iterable>{
  270.  
  271.  
  272.  
  273. Interface Iterable<E> {
  274. Iterator<E> iterator()
  275. }
  276.  
  277. private class MyIterator<E> implements Iterator<E> {
  278. private E[][] arr;
  279. private int a;
  280. private int b;
  281. private int all;
  282. private int count;
  283.  
  284. public MyIterator(E[][] arr) {
  285. this.arr = arr;
  286. a = arr.length();
  287. b=arr[0].length();
  288. all = a*b;
  289. count =0;
  290. }
  291.  
  292.  
  293.  
  294. @Override
  295. public boolean hasNext() {
  296. ////am metodis logika aris rom sanam -1 ebi weria unda gadavaxte ra tqma unda
  297. //radgan chems amocanashi -1 ebs aranair idatvirtva ar aqvs da elementad ar itvleba.
  298. //rogorc ki elemets davicher vubruneb trues xolo shemdgom next sheasrolebs tavis saqmes.
  299. Boolean bol =false;
  300. while(true) {
  301. int i = count /b;
  302. int j = count%b;
  303. if(arr[i][j] != -1) {
  304. bol = true;
  305. break;
  306. }
  307. if(count > all) {
  308. bol = false;
  309. break;
  310. }
  311. count ++;
  312. }
  313.  
  314. return bol;
  315. }
  316.  
  317.  
  318. @Override
  319. public E next() {
  320. //aq yvelafers gavakontrolebt countit danashtvit da gayofebit.
  321. int i = count /b;
  322. int j = count%b;
  323. E value = arr[i][j];
  324. count ++;
  325. return value;
  326. }
  327. }
  328.  
  329.  
  330.  
  331.  
  332.  
  333. //////////////////////////////////////////////////
  334. ///amocana ro gaviadvilo tavidan maq 10-10 zomis ormagi E masivi
  335. //amis shemdeg tu mounda 9-15 ze shemotana winaswarve vaketeb 10-15 zomis matrics da gadavakopireb dzvel valuebs.
  336. //shecdoma ar aris ubralod cota met dros mexsierebas waigebs amis xshriad gaketeba mara shezgudvebi ar gvaq shesabamisad
  337. // mushaobit sworad imusahvebs da iteratoris gadayolisasac advilad davwert yvealferis.
  338.  
  339. არასწორია new E[10][10], E ტიპის მასივს ვერ შექმნი (ArrayList< List<E> >(); უნდა შეგექმნა). -3
  340. მეთოდი start:
  341. პარამეტრს ვერ დაუწერ private ს. -1
  342. -1 ს ვერ დაკასტავ E ში. (NULL ის მინიჭება შეგეძლო). -2
  343.  
  344. მეთოდი get - 4/5
  345. არ ამოწმებ უარყოფითი ინდექსი გადმოგეცა თუ არა.
  346. მეთოდი set - 7/10
  347. არ ამოწმებ უარყოფითი ინდექსი გადმოგეცა თუ არა.
  348. ახალი მასივის განზომილება უნდა იყოს ინდექსზე ერთი ზომით დიდი, რადგან ინდექსირება 0 იდან იწყება.
  349. მეთოდი iterator - 0/5
  350. კლასი Iterator - 0/15
  351.  
  352. private E[][] arr;
  353. private int first;
  354. private int second;
  355.  
  356. public MultiDimensionalList() {
  357. arr = new E[10][10]; // tavidan iyos 10-10;
  358. first = 10;
  359. second = 10;
  360. start(arr);//shevavsot -1 it anu araferi araa.
  361. }
  362.  
  363. private void start( private E[][] arr) {
  364. for(int i =0; i < arr.length();i++) {
  365. for(int j =0; j < arr[0].length();j++){
  366. arr[i][j] = -1;
  367. }
  368. }
  369. }
  370. public void set(int i, int j, E newElement) {
  371. //tu indexebshi eteva.
  372. if(i<first && j<second) {
  373. arr[i][j] = newElement;
  374. }else {
  375. ////tavidan xoa 10-10 tu magis mere mitxra ro 11-10 mindao gavaketeb amxelas tu mitxra 8-15 minda ratqmaunda 10-15 unda gavaketo ro dzveli dawerilebic davimaxsovro 9-10 rowshi
  376. //anu tu magalitad unda 5 listis 20 elemnti da me mxolod 10-10 zoma maq mtel ormag masivs gadavaketeb 20 zomis listad
  377. //da meqneba 10-20 ze es mimartivebs shemdgomshi iteratoris daweras.
  378. if(first < i) first = i;
  379. if(second < j) second = j;
  380. E[][] newArr = new E[first][second];
  381. start(newArr);//shevavsot -1ebit;
  382. ///gadavakopirot.
  383. for(int i =0; i < arr.length();i++) {
  384. for(int j =0; j < arr[0].length();j++){
  385. newArr[i][j] = arr[i][j];
  386. }
  387. }
  388. arr = newArr;
  389. arr[i][j] = newElement;
  390. }
  391. }
  392.  
  393. public Iterator<E> iterator() {
  394. return new MyIterator<>(arr);
  395. }
  396.  
  397. public E get(int i, int j) {
  398. if(i<first && j<second && arr[i][j] !=-1) {
  399. E temp = arr[i][j];
  400. return temp;
  401. }else return null;
  402. }
  403. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement