Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1 - 9
- 2 - 1
- 3 - 0
- 4 - 5
- 5 - 20
- სულ - 26
- /////////////////////////////////////////////////////////1
- # გატესტვად კოდათ გადაკეთებული არ არის
- # დამოკვა არ არის
- # unit test არ არის ეგ ტესტები
- public void serveltTests() {
- HttpServletResponse response = new HttpServletResponse();
- HttpServletRequest request = new HttpServletRequest();
- request.setAttribute("username","beqa");
- request.setAttribute("password","bla");
- request.setAttribute("driver","com.mysql.jdbc.Driver");
- assertEquals("OK",SignUp.doPost(request,response));//damiregistrirebs beqas parolit bla.
- assertEquals("ERROR",SignUp.doPost(request,response));//errors radgan naxavs rom beqa bla ti ukve arsebobs.
- }
- public void serveltTests2() {
- HttpServletResponse response = new HttpServletResponse();
- HttpServletRequest request = new HttpServletRequest();
- request.setAttribute("username","beqa");
- request.setAttribute("password","bla");
- request.setAttribute("rame");
- assertEquals("Exception",SignUp.doPost(request,response));//rame drivers ver ipovis.
- HttpServletRequest newrequest = new HttpServletRequest();
- assertEquals("Servlet",SignUp.doPost(request,response));//getParameters ver gaaketebs da catchshi gadava.
- assertEquals("io",SignUp.doPost(request,null));
- }
- @WebServlet(name = "SignUpServlet", value = {"/signup"})
- public class SignUp extends HttpServlet {
- public static String doPost(HttpServletRequest request, HttpServletResponse response)
- {
- try {
- String userName = request.getParameter("username");
- String password = request.getParameter("password");
- String driver = request.getParameter("driver");
- DataManager dataManager = new DataManager(driver);
- String result = dataManager.register(userName, password);
- response.getWriter().write(result);
- return result;
- } catch (Exception e) {
- return("Exception");
- } catch(ServletException e) {
- return "Servlet";
- } catch(IOException e) {
- return "io";
- }
- }
- private class DataManager {
- private UserDao dao;
- public DataManager(String driver) throws ClassNotFoundException {
- Class.forName(driver);
- dao = new UserDao();
- }
- public String register(String userName, String password) {
- boolean success = false;
- try {
- success = dao.register(username, password);
- } catch (Exception e) {
- return "exception";
- }
- if (success) {
- return "OK";
- } else {
- return "ERROR";
- }
- }
- }
- ///////////////////////////////////////////////////
- public void testDataManager() {
- //1
- DataManager datamanager = new DataManager("bla");
- /////aq vamowmebdit exceptionis srolas ubralod agar maxsovs sintaqsurad roogr iwereba amitom.
- ///exception aris ClassNotFoundException.
- //2
- DataManager datamanager = new DataManager("com.mysql.jdbc.Driver");
- assertEquals("OK", datamanager.register("beqa","bla"); //dafaravs if is ert nawils da trys.
- assertEquals("ERROR",datamanager.register("beqa","bla");//es sheva ukve errorshi radgan meorejer varegistrireb.
- assertEquals("exception",datamanager.register("","");//aq rame gafuchebul;s davwerdit isets ro catchshi gadasuliyo.
- }
- /////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////2
- new Child().foo();
- es dabechdavs aset rames.
- sheva aq.
- public void foo() {
- super.foo();
- System.out.println(this.bar() + " " + this.n++);
- }
- super.foo(); gadaiyvans parent classhi da daabechdinebs
- 2 3-s
- mere gaagrdzelebs chlid klasi da dabechavs 3 4s
- ((Parent) new Child()).foo();
- exlas es dabechdavs 3 4 s radgan this jer kidev child klass miutitebs.
- ///////b nawili.
- sheiqmna thread.
- start() gaeshva rac imas nishnavs rom gamoidzaxes chveni gadavirtuli run metodi.
- daiwera Thread1.
- ints is mesame da meotxe udris ertmanets amitom daiwera 6.
- mere kide daistarta mara wina thread ar gagvitishavs ase rom daewereba
- Thread2
- da shesabamisad 7.
- /////////////////////////////////////////////////////////5
- public class Helper() {
- Map<String, Integer> map;
- private int count;
- public Helper() {
- count =0;
- map = new HashMap<>();
- }
- public void addUser(String id) {
- if(map.contains(id)) {
- int k = map.get(id);
- k++:
- map.replace(id,k);
- }else {
- map.put(id,1);
- }
- }
- public int getCount(String id) {
- return map.get(id);
- }
- public void resetCount() {
- count =0;
- }
- public int getNumUsers() {
- return count;
- }
- public void incrementUser() {
- count ++;
- }
- }
- ////////amas chavagdebdi contextshi listeneris sashualebit rac davalebebshi gviweria ubralod listeneris
- ///klass java tavisit qmnida da sintaqsi agar maxsovs.. chagdebis mere ki servletshi gamoviyenebt xolme am contexts.
- /*****amocana 5***************/
- // მოყოლილი აქვს რას იზამდა, მაგრამ არ აქვს დაწერილი
- // შეფასება: 20
- @WebServlet(name = "VideoPlayerServlet ", value = {"/VideoPlayerServlet "})
- public class VideoPlayerServlet extends HttpServlet {
- public String doGet(HttpServletRequest request, HttpServletResponse response) {
- Helper helper = (Helper)getServletContext. //aq daiwereboda contextidan listenershi dawerili attributeti ti ragac stringit am klasis amogeba. chavtvli rom maqvs es klasi.
- String id = request.getParameter("id");
- helper.incrementUser();
- helper.addUser(id);
- if(helper.getNumUsers() == 1000) {
- helper.resetCount();
- if(getCount(id) >= 5) {
- //es gadava ufaso videos pageze da ayurebinebs users.
- RequestDispatcher dispatch = request.getRequestDispatcher("FreeVideoServlet.jsp");
- dispatch.forward(request, response);
- }
- }else {
- RequestDispatcher dispatch = request.getRequestDispatcher("PaidVideoServlet.jsp");
- dispatch.forward(request, response);
- }
- }
- //am amocanashi aset logikas vwer(tu rames aris gamarchenili)
- // vigulisxme rom jsp shi unda mqondes ID-ebi. radgan sxvanairad ver ganvasxvaveb clientebs da ver davitvli
- //ramdeni pasiani video aqvt nanaxi.
- // contextshi migdia klasi sadac vinaxav mtel informacias. vamowmeb ramdeni user aris tu 1000 da am konkretuls
- //5ze meti fasiani aqvs nanaxi mashin vushveb freeze tu arada paidze. sheemdzlo getParameterit video amomego
- //magram me arafershi ar mchirdeboda pirobashi ar ewerad motxovnad ro romelime jsps gaataneo shesabamisad arafershi ar damchirda.
- //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.
- /////////////////////////////////////////////////////////3
- wLock() - ????? ????? ?????????
- wUnlock() - ??????? ????? ?????????
- rLock() - ????? ????? ??????????
- rUnlock() - ?????????? ????? ?????????.
- class RWMutex extends Thread{
- //1. ???? ???????? ??????? ?????? ??????? ???? ??????? ????
- //(??? ??????? ?????????? wLock() ??????) ????? ?????? ???????? wLock()-??
- //?????????? ???? ????????? ????? ????? ??????? ?????? ?? ??????????? wUnlock() ??????.
- public void wLock() {
- }
- public void wUnlock() {
- }
- public void rLock() {
- }
- public void rUnlock() {
- }
- @Override
- public void run() {
- }
- public static void main(String[] args) {
- }
- }
- /////////shesadzloa Array ar unda shemeqmna da list unda gamketebina mara zustad igive iqneba ubralod arr[0][0]
- //is magivrad magalitad list is getit jer list amovigebdi da mere get it kide values. copysac igivenairad gavaketebdi(Ar vici resize aq tu ara)
- //ubralod listis sintaqsi ar maxsovda da magito avige array
- ////////////////////////////////////////////////
- class MultiDimensionalList <E extends Iterable>{
- Interface Iterable<E> {
- Iterator<E> iterator()
- }
- private class MyIterator<E> implements Iterator<E> {
- private E[][] arr;
- private int a;
- private int b;
- private int all;
- private int count;
- public MyIterator(E[][] arr) {
- this.arr = arr;
- a = arr.length();
- b=arr[0].length();
- all = a*b;
- count =0;
- }
- @Override
- public boolean hasNext() {
- ////am metodis logika aris rom sanam -1 ebi weria unda gadavaxte ra tqma unda
- //radgan chems amocanashi -1 ebs aranair idatvirtva ar aqvs da elementad ar itvleba.
- //rogorc ki elemets davicher vubruneb trues xolo shemdgom next sheasrolebs tavis saqmes.
- Boolean bol =false;
- while(true) {
- int i = count /b;
- int j = count%b;
- if(arr[i][j] != -1) {
- bol = true;
- break;
- }
- if(count > all) {
- bol = false;
- break;
- }
- count ++;
- }
- return bol;
- }
- @Override
- public E next() {
- //aq yvelafers gavakontrolebt countit danashtvit da gayofebit.
- int i = count /b;
- int j = count%b;
- E value = arr[i][j];
- count ++;
- return value;
- }
- }
- //////////////////////////////////////////////////
- ///amocana ro gaviadvilo tavidan maq 10-10 zomis ormagi E masivi
- //amis shemdeg tu mounda 9-15 ze shemotana winaswarve vaketeb 10-15 zomis matrics da gadavakopireb dzvel valuebs.
- //shecdoma ar aris ubralod cota met dros mexsierebas waigebs amis xshriad gaketeba mara shezgudvebi ar gvaq shesabamisad
- // mushaobit sworad imusahvebs da iteratoris gadayolisasac advilad davwert yvealferis.
- არასწორია new E[10][10], E ტიპის მასივს ვერ შექმნი (ArrayList< List<E> >(); უნდა შეგექმნა). -3
- მეთოდი start:
- პარამეტრს ვერ დაუწერ private ს. -1
- -1 ს ვერ დაკასტავ E ში. (NULL ის მინიჭება შეგეძლო). -2
- მეთოდი get - 4/5
- არ ამოწმებ უარყოფითი ინდექსი გადმოგეცა თუ არა.
- მეთოდი set - 7/10
- არ ამოწმებ უარყოფითი ინდექსი გადმოგეცა თუ არა.
- ახალი მასივის განზომილება უნდა იყოს ინდექსზე ერთი ზომით დიდი, რადგან ინდექსირება 0 იდან იწყება.
- მეთოდი iterator - 0/5
- კლასი Iterator - 0/15
- private E[][] arr;
- private int first;
- private int second;
- public MultiDimensionalList() {
- arr = new E[10][10]; // tavidan iyos 10-10;
- first = 10;
- second = 10;
- start(arr);//shevavsot -1 it anu araferi araa.
- }
- private void start( private E[][] arr) {
- for(int i =0; i < arr.length();i++) {
- for(int j =0; j < arr[0].length();j++){
- arr[i][j] = -1;
- }
- }
- }
- public void set(int i, int j, E newElement) {
- //tu indexebshi eteva.
- if(i<first && j<second) {
- arr[i][j] = newElement;
- }else {
- ////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
- //anu tu magalitad unda 5 listis 20 elemnti da me mxolod 10-10 zoma maq mtel ormag masivs gadavaketeb 20 zomis listad
- //da meqneba 10-20 ze es mimartivebs shemdgomshi iteratoris daweras.
- if(first < i) first = i;
- if(second < j) second = j;
- E[][] newArr = new E[first][second];
- start(newArr);//shevavsot -1ebit;
- ///gadavakopirot.
- for(int i =0; i < arr.length();i++) {
- for(int j =0; j < arr[0].length();j++){
- newArr[i][j] = arr[i][j];
- }
- }
- arr = newArr;
- arr[i][j] = newElement;
- }
- }
- public Iterator<E> iterator() {
- return new MyIterator<>(arr);
- }
- public E get(int i, int j) {
- if(i<first && j<second && arr[i][j] !=-1) {
- E temp = arr[i][j];
- return temp;
- }else return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement