From 21fe2451ec81c244a2f9266341a9ac5598f1466d Mon Sep 17 00:00:00 2001 From: glau Date: Fri, 27 Jul 2018 08:40:08 +0200 Subject: [PATCH 001/134] Added Bookstore --- .../Packages/Bookstore/Bookstore/.classpath | 34 + .../IS/Packages/Bookstore/Bookstore/.project | 23 + .../Bookstore/code/classes/.gitignore | 1 + .../code/source/bookstore/services.java | 484 ++ .../Packages/Bookstore/Bookstore/manifest.bak | 20 + .../Packages/Bookstore/Bookstore/manifest.v3 | 20 + .../ns/bookstore/books/_get/flow.xml | 5727 +++++++++++++++++ .../ns/bookstore/books/_get/flow.xml.bak | 4 + .../ns/bookstore/books/_get/node.ndf | 103 + .../ns/bookstore/books/_post/flow.xml | 2305 +++++++ .../ns/bookstore/books/_post/flow.xml.bak | 4 + .../ns/bookstore/books/_post/node.ndf | 100 + .../Bookstore/ns/bookstore/books/node.idf | 7 + .../ns/bookstore/docs/bookT/node.ndf | 217 + .../ns/bookstore/docs/booklistT/node.ndf | 57 + .../Bookstore/ns/bookstore/docs/node.idf | 7 + .../ns/bookstore/docs/ratingT/node.ndf | 85 + .../ns/bookstore/docs/ratinglistT/node.ndf | 72 + .../Bookstore/Bookstore/ns/bookstore/node.idf | 7 + .../services/addBookRating/java.frag | 28 + .../bookstore/services/addBookRating/node.ndf | 138 + .../services/getBookDetails/java.frag | 35 + .../services/getBookDetails/node.ndf | 120 + .../services/getBookRatings/java.frag | 31 + .../services/getBookRatings/node.ndf | 101 + .../ns/bookstore/services/getBooks/java.frag | 32 + .../ns/bookstore/services/getBooks/node.ndf | 83 + .../Bookstore/ns/bookstore/services/node.idf | 232 + .../pub/images/covers/9780525950622.png | Bin 0 -> 62742 bytes .../pub/images/covers/9780691138718.png | Bin 0 -> 70504 bytes .../pub/images/covers/9780812979183.png | Bin 0 -> 47358 bytes .../pub/images/covers/9781584883470.png | Bin 0 -> 79675 bytes .../pub/images/covers/9781584885085.png | Bin 0 -> 64650 bytes .../pub/images/covers/9783492051101.png | Bin 0 -> 66070 bytes .../pub/images/thumbnails/9780525950622.png | Bin 0 -> 5011 bytes .../pub/images/thumbnails/9780691138718.png | Bin 0 -> 5150 bytes .../pub/images/thumbnails/9780812979183.png | Bin 0 -> 4275 bytes .../pub/images/thumbnails/9781584883470.png | Bin 0 -> 6324 bytes .../pub/images/thumbnails/9781584885085.png | Bin 0 -> 5214 bytes .../pub/images/thumbnails/9783492051101.png | Bin 0 -> 6001 bytes .../Bookstore/Bookstore/pub/index.html | 90 + 41 files changed, 10167 insertions(+) create mode 100644 assets/IS/Packages/Bookstore/Bookstore/.classpath create mode 100644 assets/IS/Packages/Bookstore/Bookstore/.project create mode 100644 assets/IS/Packages/Bookstore/Bookstore/code/classes/.gitignore create mode 100644 assets/IS/Packages/Bookstore/Bookstore/code/source/bookstore/services.java create mode 100644 assets/IS/Packages/Bookstore/Bookstore/manifest.bak create mode 100644 assets/IS/Packages/Bookstore/Bookstore/manifest.v3 create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml.bak create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml.bak create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/node.idf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/bookT/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/booklistT/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/node.idf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratingT/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/node.idf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/java.frag create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/java.frag create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/java.frag create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/java.frag create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/node.ndf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/node.idf create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780525950622.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780691138718.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780812979183.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584883470.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584885085.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9783492051101.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780525950622.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780691138718.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780812979183.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9781584883470.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9781584885085.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9783492051101.png create mode 100644 assets/IS/Packages/Bookstore/Bookstore/pub/index.html diff --git a/assets/IS/Packages/Bookstore/Bookstore/.classpath b/assets/IS/Packages/Bookstore/Bookstore/.classpath new file mode 100644 index 000000000..34b13e630 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/.classpath @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/.project b/assets/IS/Packages/Bookstore/Bookstore/.project new file mode 100644 index 000000000..11aad5a13 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/.project @@ -0,0 +1,23 @@ + + + Bookstore + + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.softwareag.is.vcsintegration.ISPackageBuilder + + + + + + org.eclipse.jdt.core.javanature + com.softwareag.is.vcsintegration.nature + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/code/classes/.gitignore b/assets/IS/Packages/Bookstore/Bookstore/code/classes/.gitignore new file mode 100644 index 000000000..79c0c0369 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/code/classes/.gitignore @@ -0,0 +1 @@ +/bookstore/ diff --git a/assets/IS/Packages/Bookstore/Bookstore/code/source/bookstore/services.java b/assets/IS/Packages/Bookstore/Bookstore/code/source/bookstore/services.java new file mode 100644 index 000000000..298b8acd3 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/code/source/bookstore/services.java @@ -0,0 +1,484 @@ +package bookstore; + +// -----( IS Java Code Template v1.2 +// -----( CREATED: 2013-03-05 14:28:04 GMT +// -----( ON-HOST: 10.151.56.67 + +import com.wm.data.*; +import com.wm.util.Values; +import com.wm.app.b2b.server.Service; +import com.wm.app.b2b.server.ServiceException; +// --- <> --- +// --- <> --- + +public final class services + +{ + // ---( internal utility methods )--- + + final static services _instance = new services(); + + static services _newInstance() { return new services(); } + + static services _cast(Object o) { return (services)o; } + + // ---( server methods )--- + + + + + public static final void addBookRating (IData pipeline) + throws ServiceException + { + // --- <> --- + // @sigtype java 3.5 + // [i] field:0:required isbn + // [i] record:0:required rating + // [i] - recref:0:required rating bookstore.docs:ratingT + // [o] field:0:required result + IDataCursor pipelineCursor = pipeline.getCursor(); + String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); + + // rating + String result = "ok"; + IData rating = IDataUtil.getIData( pipelineCursor, "rating" ); + if ( rating != null) + { + IDataCursor ratingCursor = rating.getCursor(); + + // i.rating + IData rating_1 = IDataUtil.getIData( ratingCursor, "rating" ); + if ( rating_1 != null) + { + IDataCursor rating_1Cursor = rating_1.getCursor(); + String score = IDataUtil.getString( rating_1Cursor, "score" ); + String comment = IDataUtil.getString( rating_1Cursor, "comment" ); + String user = IDataUtil.getString( rating_1Cursor, "user" ); + rating_1Cursor.destroy(); + + int scoreI = 0; + try { + scoreI = new Integer(score).intValue(); + java.util.List ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, scoreI, comment, new java.util.Date(), user)); + } catch (NumberFormatException e) { + result = e.getMessage(); + } + + } + ratingCursor.destroy(); + } + pipelineCursor.destroy(); + + // pipeline + IDataCursor pipelineCursor_1 = pipeline.getCursor(); + IDataUtil.put( pipelineCursor_1, "result", result ); + pipelineCursor_1.destroy(); + // --- <> --- + + + } + + + + public static final void getBookDetails (IData pipeline) + throws ServiceException + { + // --- <> --- + // @sigtype java 3.5 + // [i] field:0:required isbn + // [o] record:0:required book + // [o] - recref:0:required book bookstore.docs:bookT + // pipeline + IDataCursor pipelineCursor = pipeline.getCursor(); + String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); + pipelineCursor.destroy(); + + // pipeline + IDataCursor pipelineCursor_1 = pipeline.getCursor(); + + for (int i = 0; i < bookList.length; i++) { + BookListEntry b = bookList[i]; + if (b.getIsbn().equals(isbn)) { + // book + IData book = IDataFactory.create(); + IDataCursor bookCursor = book.getCursor(); + IData book_1 = IDataFactory.create(); + IDataCursor book_1Cursor = book_1.getCursor(); + + java.util.Map requestURL = getRequestURL(); + String host = requestURL.get("host"); + String url = requestURL.get("url"); + + IDataUtil.put( book_1Cursor, "@isbn", b.getIsbn() ); + IDataUtil.put( book_1Cursor, "author", b.getAuthor() ); + IDataUtil.put( book_1Cursor, "title", b.getTitle() ); + IDataUtil.put( book_1Cursor, "rating", getAverageRating(b.getIsbn()) ); + IDataUtil.put( book_1Cursor, "votes", getNumberOfVotes(b.getIsbn()) ); + IDataUtil.put( book_1Cursor, "price", b.getPrice() ); + IDataUtil.put( book_1Cursor, "description", b.getDescription() ); + IDataUtil.put( book_1Cursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png" ); + IDataUtil.put( book_1Cursor, "coverurl", "http://"+host+"/Bookstore/images/covers/"+b.getIsbn()+".png" ); + IDataUtil.put( book_1Cursor, "ratingsurl", "http://"+host+url+"/ratings" ); + book_1Cursor.destroy(); + IDataUtil.put( bookCursor, "book", book_1 ); + bookCursor.destroy(); + IDataUtil.put( pipelineCursor_1, "book", book ); + pipelineCursor_1.destroy(); + } + } + + // --- <> --- + + + } + + + + public static final void getBookRatings (IData pipeline) + throws ServiceException + { + // --- <> --- + // @sigtype java 3.5 + // [i] field:0:required isbn + // [o] recref:0:required ratinglist bookstore.docs:ratinglistT + // pipeline + IDataCursor pipelineCursor = pipeline.getCursor(); + String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); + pipelineCursor.destroy(); + + // pipeline + IDataCursor pipelineCursor_1 = pipeline.getCursor(); + + // ratinglist + IData ratinglist = IDataFactory.create(); + IDataCursor ratinglistCursor = ratinglist.getCursor(); + + // ratinglist.ratinglist + IData ratinglist_1 = IDataFactory.create(); + IDataCursor ratinglist_1Cursor = ratinglist_1.getCursor(); + IDataUtil.put( ratinglist_1Cursor, "@isbn", isbn ); + + java.util.List ratings = getRatings(isbn); + IData[] rating = new IData[ratings.size()]; + + // ratinglist.ratinglist.rating + for (int i = 0; i < ratings.size(); i++) { + BookRatingEntry e = (BookRatingEntry)ratings.get(i); + rating[i] = IDataFactory.create(); + IDataCursor ratingCursor = rating[i].getCursor(); + IDataUtil.put( ratingCursor, "score", e.getScore() ); + IDataUtil.put( ratingCursor, "comment", e.getComment() ); + IDataUtil.put( ratingCursor, "datetime", e.getDatetime() ); + IDataUtil.put( ratingCursor, "user", e.getUser() ); + ratingCursor.destroy(); + } + + IDataUtil.put( ratinglist_1Cursor, "rating", rating ); + ratinglist_1Cursor.destroy(); + IDataUtil.put( ratinglistCursor, "ratinglist", ratinglist_1 ); + ratinglistCursor.destroy(); + IDataUtil.put( pipelineCursor_1, "ratinglist", ratinglist ); + pipelineCursor_1.destroy(); + + // --- <> --- + + + } + + + + public static final void getBooks (IData pipeline) + throws ServiceException + { + // --- <> --- + // @sigtype java 3.5 + // [o] recref:0:required booklist bookstore.docs:booklistT + // pipeline + IDataCursor pipelineCursor = pipeline.getCursor(); + + // booklist + IData booklist = IDataFactory.create(); + IDataCursor booklistCursor = booklist.getCursor(); + + // booklist.booklist + IData booklist_1 = IDataFactory.create(); + IDataCursor booklist_1Cursor = booklist_1.getCursor(); + + // booklist.booklist.book + IData[] book = new IData[bookList.length]; + java.util.Map requestURL = getRequestURL(); + String host = requestURL.get("host"); + String url = requestURL.get("url"); + + for (int i = 0; i < bookList.length; i++) { + BookListEntry b = bookList[i]; + book[i] = IDataFactory.create(); + IDataCursor bookCursor = book[i].getCursor(); + IDataUtil.put( bookCursor, "@isbn", b.getIsbn() ); + IDataUtil.put( bookCursor, "author", b.getAuthor() ); + IDataUtil.put( bookCursor, "title", b.getTitle() ); + IDataUtil.put( bookCursor, "rating", getAverageRating(b.getIsbn()) ); + IDataUtil.put( bookCursor, "votes", getNumberOfVotes(b.getIsbn()) ); + IDataUtil.put( bookCursor, "detailsurl", "http://"+host+url+"/"+b.getIsbn() ); + IDataUtil.put( bookCursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png"); + bookCursor.destroy(); + } + + IDataUtil.put( booklist_1Cursor, "book", book ); + booklist_1Cursor.destroy(); + IDataUtil.put( booklistCursor, "booklist", booklist_1 ); + booklistCursor.destroy(); + IDataUtil.put( pipelineCursor, "booklist", booklist ); + pipelineCursor.destroy(); + + // --- <> --- + + + } + + // --- <> --- + + private static final class BookListEntry { + + private final String isbn; + private final String title; + private final String author; + private final String price; + private final String description; + + public BookListEntry(String isbn, String title, String author, String price, String description) { + this.isbn = isbn; + this.title = title; + this.author = author; + this.price = price; + this.description = description; + } + + public String getAuthor() { + return author; + } + + public String getIsbn() { + return isbn; + } + + public String getPrice() { + return price; + } + + public String getDescription() { + return description; + } + + public String getTitle() { + return title; + } + } + + private static final BookListEntry[] bookList = { + + new BookListEntry( + "9781584883470", + "CRC Concise Encyclopedia of Mathematics", + "Eric Weisstein", + "54.99", + "Upon publication, the first edition of the CRC Concise Encyclopedia of Mathematics received overwhelming accolades for its unparalleled scope, readability, and utility. It soon took its place among the top selling books in the history of Chapman & Hall/CRC, and its popularity continues unabated. Yet also unabated has been the dedication of author Eric Weisstein to collecting, cataloging, and referencing mathematical facts, formulas, and definitions. He has now updated most of the original entries and expanded the Encyclopedia to include 1000 additional pages of illustrated entries.The accessibility of the Encyclopedia along with its broad coverage and economical price make it attractive to the widest possible range of readers and certainly a must for libraries, from the secondary to the professional and research levels. For mathematical definitions, formulas, figures, tabulations, and references, this is simply the most impressive compendium available." + ), + + new BookListEntry( + "9780691138718", + "Fearless symmetry", + "Avner Ash & Robert Gross", + "12.89", + "Mathematicians solve equations, or try to. But sometimes the solutions are not as interesting as the beautiful symmetric patterns that lead to them. Written in a friendly style for a general audience, Fearless Symmetry is the first popular math book to discuss these elegant and mysterious patterns and the ingenious techniques mathematicians use to uncover them. Hidden symmetries were first discovered nearly two hundred years ago by French mathematician Evariste Galois. They have been used extensively in the oldest and largest branch of mathematics--number theory--for such diverse applications as acoustics, radar, and codes and ciphers. They have also been employed in the study of Fibonacci numbers and to attack well-known problems such as Fermat's Last Theorem, Pythagorean Triples, and the ever-elusive Riemann Hypothesis. Mathematicians are still devising techniques for teasing out these mysterious patterns, and their uses are limited only by the imagination. The first popular book to address representation theory and reciprocity laws, Fearless Symmetry focuses on how mathematicians solve equations and prove theorems. It discusses rules of math and why they are just as important as those in any games one might play. The book starts with basic properties of integers and permutations and reaches current research in number theory. Along the way, it takes delightful historical and philosophical digressions. Required reading for all math buffs, the book will appeal to anyone curious about popular mathematics and its myriad contributions to everyday life." + ), + + new BookListEntry( + "9780812979183", + "The Black Swan", + "Nassim Nicholas Taleb", + "17.28", + "In business and government, major money is spent on prediction. Uselessly, according to Taleb, who administers a severe thrashing to MBA- and Nobel Prize-credentialed experts who make their living from economic forecasting. A financial trader and current rebel with a cause, Taleb is mathematically oriented and alludes to statistical concepts that underlie models of prediction, while his expressive energy is expended on roller-coaster passages, bordering on gleeful diatribes, on why experts are wrong. They neglect Taleb's metaphor of 'the black swan', whose discovery invalidated the theory that all swans are white. Taleb rides this manifestation of the unpredicted event into a range of phenomena, such as why a book becomes a best-seller or how an entrepreneur becomes a billionaire, taking pit stops with philosophers who have addressed the meaning of the unexpected and confounding. Taleb projects a strong presence here that will tempt outside-the-box thinkers into giving him a look." + ), + + new BookListEntry( + "9780525950622", + "The Science of Fear", + "Daniel Gardener", + "16.47", + "Gardner, a columnist and senior writer for the Ottawa Citizen, is both matter-of-fact and entertaining in this look at fear and how it shapes our lives. Although we are capable of reason, says Gardner, we often rely instead on intuitive snap judgments. We also assume instinctively, but incorrectly, that [i]f examples of something can be recalled easily, that thing must be common. And what is more memorable than headlines and news programs blaring horrible crimes and diseases, plane crashes and terrorist attacks? In fact, such events are rare, but their media omnipresence activates a gut-level fear response that is out of proportion to the likelihood of our going through such an event. It doesn't help that scientific data and statistics are often misunderstood and misused and that our risk assessment is influenced less by the facts than by how others respond. Gardner's vivid, direct style, backed up by clear examples and solid data from science and psychology, brings a breath of fresh air and common sense to an emotional topic." + ), + + new BookListEntry( + "9783492051101", + "Die Riemannsche Vermutung", + "Atle Naess", + "9.90", + "Auf die eine oder andere Weise w\u00FCrde die Sache fehlschlagen. Das hatte Terje Huuse, von Haus aus Mathematiker, von Anfang an geahnt. Nur wen das Ungl\u00FCck am h\u00E4rtesten treffen w\u00FCrde, schien damals noch offen. Terje hatte es sich in den Kopf gesetzt, die Biografie seines gro\u00DFen Vorbilds Bernhard Riemann zu verfassen und endlich das Abenteuer von der Suche nach einer Regelm\u00E4\u00DFigkeit bei den Primzahlen zu beschreiben. Aber die Arbeit war ins Stocken geraten, so einfach war das alles nicht. Nur mit seiner Bekannten Ingvild konnte sich der verheiratete Terje da\u00ADr\u00FCber unterhalten. Die Sache mit ihr glitt ihm schnell aus der Hand, unrettbar geriet er in den Sog dieser Beziehung. Bis Terje pl\u00F6tzlich verschwindet - und seine Tochter eine merkw\u00FCrdige Datei auf seinem Computer entdeckt" + ), + + new BookListEntry( + "9781584885085", + "Cryptography", + "Douglas R. Stinson", + "51.69", + "Douglas R. Stinson's Cryptography: Theory and Practice is a mathematically intensive examination of cryptography, including ciphers, the Data Encryption Standard (DES), public key cryptography, one-way hash functions, and digital signatures. Stinson's explication of 'zero-sum proofs' -- a process by which one person lets another person know that he or she has a password without actually revealing any information--is especially good. If you are new to the math behind cryptography but want to tackle it, the author covers all of the required background to understand the real mathematics here. Cryptography includes extensive exercises with each chapter and makes an ideal introduction for any math-literate person willing to get acquainted with this material." + ) + }; + + private static final class BookRatingEntry { + + private final String isbn; + private final int score; + private final String comment; + private final String datetime; + private final String user; + + public BookRatingEntry(String isbn, int score, String comment, String datetime, String user) { + this.isbn = isbn; + this.score = score; + this.comment = comment; + this.datetime = datetime; + this.user = user; + } + + public BookRatingEntry(String isbn, int score, String comment, java.util.Date datetimeD, String user) { + this.isbn = isbn; + this.score = score; + this.comment = comment; + this.datetime = dateFormat.format(datetimeD); + this.user = user; + } + + public String getIsbn() { + return isbn; + } + + public int getScore() { + return score; + } + + public String getComment() { + return comment; + } + + public String getDatetime() { + return datetime; + } + public String getUser() { + return user; + } + } + + private static final java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy.MM.dd-HH:mm:ss"); + + private static final java.util.Map bookRatingList = new java.util.HashMap(); + + private static final java.util.List getRatings(String isbn) { + java.util.List ratings = (java.util.List)bookRatingList.get(isbn); + if (ratings == null) { + ratings = new java.util.ArrayList(); + bookRatingList.put(isbn, ratings); + } + return ratings; + } + + static { + try { + String isbn; + java.util.List ratings; + + isbn = "9781584883470"; + ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, 4, "Very good for beginners.", new java.util.Date(), "Ann")); + ratings.add(new BookRatingEntry(isbn, 3, "Not bad but overprized.", new java.util.Date(), "Bill")); + + isbn = "9780691138718"; + ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, 3, "Well ... gives a good overview.", new java.util.Date(), "Carl")); + ratings.add(new BookRatingEntry(isbn, 1, "Not worth the money.", new java.util.Date(), "Dustin")); + ratings.add(new BookRatingEntry(isbn, 2, "I agree with Carl ... but too expensive.", new java.util.Date(), "Eve")); + + isbn = "9780812979183"; + ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, 5, "Excellent!", new java.util.Date(), "Fred")); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static final java.util.Map getRequestURL() { + IData input = IDataFactory.create(); + IData output = IDataFactory.create(); + java.util.Map result = new java.util.HashMap(); + try { + output = Service.doInvoke( "pub.flow", "getTransportInfo", input ); + } + catch( Exception e){} + + IDataCursor outputCursor = output.getCursor(); + + // transport + IData transport = IDataUtil.getIData( outputCursor, "transport" ); + if ( transport != null) { + IDataCursor transportCursor = transport.getCursor(); + + IData http = IDataUtil.getIData( transportCursor, "http" ); + if ( http != null) { + IDataCursor httpCursor = http.getCursor(); + String requestUrl = IDataUtil.getString( httpCursor, "requestUrl" ); + + IData requestHdrs = IDataUtil.getIData( httpCursor, "requestHdrs" ); + if ( requestHdrs != null) { + IDataCursor requestHdrsCursor = requestHdrs.getCursor(); + String host = IDataUtil.getString( requestHdrsCursor, "Host" ); + if (host != null && host.length() > 0) { + result.put("host", host); + } + requestHdrsCursor.destroy(); + } + + result.put("url", trimUrl(requestUrl)); + httpCursor.destroy(); + } + transportCursor.destroy(); + } + outputCursor.destroy(); + return result; + } + + private static final String getAverageRating(String isbn) { + // get ratings + java.util.List rl = getRatings(isbn); + float scoreF = 0; + int nr = rl.size(); + for (int i = 0; i < nr; i++) { + BookRatingEntry e = (BookRatingEntry)rl.get(i); + scoreF = scoreF + (float)e.getScore(); + } + if (nr > 0) { + scoreF = scoreF/(float)nr; + } + + return String.valueOf(scoreF); + } + + private static final String getNumberOfVotes(String isbn) { + // get ratings + java.util.List rl = getRatings(isbn); + int nr = rl.size(); + + return String.valueOf(nr); + } + + private static final String trimUrl (String url) { + String result = url; + while (result != null && result.length() > 0 && result.endsWith("/")) { + result = result.substring(0, result.length() - 1); + } + return result; + } + // --- <> --- +} + diff --git a/assets/IS/Packages/Bookstore/Bookstore/manifest.bak b/assets/IS/Packages/Bookstore/Bookstore/manifest.bak new file mode 100644 index 000000000..a3ec86d52 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/manifest.bak @@ -0,0 +1,20 @@ + + + + no + no + 1.0 + + + + + + yes + Bookstore + + + 2016-10-22 01:50:52 CEST + 1.8.0_51 + DAETRAIN00363.eur.ad.sag + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/manifest.v3 b/assets/IS/Packages/Bookstore/Bookstore/manifest.v3 new file mode 100644 index 000000000..be2891efa --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/manifest.v3 @@ -0,0 +1,20 @@ + + + + yes + no + 1.0 + + + + + + yes + Bookstore + + + 2016-10-22 01:50:52 CEST + 1.8.0_51 + DAETRAIN00363.eur.ad.sag + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml new file mode 100644 index 000000000..a1cbc6193 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml @@ -0,0 +1,5727 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + $iteration + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + record + false + HTMLEncodeInput + record + 0 + true + false + false + + + unknown + false + inString + string + 0 + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + $iteration + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + true + + + + + + + + record + false + HTMLEncodeOutput + record + 0 + true + false + false + + + unknown + false + value + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + documentToJSONStringInput + record + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + unknown + false + prettyPrint + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + application/json + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + documentToXMLStringInput + record + 0 + true + false + false + + + unknown + false + attrPrefix + string + 0 + true + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + false + nsDecls + record + 0 + true + true + false + false + + + true + + + unknown + false + addHeader + string + 0 + true + + true + false + + true + false + false + + + unknown + false + encode + string + 0 + true + + true + false + + true + false + false + + + unknown + false + documentTypeName + string + 0 + true + true + false + false + + + unknown + false + generateRequiredTags + string + 0 + true + + false + true + + true + false + false + + + unknown + false + generateNilTags + string + 0 + true + + false + true + + true + false + false + + + unknown + false + enforceLegalXML + string + 0 + true + + true + false + + true + false + false + + + record + false + dtdHeaderInfo + record + 0 + true + true + false + false + + + true + + + unknown + false + bufferSize + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + true + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + jsonString + string + 0 + true + false + false + + + unknown + false + xmldata + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + text/xml + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + isbn + string + 0 + + + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + documentToJSONStringInput + record + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + unknown + false + prettyPrint + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + record + false + book + recref + 0 + true + false + false + true + bookstore.docs:bookT + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + ratinglist + recref + 0 + true + false + false + true + true + bookstore.docs:ratinglistT + + + true + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + application/json + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + documentToXMLStringInput + record + 0 + true + false + false + + + unknown + false + attrPrefix + string + 0 + true + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + false + nsDecls + record + 0 + true + true + false + false + + + true + + + unknown + false + addHeader + string + 0 + true + + true + false + + true + false + false + + + unknown + false + encode + string + 0 + true + + true + false + + true + false + false + + + unknown + false + documentTypeName + string + 0 + true + true + false + false + + + unknown + false + generateRequiredTags + string + 0 + true + + false + true + + true + false + false + + + unknown + false + generateNilTags + string + 0 + true + + false + true + + true + false + false + + + unknown + false + enforceLegalXML + string + 0 + true + + true + false + + true + false + false + + + record + false + dtdHeaderInfo + record + 0 + true + true + false + false + + + true + + + unknown + false + bufferSize + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + ratinglist + recref + 0 + true + false + false + true + true + bookstore.docs:ratinglistT + + + true + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + jsonString + string + 0 + true + false + false + + + unknown + false + xmldata + string + 0 + true + false + false + + + record + + + false + false + + false + ratinglist + recref + 0 + true + false + false + true + true + bookstore.docs:ratinglistT + + + true + + + + + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + text/xml + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + isbn + string + 0 + + + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + + + + + + + + + + + + + + + record + false + HTMLEncodeInput + record + 0 + true + false + false + + + unknown + false + inString + string + 0 + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + + + + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + + + + + + + record + false + HTMLEncodeOutput + record + 0 + true + false + false + + + unknown + false + value + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + + + + + + record + false + HTMLEncodeInput + record + 0 + true + false + false + + + unknown + false + inString + string + 0 + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + + + + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + + + + + + + record + false + HTMLEncodeOutput + record + 0 + true + false + false + + + unknown + false + value + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + documentToJSONStringInput + record + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + unknown + false + prettyPrint + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + true + + + + + + + + + + + + + + application/json + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + documentToXMLStringInput + record + 0 + true + false + false + + + unknown + false + attrPrefix + string + 0 + true + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + false + nsDecls + record + 0 + true + true + false + false + + + true + + + unknown + false + addHeader + string + 0 + true + + true + false + + true + false + false + + + unknown + false + encode + string + 0 + true + + true + false + + true + false + false + + + unknown + false + documentTypeName + string + 0 + true + true + false + false + + + unknown + false + generateRequiredTags + string + 0 + true + + false + true + + true + false + false + + + unknown + false + generateNilTags + string + 0 + true + + false + true + + true + false + false + + + unknown + false + enforceLegalXML + string + 0 + true + + true + false + + true + false + false + + + record + false + dtdHeaderInfo + record + 0 + true + true + false + false + + + true + + + unknown + false + bufferSize + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + xmldata + string + 0 + true + false + false + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + record + false + document + record + 0 + true + false + false + + + true + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + unknown + false + jsonString + string + 0 + true + false + false + + + record + false + book + recref + 0 + true + false + false + true + bookstore.docs:bookT + + + unknown + false + xmldata + string + 0 + true + false + false + + + record + + + false + false + + false + ratinglist + recref + 0 + true + false + false + true + true + bookstore.docs:ratinglistT + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + true + true + + + true + + + + + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + text/xml + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + + + + + + + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml.bak b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml.bak new file mode 100644 index 000000000..d62317f7e --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml.bak @@ -0,0 +1,4 @@ + + + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/node.ndf new file mode 100644 index 000000000..5936c3ec7 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/node.ndf @@ -0,0 +1,103 @@ + + + + flow + default + java 3.5 + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + true + + + record + + false + record + 0 + true + false + false + + + true + + + + yes + no + no + 15 + 1 + bookstore_books__get + off + no + $null + no + 0 + 0 + none + none + 0 + + + + + + 0 + false + false + true + + 1 + + true + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml new file mode 100644 index 000000000..2d4d71559 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml @@ -0,0 +1,2305 @@ + + + + + + + + + + + + + + + + + + record + false + savePipelineToFileInput + record + 0 + true + false + false + + + unknown + false + fileName + string + 0 + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + true + + + + + + + + + + + C:/anne.log + + unknown + false + fileName + string + 0 + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseCodeInput + record + 0 + true + false + false + + + unknown + false + responseCode + string + 0 + + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 300 + 301 + 302 + 303 + 304 + 305 + 307 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 500 + 501 + 502 + 503 + 504 + + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + true + + + + + + + + + + + 405 + + unknown + false + responseCode + string + 0 + + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 300 + 301 + 302 + 303 + 304 + 305 + 307 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 500 + 501 + 502 + 503 + 504 + + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + responseCode + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + unknown + false + Content-Type + string + 0 + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + true + + + + + + + + + + + + + + + + + + + ; + + unknown + false + delim + string + 0 + true + false + false + + + + + + + + + + %/transport/http/requestHdrs/Content-Type% + + unknown + false + inString + string + 0 + true + false + false + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + responseCode + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + false + Content-Type + string + 0 + true + false + false + + + true + + + + + + + + record + false + tokenizeOutput + record + 0 + true + false + false + + + unknown + false + valueList + string + 1 + true + false + false + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + isbn + string + 0 + + + true + false + false + + + record + + + false + false + + false + rating + record + 0 + true + false + false + + + record + + + false + false + + false + rating + recref + 0 + true + false + false + true + true + bookstore.docs:ratingT + + + true + true + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + responseCode + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + false + document + record + 0 + true + false + false + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + record + false + rating + record + 0 + true + false + false + + + true + + + unknown + false + responseCode + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + result + string + 0 + + + true + false + false + + + true + + + + + + + + + + + + + + text/plain + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + rating + record + 0 + true + false + false + + + true + + + unknown + false + responseCode + string + 0 + true + false + false + + + unknown + false + fileName + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + unknown + false + Content-Type + string + 0 + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + result + string + 0 + + + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + rating + record + 0 + true + false + false + + + true + + + unknown + false + responseCode + string + 0 + true + false + false + + + unknown + false + fileName + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + unknown + false + Content-Type + string + 0 + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + result + string + 0 + + + true + false + false + + + true + + + + + + + + + + + + + + + + + + + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + isbn + string + 0 + + + true + false + false + + + record + + + false + false + + false + rating + record + 0 + true + false + false + + + record + + + false + false + + false + rating + recref + 0 + true + false + false + true + true + bookstore.docs:ratingT + + + true + true + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + rating + record + 0 + true + false + false + + + true + + + unknown + false + responseCode + string + 0 + true + false + false + + + unknown + false + fileName + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + unknown + false + Content-Type + string + 0 + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + result + string + 0 + + + true + false + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseInput + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + true + false + false + + + unknown + false + bytes + object + 0 + true + true + false + false + + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + unknown + false + encoding + string + 0 + true + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + unknown + false + string + string + 0 + true + false + false + + + unknown + false + isbn + string + 0 + true + false + false + + + unknown + false + contentType + string + 0 + true + false + false + + + unknown + false + encoding + string + 0 + true + false + false + + + record + false + rating + record + 0 + true + false + false + + + true + + + unknown + false + responseCode + string + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + record + false + transport + recref + 0 + true + false + false + true + pub.flow:transportInfo + + + record + false + document + record + 0 + true + false + false + + + true + + + record + + + true + false + false + + false + result + string + 0 + + + true + false + false + + + true + + + + + + + + + + + + + + text/plain + + unknown + + true + + false + contentType + string + 0 + true + + text/xml + text/html + + true + false + false + + + + + + + + + + utf-8 + + unknown + false + encoding + string + 0 + true + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseCodeInput + record + 0 + true + false + false + + + unknown + false + responseCode + string + 0 + + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 300 + 301 + 302 + 303 + 304 + 305 + 307 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 500 + 501 + 502 + 503 + 504 + + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + true + + + + + + + + + + + 406 + + unknown + false + responseCode + string + 0 + + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 300 + 301 + 302 + 303 + 304 + 305 + 307 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 500 + 501 + 502 + 503 + 504 + + true + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + record + false + setResponseCodeInput + record + 0 + true + false + false + + + unknown + false + responseCode + string + 0 + + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 300 + 301 + 302 + 303 + 304 + 305 + 307 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 500 + 501 + 502 + 503 + 504 + + true + false + false + + + true + + + + + + + + record + false + record + 0 + true + false + false + + + true + + + + + + + + + + + 405 + + unknown + false + responseCode + string + 0 + + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 300 + 301 + 302 + 303 + 304 + 305 + 307 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 500 + 501 + 502 + 503 + 504 + + true + false + false + + + + + + + + + + + + + + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml.bak b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml.bak new file mode 100644 index 000000000..d62317f7e --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml.bak @@ -0,0 +1,4 @@ + + + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/node.ndf new file mode 100644 index 000000000..86662c1b6 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/node.ndf @@ -0,0 +1,100 @@ + + + + flow + default + java 3.5 + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + $resourceID + string + 0 + true + + + true + false + false + + + record + + + true + false + false + + false + $path + string + 0 + true + + + true + false + false + + + true + + + record + + false + record + 0 + true + false + false + + + true + + + + yes + no + no + 15 + 1 + off + no + $null + no + 0 + 0 + none + none + 0 + + + + 0 + false + false + true + + 1 + + true + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/node.idf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/node.idf new file mode 100644 index 000000000..82aa8f030 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/node.idf @@ -0,0 +1,7 @@ + + + + interface + bookstore.books + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/bookT/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/bookT/node.ndf new file mode 100644 index 000000000..cdb77b9e1 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/bookT/node.ndf @@ -0,0 +1,217 @@ + + + + + record + bookstore.docs:bookT + Bookstore + generated by webMethods + false + record + 0 + true + false + false + + + unknown + + + true + false + false + + false + @isbn + string + 0 + + + true + false + false + + + unknown + + + true + false + false + + false + author + string + 0 + + + true + false + false + + + unknown + + + true + false + false + + false + title + string + 0 + + + true + false + false + + + record + + + true + false + false + + false + rating + string + 0 + + + true + false + false + + + record + + + true + false + false + + false + votes + string + 0 + + + true + false + false + + + unknown + + + true + false + false + + false + price + string + 0 + + + true + false + false + + + unknown + + + true + false + false + + false + description + string + 0 + + + true + false + false + + + record + + + true + false + false + + false + thumbnailurl + string + 0 + + + true + false + false + + + record + + + true + false + false + + false + coverurl + string + 0 + + + true + false + false + + + record + + + true + false + false + + false + detailsurl + string + 0 + + + true + false + false + + + record + + + true + false + false + + false + ratingsurl + string + 0 + + + true + false + false + + + true + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/booklistT/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/booklistT/node.ndf new file mode 100644 index 000000000..11637e1ff --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/booklistT/node.ndf @@ -0,0 +1,57 @@ + + + + + record + bookstore.docs:booklistT + Bookstore + generated by webMethods + false + record + 0 + true + false + false + + + record + + + false + false + + false + booklist + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 1 + true + false + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/node.idf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/node.idf new file mode 100644 index 000000000..167a38742 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/node.idf @@ -0,0 +1,7 @@ + + + + interface + bookstore.docs + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratingT/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratingT/node.ndf new file mode 100644 index 000000000..62f64764b --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratingT/node.ndf @@ -0,0 +1,85 @@ + + + + + record + bookstore.docs:ratingT + MobileSupport + generated by webMethods + false + ratingT + record + 0 + true + false + false + + + unknown + + + true + false + false + + false + score + string + 0 + true + false + false + + + unknown + + + true + false + false + + false + comment + string + 0 + true + false + false + + + record + + + true + false + false + + false + datetime + string + 0 + true + true + false + false + + + record + + + true + false + false + + false + user + string + 0 + true + false + false + + + true + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf new file mode 100644 index 000000000..e1e78d7bc --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf @@ -0,0 +1,72 @@ + + + + + record + bookstore.docs:ratinglistT + Bookstore + generated by webMethods + false + record + 0 + true + false + false + + + record + + + false + false + + false + ratinglist + record + 0 + true + false + false + + + record + + + true + false + false + + false + @isbn + string + 0 + true + false + false + + + record + + + false + false + + false + rating + recref + 1 + true + false + false + false + true + true + bookstore.docs:ratingT + + + true + + + true + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/node.idf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/node.idf new file mode 100644 index 000000000..d8540add0 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/node.idf @@ -0,0 +1,7 @@ + + + + interface + bookstore + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/java.frag b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/java.frag new file mode 100644 index 000000000..51a535710 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/java.frag @@ -0,0 +1,28 @@ + + + + addBookRating + true + SURhdGFDdXJzb3IgcGlwZWxpbmVDdXJzb3IgPSBwaXBlbGluZS5nZXRDdXJzb3IoKTsNClN0cmlu +Zwlpc2JuID0gSURhdGFVdGlsLmdldFN0cmluZyggcGlwZWxpbmVDdXJzb3IsICJpc2JuIiApOw0K +DQovLyByYXRpbmcNClN0cmluZyByZXN1bHQgPSAib2siOw0KSURhdGEJcmF0aW5nID0gSURhdGFV +dGlsLmdldElEYXRhKCBwaXBlbGluZUN1cnNvciwgInJhdGluZyIgKTsNCmlmICggcmF0aW5nICE9 +IG51bGwpDQp7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nLmdldEN1cnNvcigp +Ow0KDQoJCS8vIGkucmF0aW5nDQoJCUlEYXRhCXJhdGluZ18xID0gSURhdGFVdGlsLmdldElEYXRh +KCByYXRpbmdDdXJzb3IsICJyYXRpbmciICk7DQoJCWlmICggcmF0aW5nXzEgIT0gbnVsbCkNCgkJ +ew0KCQkJSURhdGFDdXJzb3IgcmF0aW5nXzFDdXJzb3IgPSByYXRpbmdfMS5nZXRDdXJzb3IoKTsN +CgkJCVN0cmluZwlzY29yZSA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGluZ18xQ3Vyc29yLCAi +c2NvcmUiICk7DQoJCQlTdHJpbmcJY29tbWVudCA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGlu +Z18xQ3Vyc29yLCAiY29tbWVudCIgKTsNCgkJCVN0cmluZwl1c2VyID0gSURhdGFVdGlsLmdldFN0 +cmluZyggcmF0aW5nXzFDdXJzb3IsICJ1c2VyIiApOw0KCQkJcmF0aW5nXzFDdXJzb3IuZGVzdHJv +eSgpOw0KCQkJDQoJCQlpbnQgc2NvcmVJID0gMDsNCgkJCXRyeSB7DQoJCQkJc2NvcmVJID0gbmV3 +IEludGVnZXIoc2NvcmUpLmludFZhbHVlKCk7DQoJCQkJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGlu +Z0VudHJ5PiByYXRpbmdzID0gZ2V0UmF0aW5ncyhpc2JuKTsNCgkJCQlyYXRpbmdzLmFkZChuZXcg +Qm9va1JhdGluZ0VudHJ5KGlzYm4sIHNjb3JlSSwgY29tbWVudCwgbmV3IGphdmEudXRpbC5EYXRl +KCksIHVzZXIpKTsNCgkJCX0gY2F0Y2ggKE51bWJlckZvcm1hdEV4Y2VwdGlvbiBlKSB7DQoJCQkJ +cmVzdWx0ID0gZS5nZXRNZXNzYWdlKCk7DQoJCQl9DQoJCQkNCgkJfQ0KCXJhdGluZ0N1cnNvci5k +ZXN0cm95KCk7DQp9DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ +RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQpJRGF0 +YVV0aWwucHV0KCBwaXBlbGluZUN1cnNvcl8xLCAicmVzdWx0IiwgcmVzdWx0ICk7DQpwaXBlbGlu +ZUN1cnNvcl8xLmRlc3Ryb3koKTsJCQk= + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/node.ndf new file mode 100644 index 000000000..3dd6bd5b1 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/node.ndf @@ -0,0 +1,138 @@ + + + + java + default + java 3.5 + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + isbn + string + 0 + + + true + false + false + + + record + + + false + false + + false + rating + record + 0 + true + false + false + + + record + + + false + false + + false + rating + recref + 0 + true + false + false + true + true + bookstore.docs:ratingT + + + true + true + + + true + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + result + string + 0 + + + true + false + false + + + true + + + + yes + no + no + 15 + 1 + bookstore_services_addBookRating + off + no + $null + no + 0 + 0 + none + none + 0 + + + + + + 0 + false + false + true + + 1 + + true + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/java.frag b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/java.frag new file mode 100644 index 000000000..9343a3487 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/java.frag @@ -0,0 +1,35 @@ + + + + getBookDetails + true + Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy +c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv +ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ +RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCmZv +ciAoaW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5 +IGIgPSBib29rTGlzdFtpXTsgDQoJaWYgKGIuZ2V0SXNibigpLmVxdWFscyhpc2JuKSkgew0KCQkv +LyBib29rDQoJCUlEYXRhCWJvb2sgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vy +c29yIGJvb2tDdXJzb3IgPSBib29rLmdldEN1cnNvcigpOw0KCQlJRGF0YQlib29rXzEgPSBJRGF0 +YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vyc29yIGJvb2tfMUN1cnNvciA9IGJvb2tfMS5n +ZXRDdXJzb3IoKTsNCg0KCQlqYXZhLnV0aWwuTWFwPFN0cmluZywgU3RyaW5nPiByZXF1ZXN0VVJM +ID0gZ2V0UmVxdWVzdFVSTCgpOw0KCQlTdHJpbmcgaG9zdCA9IHJlcXVlc3RVUkwuZ2V0KCJob3N0 +Iik7DQoJCVN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoJCQ0KCQlJRGF0YVV0 +aWwucHV0KCBib29rXzFDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJCUlEYXRhVXRp +bC5wdXQoIGJvb2tfMUN1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCgkJSURhdGFV +dGlsLnB1dCggYm9va18xQ3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCgkJSURhdGFV +dGlsLnB1dCggYm9va18xQ3Vyc29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElz +Ym4oKSkgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9va18xQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1i +ZXJPZlZvdGVzKGIuZ2V0SXNibigpKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is +ICJwcmljZSIsIGIuZ2V0UHJpY2UoKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is +ICJkZXNjcmlwdGlvbiIsIGIuZ2V0RGVzY3JpcHRpb24oKSApOw0KCQlJRGF0YVV0aWwucHV0KCBi +b29rXzFDdXJzb3IsICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9p +bWFnZXMvdGh1bWJuYWlscy8iK2IuZ2V0SXNibigpKyIucG5nIiApOw0KCQlJRGF0YVV0aWwucHV0 +KCBib29rXzFDdXJzb3IsICJjb3ZlcnVybCIsICJodHRwOi8vIitob3N0KyIvQm9va3N0b3JlL2lt +YWdlcy9jb3ZlcnMvIitiLmdldElzYm4oKSsiLnBuZyIgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9v +a18xQ3Vyc29yLCAicmF0aW5nc3VybCIsICJodHRwOi8vIitob3N0K3VybCsiL3JhdGluZ3MiICk7 +DQoJCWJvb2tfMUN1cnNvci5kZXN0cm95KCk7DQoJCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is +ICJib29rIiwgYm9va18xICk7DQoJCWJvb2tDdXJzb3IuZGVzdHJveSgpOw0KCQlJRGF0YVV0aWwu +cHV0KCBwaXBlbGluZUN1cnNvcl8xLCAiYm9vayIsIGJvb2sgKTsNCgkJcGlwZWxpbmVDdXJzb3Jf +MS5kZXN0cm95KCk7DQoJfQ0KfQ0KCQ== + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/node.ndf new file mode 100644 index 000000000..001c00ccf --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/node.ndf @@ -0,0 +1,120 @@ + + + + java + default + java 3.5 + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + isbn + string + 0 + + + true + false + false + + + true + + + record + + false + record + 0 + true + false + false + + + record + + + false + false + + false + book + record + 0 + true + false + false + + + record + + + false + false + + false + book + recref + 0 + true + false + false + true + true + bookstore.docs:bookT + + + true + true + + + true + + + + yes + no + no + 15 + 1 + bookstore_services_getBookDetails + off + no + $null + no + 0 + 0 + none + none + 0 + + + + + + 0 + false + false + true + + 1 + + true + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/java.frag b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/java.frag new file mode 100644 index 000000000..ac67a1712 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/java.frag @@ -0,0 +1,31 @@ + + + + getBookRatings + true + Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy +c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv +ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ +RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCi8v +IHJhdGluZ2xpc3QNCklEYXRhCXJhdGluZ2xpc3QgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQpJ +RGF0YUN1cnNvciByYXRpbmdsaXN0Q3Vyc29yID0gcmF0aW5nbGlzdC5nZXRDdXJzb3IoKTsNCg0K +Ly8gcmF0aW5nbGlzdC5yYXRpbmdsaXN0DQpJRGF0YQlyYXRpbmdsaXN0XzEgPSBJRGF0YUZhY3Rv +cnkuY3JlYXRlKCk7DQpJRGF0YUN1cnNvciByYXRpbmdsaXN0XzFDdXJzb3IgPSByYXRpbmdsaXN0 +XzEuZ2V0Q3Vyc29yKCk7DQpJRGF0YVV0aWwucHV0KCByYXRpbmdsaXN0XzFDdXJzb3IsICJAaXNi +biIsIGlzYm4gKTsNCg0KamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0g +Z2V0UmF0aW5ncyhpc2JuKTsJDQpJRGF0YVtdCXJhdGluZyA9IG5ldyBJRGF0YVtyYXRpbmdzLnNp +emUoKV07DQoNCi8vIHJhdGluZ2xpc3QucmF0aW5nbGlzdC5yYXRpbmcNCmZvciAoaW50IGkgPSAw +OyBpIDwgcmF0aW5ncy5zaXplKCk7IGkrKykgew0KCUJvb2tSYXRpbmdFbnRyeSBlID0gKEJvb2tS +YXRpbmdFbnRyeSlyYXRpbmdzLmdldChpKTsNCglyYXRpbmdbaV0gPSBJRGF0YUZhY3RvcnkuY3Jl +YXRlKCk7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nW2ldLmdldEN1cnNvcigp +Ow0KCUlEYXRhVXRpbC5wdXQoIHJhdGluZ0N1cnNvciwgInNjb3JlIiwgZS5nZXRTY29yZSgpICk7 +DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiY29tbWVudCIsIGUuZ2V0Q29tbWVudCgp +ICk7DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiZGF0ZXRpbWUiLCBlLmdldERhdGV0 +aW1lKCkgKTsNCglJRGF0YVV0aWwucHV0KCByYXRpbmdDdXJzb3IsICJ1c2VyIiwgZS5nZXRVc2Vy +KCkgKTsNCglyYXRpbmdDdXJzb3IuZGVzdHJveSgpOw0KfQkNCg0KSURhdGFVdGlsLnB1dCggcmF0 +aW5nbGlzdF8xQ3Vyc29yLCAicmF0aW5nIiwgcmF0aW5nICk7DQpyYXRpbmdsaXN0XzFDdXJzb3Iu +ZGVzdHJveSgpOw0KSURhdGFVdGlsLnB1dCggcmF0aW5nbGlzdEN1cnNvciwgInJhdGluZ2xpc3Qi +LCByYXRpbmdsaXN0XzEgKTsNCnJhdGluZ2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFVdGls +LnB1dCggcGlwZWxpbmVDdXJzb3JfMSwgInJhdGluZ2xpc3QiLCByYXRpbmdsaXN0ICk7DQpwaXBl +bGluZUN1cnNvcl8xLmRlc3Ryb3koKTsNCgk= + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/node.ndf new file mode 100644 index 000000000..e062e850e --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/node.ndf @@ -0,0 +1,101 @@ + + + + java + default + java 3.5 + + + record + + false + record + 0 + true + false + false + + + record + + + true + false + false + + false + isbn + string + 0 + + + true + false + false + + + true + + + record + + false + record + 0 + true + false + false + + + record + + + false + false + + false + ratinglist + recref + 0 + true + false + false + true + true + bookstore.docs:ratinglistT + + + true + + + + yes + no + no + 15 + 1 + bookstore_services_getBookRatings + off + no + $null + no + 0 + 0 + none + none + 0 + + + + + + 0 + false + false + true + + 1 + + true + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/java.frag b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/java.frag new file mode 100644 index 000000000..65b0ad756 --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/java.frag @@ -0,0 +1,32 @@ + + + + getBooks + true + Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy +c29yKCk7DQoNCi8vIGJvb2tsaXN0DQpJRGF0YQlib29rbGlzdCA9IElEYXRhRmFjdG9yeS5jcmVh +dGUoKTsNCklEYXRhQ3Vyc29yIGJvb2tsaXN0Q3Vyc29yID0gYm9va2xpc3QuZ2V0Q3Vyc29yKCk7 +DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0DQpJRGF0YQlib29rbGlzdF8xID0gSURhdGFGYWN0b3J5 +LmNyZWF0ZSgpOw0KSURhdGFDdXJzb3IgYm9va2xpc3RfMUN1cnNvciA9IGJvb2tsaXN0XzEuZ2V0 +Q3Vyc29yKCk7DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0LmJvb2sNCklEYXRhW10JYm9vayA9IG5l +dyBJRGF0YVtib29rTGlzdC5sZW5ndGhdOw0KamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4g +cmVxdWVzdFVSTCA9IGdldFJlcXVlc3RVUkwoKTsNClN0cmluZyBob3N0ID0gcmVxdWVzdFVSTC5n +ZXQoImhvc3QiKTsNClN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoNCmZvciAo +aW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5IGIg +PSBib29rTGlzdFtpXTsNCglib29rW2ldID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOw0KCUlEYXRh +Q3Vyc29yIGJvb2tDdXJzb3IgPSBib29rW2ldLmdldEN1cnNvcigpOw0KCUlEYXRhVXRpbC5wdXQo +IGJvb2tDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJSURhdGFVdGlsLnB1dCggYm9v +a0N1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29r +Q3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29rQ3Vy +c29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElzYm4oKSkgKTsNCglJRGF0YVV0 +aWwucHV0KCBib29rQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1iZXJPZlZvdGVzKGIuZ2V0SXNibigp +KSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3IsICJkZXRhaWxzdXJsIiwgImh0dHA6Ly8i +K2hvc3QrdXJsKyIvIitiLmdldElzYm4oKSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is +ICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9pbWFnZXMvdGh1bWJu +YWlscy8iK2IuZ2V0SXNibigpKyIucG5nIik7DQoJYm9va0N1cnNvci5kZXN0cm95KCk7DQp9DQoN +CklEYXRhVXRpbC5wdXQoIGJvb2tsaXN0XzFDdXJzb3IsICJib29rIiwgYm9vayApOw0KYm9va2xp +c3RfMUN1cnNvci5kZXN0cm95KCk7DQpJRGF0YVV0aWwucHV0KCBib29rbGlzdEN1cnNvciwgImJv +b2tsaXN0IiwgYm9va2xpc3RfMSApOw0KYm9va2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFV +dGlsLnB1dCggcGlwZWxpbmVDdXJzb3IsICJib29rbGlzdCIsIGJvb2tsaXN0ICk7DQpwaXBlbGlu +ZUN1cnNvci5kZXN0cm95KCk7DQoJ + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/node.ndf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/node.ndf new file mode 100644 index 000000000..257b8907d --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/node.ndf @@ -0,0 +1,83 @@ + + + + java + default + java 3.5 + + + record + + false + record + 0 + true + false + false + + + true + + + record + + false + record + 0 + true + false + false + + + record + + + false + false + + false + booklist + recref + 0 + true + false + false + true + true + bookstore.docs:booklistT + + + true + + + + yes + no + no + 15 + 1 + bookstore_services_getBooks + off + no + $null + no + 0 + 0 + none + none + 0 + + + + + + 0 + false + false + true + + 1 + + true + false + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/node.idf b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/node.idf new file mode 100644 index 000000000..96a0c507a --- /dev/null +++ b/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/node.idf @@ -0,0 +1,232 @@ + + + + interface + bookstore.services + false + true + CnByaXZhdGUgc3RhdGljIGZpbmFsIGNsYXNzIEJvb2tMaXN0RW50cnkgewoKICAgIHByaXZhdGUg +ZmluYWwgU3RyaW5nIGlzYm47CiAgICBwcml2YXRlIGZpbmFsIFN0cmluZyB0aXRsZTsKICAgIHBy +aXZhdGUgZmluYWwgU3RyaW5nIGF1dGhvcjsKICAgIHByaXZhdGUgZmluYWwgU3RyaW5nIHByaWNl +OwogICAgcHJpdmF0ZSBmaW5hbCBTdHJpbmcgZGVzY3JpcHRpb247CgogICAgcHVibGljIEJvb2tM +aXN0RW50cnkoU3RyaW5nIGlzYm4sIFN0cmluZyB0aXRsZSwgU3RyaW5nIGF1dGhvciwgU3RyaW5n +IHByaWNlLCBTdHJpbmcgZGVzY3JpcHRpb24pIHsKICAgICAgICB0aGlzLmlzYm4gPSBpc2JuOwog +ICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTsKICAgICAgICB0aGlzLmF1dGhvciA9IGF1dGhvcjsK +ICAgICAgICB0aGlzLnByaWNlID0gcHJpY2U7CiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRl +c2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0QXV0aG9yKCkgewogICAgICAg +IHJldHVybiBhdXRob3I7CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXRJc2JuKCkgewogICAg +ICAgIHJldHVybiBpc2JuOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0UHJpY2UoKSB7CiAg +ICAgICAgcmV0dXJuIHByaWNlOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0RGVzY3JpcHRp +b24oKSB7CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJp +bmcgZ2V0VGl0bGUoKSB7CiAgICAgICAgcmV0dXJuIHRpdGxlOwogICAgfQp9Cgpwcml2YXRlIHN0 +YXRpYyBmaW5hbCBCb29rTGlzdEVudHJ5W10gYm9va0xpc3QgPSB7CgogICAgICAgIG5ldyBCb29r +TGlzdEVudHJ5KAogICAgICAgICAgICAiOTc4MTU4NDg4MzQ3MCIsCiAgICAgICAgICAgICJDUkMg +Q29uY2lzZSBFbmN5Y2xvcGVkaWEgb2YgTWF0aGVtYXRpY3MiLAogICAgICAgICAgICAiRXJpYyBX +ZWlzc3RlaW4iLAogICAgICAgICAgICAiNTQuOTkiLAogICAgICAgICAgICAiVXBvbiBwdWJsaWNh +dGlvbiwgdGhlIGZpcnN0IGVkaXRpb24gb2YgdGhlIENSQyBDb25jaXNlIEVuY3ljbG9wZWRpYSBv +ZiBNYXRoZW1hdGljcyByZWNlaXZlZCBvdmVyd2hlbG1pbmcgYWNjb2xhZGVzIGZvciBpdHMgdW5w +YXJhbGxlbGVkIHNjb3BlLCByZWFkYWJpbGl0eSwgYW5kIHV0aWxpdHkuIEl0IHNvb24gdG9vayBp +dHMgcGxhY2UgYW1vbmcgdGhlIHRvcCBzZWxsaW5nIGJvb2tzIGluIHRoZSBoaXN0b3J5IG9mIENo +YXBtYW4gJiBIYWxsL0NSQywgYW5kIGl0cyBwb3B1bGFyaXR5IGNvbnRpbnVlcyB1bmFiYXRlZC4g +WWV0IGFsc28gdW5hYmF0ZWQgaGFzIGJlZW4gdGhlIGRlZGljYXRpb24gb2YgYXV0aG9yIEVyaWMg +V2Vpc3N0ZWluIHRvIGNvbGxlY3RpbmcsIGNhdGFsb2dpbmcsIGFuZCByZWZlcmVuY2luZyBtYXRo +ZW1hdGljYWwgZmFjdHMsIGZvcm11bGFzLCBhbmQgZGVmaW5pdGlvbnMuIEhlIGhhcyBub3cgdXBk +YXRlZCBtb3N0IG9mIHRoZSBvcmlnaW5hbCBlbnRyaWVzIGFuZCBleHBhbmRlZCB0aGUgRW5jeWNs +b3BlZGlhIHRvIGluY2x1ZGUgMTAwMCBhZGRpdGlvbmFsIHBhZ2VzIG9mIGlsbHVzdHJhdGVkIGVu +dHJpZXMuVGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIEVuY3ljbG9wZWRpYSBhbG9uZyB3aXRoIGl0 +cyBicm9hZCBjb3ZlcmFnZSBhbmQgZWNvbm9taWNhbCBwcmljZSBtYWtlIGl0IGF0dHJhY3RpdmUg +dG8gdGhlIHdpZGVzdCBwb3NzaWJsZSByYW5nZSBvZiByZWFkZXJzIGFuZCBjZXJ0YWlubHkgYSBt +dXN0IGZvciBsaWJyYXJpZXMsIGZyb20gdGhlIHNlY29uZGFyeSB0byB0aGUgcHJvZmVzc2lvbmFs +IGFuZCByZXNlYXJjaCBsZXZlbHMuIEZvciBtYXRoZW1hdGljYWwgZGVmaW5pdGlvbnMsIGZvcm11 +bGFzLCBmaWd1cmVzLCB0YWJ1bGF0aW9ucywgYW5kIHJlZmVyZW5jZXMsIHRoaXMgaXMgc2ltcGx5 +IHRoZSBtb3N0IGltcHJlc3NpdmUgY29tcGVuZGl1bSBhdmFpbGFibGUuIgogICAgICAgICksCgkJ +CiAgICAgICAgbmV3IEJvb2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwNjkxMTM4NzE4IiwK +ICAgICAgICAgICAgIkZlYXJsZXNzIHN5bW1ldHJ5IiwKICAgICAgICAgICAgIkF2bmVyIEFzaCAm +IFJvYmVydCBHcm9zcyIsCiAgICAgICAgICAgICIxMi44OSIsCiAgICAgICAgICAgICJNYXRoZW1h +dGljaWFucyBzb2x2ZSBlcXVhdGlvbnMsIG9yIHRyeSB0by4gQnV0IHNvbWV0aW1lcyB0aGUgc29s +dXRpb25zIGFyZSBub3QgYXMgaW50ZXJlc3RpbmcgYXMgdGhlIGJlYXV0aWZ1bCBzeW1tZXRyaWMg +cGF0dGVybnMgdGhhdCBsZWFkIHRvIHRoZW0uIFdyaXR0ZW4gaW4gYSBmcmllbmRseSBzdHlsZSBm +b3IgYSBnZW5lcmFsIGF1ZGllbmNlLCBGZWFybGVzcyBTeW1tZXRyeSBpcyB0aGUgZmlyc3QgcG9w +dWxhciBtYXRoIGJvb2sgdG8gZGlzY3VzcyB0aGVzZSBlbGVnYW50IGFuZCBteXN0ZXJpb3VzIHBh +dHRlcm5zIGFuZCB0aGUgaW5nZW5pb3VzIHRlY2huaXF1ZXMgbWF0aGVtYXRpY2lhbnMgdXNlIHRv +IHVuY292ZXIgdGhlbS4gSGlkZGVuIHN5bW1ldHJpZXMgd2VyZSBmaXJzdCBkaXNjb3ZlcmVkIG5l +YXJseSB0d28gaHVuZHJlZCB5ZWFycyBhZ28gYnkgRnJlbmNoIG1hdGhlbWF0aWNpYW4gRXZhcmlz +dGUgR2Fsb2lzLiBUaGV5IGhhdmUgYmVlbiB1c2VkIGV4dGVuc2l2ZWx5IGluIHRoZSBvbGRlc3Qg +YW5kIGxhcmdlc3QgYnJhbmNoIG9mIG1hdGhlbWF0aWNzLS1udW1iZXIgdGhlb3J5LS1mb3Igc3Vj +aCBkaXZlcnNlIGFwcGxpY2F0aW9ucyBhcyBhY291c3RpY3MsIHJhZGFyLCBhbmQgY29kZXMgYW5k +IGNpcGhlcnMuIFRoZXkgaGF2ZSBhbHNvIGJlZW4gZW1wbG95ZWQgaW4gdGhlIHN0dWR5IG9mIEZp +Ym9uYWNjaSBudW1iZXJzIGFuZCB0byBhdHRhY2sgd2VsbC1rbm93biBwcm9ibGVtcyBzdWNoIGFz +IEZlcm1hdCdzIExhc3QgVGhlb3JlbSwgUHl0aGFnb3JlYW4gVHJpcGxlcywgYW5kIHRoZSBldmVy +LWVsdXNpdmUgUmllbWFubiBIeXBvdGhlc2lzLiBNYXRoZW1hdGljaWFucyBhcmUgc3RpbGwgZGV2 +aXNpbmcgdGVjaG5pcXVlcyBmb3IgdGVhc2luZyBvdXQgdGhlc2UgbXlzdGVyaW91cyBwYXR0ZXJu +cywgYW5kIHRoZWlyIHVzZXMgYXJlIGxpbWl0ZWQgb25seSBieSB0aGUgaW1hZ2luYXRpb24uIFRo +ZSBmaXJzdCBwb3B1bGFyIGJvb2sgdG8gYWRkcmVzcyByZXByZXNlbnRhdGlvbiB0aGVvcnkgYW5k +IHJlY2lwcm9jaXR5IGxhd3MsIEZlYXJsZXNzIFN5bW1ldHJ5IGZvY3VzZXMgb24gaG93IG1hdGhl +bWF0aWNpYW5zIHNvbHZlIGVxdWF0aW9ucyBhbmQgcHJvdmUgdGhlb3JlbXMuIEl0IGRpc2N1c3Nl +cyBydWxlcyBvZiBtYXRoIGFuZCB3aHkgdGhleSBhcmUganVzdCBhcyBpbXBvcnRhbnQgYXMgdGhv +c2UgaW4gYW55IGdhbWVzIG9uZSBtaWdodCBwbGF5LiBUaGUgYm9vayBzdGFydHMgd2l0aCBiYXNp +YyBwcm9wZXJ0aWVzIG9mIGludGVnZXJzIGFuZCBwZXJtdXRhdGlvbnMgYW5kIHJlYWNoZXMgY3Vy +cmVudCByZXNlYXJjaCBpbiBudW1iZXIgdGhlb3J5LiBBbG9uZyB0aGUgd2F5LCBpdCB0YWtlcyBk +ZWxpZ2h0ZnVsIGhpc3RvcmljYWwgYW5kIHBoaWxvc29waGljYWwgZGlncmVzc2lvbnMuIFJlcXVp +cmVkIHJlYWRpbmcgZm9yIGFsbCBtYXRoIGJ1ZmZzLCB0aGUgYm9vayB3aWxsIGFwcGVhbCB0byBh +bnlvbmUgY3VyaW91cyBhYm91dCBwb3B1bGFyIG1hdGhlbWF0aWNzIGFuZCBpdHMgbXlyaWFkIGNv +bnRyaWJ1dGlvbnMgdG8gZXZlcnlkYXkgbGlmZS4iCiAgICAgICAgKSwKCiAgICAgICAgbmV3IEJv +b2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwODEyOTc5MTgzIiwKICAgICAgICAgICAgIlRo +ZSBCbGFjayBTd2FuIiwKICAgICAgICAgICAgIk5hc3NpbSBOaWNob2xhcyBUYWxlYiIsCiAgICAg +ICAgICAgICIxNy4yOCIsCiAgICAgICAgICAgICJJbiBidXNpbmVzcyBhbmQgZ292ZXJubWVudCwg +bWFqb3IgbW9uZXkgaXMgc3BlbnQgb24gcHJlZGljdGlvbi4gVXNlbGVzc2x5LCBhY2NvcmRpbmcg +dG8gVGFsZWIsIHdobyBhZG1pbmlzdGVycyBhIHNldmVyZSB0aHJhc2hpbmcgdG8gTUJBLSBhbmQg +Tm9iZWwgUHJpemUtY3JlZGVudGlhbGVkIGV4cGVydHMgd2hvIG1ha2UgdGhlaXIgbGl2aW5nIGZy +b20gZWNvbm9taWMgZm9yZWNhc3RpbmcuIEEgZmluYW5jaWFsIHRyYWRlciBhbmQgY3VycmVudCBy +ZWJlbCB3aXRoIGEgY2F1c2UsIFRhbGViIGlzIG1hdGhlbWF0aWNhbGx5IG9yaWVudGVkIGFuZCBh +bGx1ZGVzIHRvIHN0YXRpc3RpY2FsIGNvbmNlcHRzIHRoYXQgdW5kZXJsaWUgbW9kZWxzIG9mIHBy +ZWRpY3Rpb24sIHdoaWxlIGhpcyBleHByZXNzaXZlIGVuZXJneSBpcyBleHBlbmRlZCBvbiByb2xs +ZXItY29hc3RlciBwYXNzYWdlcywgYm9yZGVyaW5nIG9uIGdsZWVmdWwgZGlhdHJpYmVzLCBvbiB3 +aHkgZXhwZXJ0cyBhcmUgd3JvbmcuIFRoZXkgbmVnbGVjdCBUYWxlYidzIG1ldGFwaG9yIG9mICd0 +aGUgYmxhY2sgc3dhbicsIHdob3NlIGRpc2NvdmVyeSBpbnZhbGlkYXRlZCB0aGUgdGhlb3J5IHRo +YXQgYWxsIHN3YW5zIGFyZSB3aGl0ZS4gVGFsZWIgcmlkZXMgdGhpcyBtYW5pZmVzdGF0aW9uIG9m +IHRoZSB1bnByZWRpY3RlZCBldmVudCBpbnRvIGEgcmFuZ2Ugb2YgcGhlbm9tZW5hLCBzdWNoIGFz +IHdoeSBhIGJvb2sgYmVjb21lcyBhIGJlc3Qtc2VsbGVyIG9yIGhvdyBhbiBlbnRyZXByZW5ldXIg +YmVjb21lcyBhIGJpbGxpb25haXJlLCB0YWtpbmcgcGl0IHN0b3BzIHdpdGggcGhpbG9zb3BoZXJz +IHdobyBoYXZlIGFkZHJlc3NlZCB0aGUgbWVhbmluZyBvZiB0aGUgdW5leHBlY3RlZCBhbmQgY29u +Zm91bmRpbmcuIFRhbGViIHByb2plY3RzIGEgc3Ryb25nIHByZXNlbmNlIGhlcmUgdGhhdCB3aWxs +IHRlbXB0IG91dHNpZGUtdGhlLWJveCB0aGlua2VycyBpbnRvIGdpdmluZyBoaW0gYSBsb29rLiIK +ICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAgICAgIjk3ODA1 +MjU5NTA2MjIiLAogICAgICAgICAgICAiVGhlIFNjaWVuY2Ugb2YgRmVhciIsCiAgICAgICAgICAg +ICJEYW5pZWwgR2FyZGVuZXIiLAogICAgICAgICAgICAiMTYuNDciLAogICAgICAgICAgICAiR2Fy +ZG5lciwgYSBjb2x1bW5pc3QgYW5kIHNlbmlvciB3cml0ZXIgZm9yIHRoZSBPdHRhd2EgQ2l0aXpl +biwgaXMgYm90aCBtYXR0ZXItb2YtZmFjdCBhbmQgZW50ZXJ0YWluaW5nIGluIHRoaXMgbG9vayBh +dCBmZWFyIGFuZCBob3cgaXQgc2hhcGVzIG91ciBsaXZlcy4gQWx0aG91Z2ggd2UgYXJlIGNhcGFi +bGUgb2YgcmVhc29uLCBzYXlzIEdhcmRuZXIsIHdlIG9mdGVuIHJlbHkgaW5zdGVhZCBvbiBpbnR1 +aXRpdmUgc25hcCBqdWRnbWVudHMuIFdlIGFsc28gYXNzdW1lIGluc3RpbmN0aXZlbHksIGJ1dCBp +bmNvcnJlY3RseSwgdGhhdCBbaV1mIGV4YW1wbGVzIG9mIHNvbWV0aGluZyBjYW4gYmUgcmVjYWxs +ZWQgZWFzaWx5LCB0aGF0IHRoaW5nIG11c3QgYmUgY29tbW9uLiBBbmQgd2hhdCBpcyBtb3JlIG1l +bW9yYWJsZSB0aGFuIGhlYWRsaW5lcyBhbmQgbmV3cyBwcm9ncmFtcyBibGFyaW5nIGhvcnJpYmxl +IGNyaW1lcyBhbmQgZGlzZWFzZXMsIHBsYW5lIGNyYXNoZXMgYW5kIHRlcnJvcmlzdCBhdHRhY2tz +PyBJbiBmYWN0LCBzdWNoIGV2ZW50cyBhcmUgcmFyZSwgYnV0IHRoZWlyIG1lZGlhIG9tbmlwcmVz +ZW5jZSBhY3RpdmF0ZXMgYSBndXQtbGV2ZWwgZmVhciByZXNwb25zZSB0aGF0IGlzIG91dCBvZiBw +cm9wb3J0aW9uIHRvIHRoZSBsaWtlbGlob29kIG9mIG91ciBnb2luZyB0aHJvdWdoIHN1Y2ggYW4g +ZXZlbnQuIEl0IGRvZXNuJ3QgaGVscCB0aGF0IHNjaWVudGlmaWMgZGF0YSBhbmQgc3RhdGlzdGlj +cyBhcmUgb2Z0ZW4gbWlzdW5kZXJzdG9vZCBhbmQgbWlzdXNlZCBhbmQgdGhhdCBvdXIgcmlzayBh +c3Nlc3NtZW50IGlzIGluZmx1ZW5jZWQgbGVzcyBieSB0aGUgZmFjdHMgdGhhbiBieSBob3cgb3Ro +ZXJzIHJlc3BvbmQuIEdhcmRuZXIncyB2aXZpZCwgZGlyZWN0IHN0eWxlLCBiYWNrZWQgdXAgYnkg +Y2xlYXIgZXhhbXBsZXMgYW5kIHNvbGlkIGRhdGEgZnJvbSBzY2llbmNlIGFuZCBwc3ljaG9sb2d5 +LCBicmluZ3MgYSBicmVhdGggb2YgZnJlc2ggYWlyIGFuZCBjb21tb24gc2Vuc2UgdG8gYW4gZW1v +dGlvbmFsIHRvcGljLiIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAg +ICAgICAgICAgIjk3ODM0OTIwNTExMDEiLAogICAgICAgICAgICAiRGllIFJpZW1hbm5zY2hlIFZl +cm11dHVuZyIsCiAgICAgICAgICAgICJBdGxlIE5hZXNzIiwKICAgICAgICAgICAgIjkuOTAiLAog +ICAgICAgICAgICAiQXVmIGRpZSBlaW5lIG9kZXIgYW5kZXJlIFdlaXNlIHfDvHJkZSBkaWUgU2Fj +aGUgZmVobHNjaGxhZ2VuLiBEYXMgaGF0dGUgVGVyamUgSHV1c2UsIHZvbiBIYXVzIGF1cyBNYXRo +ZW1hdGlrZXIsIHZvbiBBbmZhbmcgYW4gZ2VhaG50LiBOdXIgd2VuIGRhcyBVbmdsw7xjayBhbSBo +w6RydGVzdGVuIHRyZWZmZW4gd8O8cmRlLCBzY2hpZW4gZGFtYWxzIG5vY2ggb2ZmZW4uIFRlcmpl +IGhhdHRlIGVzIHNpY2ggaW4gZGVuIEtvcGYgZ2VzZXR6dCwgZGllIEJpb2dyYWZpZSBzZWluZXMg +Z3Jvw59lbiBWb3JiaWxkcyBCZXJuaGFyZCBSaWVtYW5uIHp1IHZlcmZhc3NlbiB1bmQgZW5kbGlj +aCBkYXMgQWJlbnRldWVyIHZvbiBkZXIgU3VjaGUgbmFjaCBlaW5lciBSZWdlbG3DpMOfaWdrZWl0 +IGJlaSBkZW4gUHJpbXphaGxlbiB6dSBiZXNjaHJlaWJlbi4gQWJlciBkaWUgQXJiZWl0IHdhciBp +bnMgU3RvY2tlbiBnZXJhdGVuLCBzbyBlaW5mYWNoIHdhciBkYXMgYWxsZXMgbmljaHQuIE51ciBt +aXQgc2VpbmVyIEJla2FubnRlbiBJbmd2aWxkIGtvbm50ZSBzaWNoIGRlciB2ZXJoZWlyYXRldGUg +VGVyamUgZGHCrXLDvGJlciB1bnRlcmhhbHRlbi4gRGllIFNhY2hlIG1pdCBpaHIgZ2xpdHQgaWht +IHNjaG5lbGwgYXVzIGRlciBIYW5kLCB1bnJldHRiYXIgZ2VyaWV0IGVyIGluIGRlbiBTb2cgZGll +c2VyIEJlemllaHVuZy4gQmlzIFRlcmplIHBsw7Z0emxpY2ggdmVyc2Nod2luZGV0IC0gdW5kIHNl +aW5lIFRvY2h0ZXIgZWluZSBtZXJrd8O8cmRpZ2UgRGF0ZWkgYXVmIHNlaW5lbSBDb21wdXRlciBl +bnRkZWNrdCIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAg +ICAgIjk3ODE1ODQ4ODUwODUiLAogICAgICAgICAgICAiQ3J5cHRvZ3JhcGh5IiwKICAgICAgICAg +ICAgIkRvdWdsYXMgUi4gU3RpbnNvbiIsCiAgICAgICAgICAgICI1MS42OSIsCiAgICAgICAgICAg +ICJEb3VnbGFzIFIuIFN0aW5zb24ncyBDcnlwdG9ncmFwaHk6IFRoZW9yeSBhbmQgUHJhY3RpY2Ug +aXMgYSBtYXRoZW1hdGljYWxseSBpbnRlbnNpdmUgZXhhbWluYXRpb24gb2YgY3J5cHRvZ3JhcGh5 +LCBpbmNsdWRpbmcgY2lwaGVycywgdGhlIERhdGEgRW5jcnlwdGlvbiBTdGFuZGFyZCAoREVTKSwg +cHVibGljIGtleSBjcnlwdG9ncmFwaHksIG9uZS13YXkgaGFzaCBmdW5jdGlvbnMsIGFuZCBkaWdp +dGFsIHNpZ25hdHVyZXMuIFN0aW5zb24ncyBleHBsaWNhdGlvbiBvZiAnemVyby1zdW0gcHJvb2Zz +JyAtLSBhIHByb2Nlc3MgYnkgd2hpY2ggb25lIHBlcnNvbiBsZXRzIGFub3RoZXIgcGVyc29uIGtu +b3cgdGhhdCBoZSBvciBzaGUgaGFzIGEgcGFzc3dvcmQgd2l0aG91dCBhY3R1YWxseSByZXZlYWxp +bmcgYW55IGluZm9ybWF0aW9uLS1pcyBlc3BlY2lhbGx5IGdvb2QuIElmIHlvdSBhcmUgbmV3IHRv +IHRoZSBtYXRoIGJlaGluZCBjcnlwdG9ncmFwaHkgYnV0IHdhbnQgdG8gdGFja2xlIGl0LCB0aGUg +YXV0aG9yIGNvdmVycyBhbGwgb2YgdGhlIHJlcXVpcmVkIGJhY2tncm91bmQgdG8gdW5kZXJzdGFu +ZCB0aGUgcmVhbCBtYXRoZW1hdGljcyBoZXJlLiBDcnlwdG9ncmFwaHkgaW5jbHVkZXMgZXh0ZW5z +aXZlIGV4ZXJjaXNlcyB3aXRoIGVhY2ggY2hhcHRlciBhbmQgbWFrZXMgYW4gaWRlYWwgaW50cm9k +dWN0aW9uIGZvciBhbnkgbWF0aC1saXRlcmF0ZSBwZXJzb24gd2lsbGluZyB0byBnZXQgYWNxdWFp +bnRlZCB3aXRoIHRoaXMgbWF0ZXJpYWwuIgogICAgICAgICkKfTsKCnByaXZhdGUgc3RhdGljIGZp +bmFsIGNsYXNzIEJvb2tSYXRpbmdFbnRyeSB7CgkKCXByaXZhdGUgZmluYWwgU3RyaW5nIGlzYm47 +Cglwcml2YXRlIGZpbmFsIGludCBzY29yZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIGNvbW1lbnQ7 +Cglwcml2YXRlIGZpbmFsIFN0cmluZyBkYXRldGltZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIHVz +ZXI7CgkKCXB1YmxpYyBCb29rUmF0aW5nRW50cnkoU3RyaW5nIGlzYm4sIGludCBzY29yZSwgU3Ry +aW5nIGNvbW1lbnQsIFN0cmluZyBkYXRldGltZSwgU3RyaW5nIHVzZXIpIHsKCQl0aGlzLmlzYm4g +PSBpc2JuOwoJCXRoaXMuc2NvcmUgPSBzY29yZTsKCQl0aGlzLmNvbW1lbnQgPSBjb21tZW50OwoJ +CXRoaXMuZGF0ZXRpbWUgPSBkYXRldGltZTsKCQl0aGlzLnVzZXIgPSB1c2VyOwoJfQoJCglwdWJs +aWMgQm9va1JhdGluZ0VudHJ5KFN0cmluZyBpc2JuLCBpbnQgc2NvcmUsIFN0cmluZyBjb21tZW50 +LCBqYXZhLnV0aWwuRGF0ZSBkYXRldGltZUQsIFN0cmluZyB1c2VyKSB7CgkJdGhpcy5pc2JuID0g +aXNibjsKCQl0aGlzLnNjb3JlID0gc2NvcmU7CgkJdGhpcy5jb21tZW50ID0gY29tbWVudDsKCQl0 +aGlzLmRhdGV0aW1lID0gZGF0ZUZvcm1hdC5mb3JtYXQoZGF0ZXRpbWVEKTsKCQl0aGlzLnVzZXIg +PSB1c2VyOwoJfQoJCglwdWJsaWMgU3RyaW5nIGdldElzYm4oKSB7CgkJcmV0dXJuIGlzYm47Cgl9 +CgoJcHVibGljIGludCBnZXRTY29yZSgpIHsKCQlyZXR1cm4gc2NvcmU7Cgl9CgkKCXB1YmxpYyBT +dHJpbmcgZ2V0Q29tbWVudCgpIHsKCQlyZXR1cm4gY29tbWVudDsKCX0KCQoJcHVibGljIFN0cmlu +ZyBnZXREYXRldGltZSgpIHsKCQlyZXR1cm4gZGF0ZXRpbWU7Cgl9CglwdWJsaWMgU3RyaW5nIGdl +dFVzZXIoKSB7CgkJcmV0dXJuIHVzZXI7Cgl9Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIGphdmEu +dGV4dC5TaW1wbGVEYXRlRm9ybWF0IGRhdGVGb3JtYXQgPSBuZXcgamF2YS50ZXh0LlNpbXBsZURh +dGVGb3JtYXQoInl5eXkuTU0uZGQtSEg6bW06c3MiKTsKCnByaXZhdGUgc3RhdGljIGZpbmFsIGph +dmEudXRpbC5NYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4gYm9va1JhdGluZ0xpc3QgPSBuZXcg +amF2YS51dGlsLkhhc2hNYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4oKTsKCnByaXZhdGUgc3Rh +dGljIGZpbmFsIGphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gZ2V0UmF0aW5ncyhTdHJp +bmcgaXNibikgewoJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0gKGph +dmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4pYm9va1JhdGluZ0xpc3QuZ2V0KGlzYm4pOwoJ +aWYgKHJhdGluZ3MgPT0gbnVsbCkgewoJCXJhdGluZ3MgPSBuZXcgamF2YS51dGlsLkFycmF5TGlz +dDxCb29rUmF0aW5nRW50cnk+KCk7CgkJYm9va1JhdGluZ0xpc3QucHV0KGlzYm4sIHJhdGluZ3Mp +OwoJfQoJcmV0dXJuIHJhdGluZ3M7Cn0KCnN0YXRpYyB7Cgl0cnkgewoJCVN0cmluZyBpc2JuOwoJ +CWphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gcmF0aW5nczsKCQkKCQlpc2JuID0gIjk3 +ODE1ODQ4ODM0NzAiOwoJCXJhdGluZ3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRk +KG5ldyBCb29rUmF0aW5nRW50cnkoaXNibiwgNCwgIlZlcnkgZ29vZCBmb3IgYmVnaW5uZXJzLiIs +IG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiQW5uIikpOwkKCQlyYXRpbmdzLmFkZChuZXcgQm9va1Jh +dGluZ0VudHJ5KGlzYm4sIDMsICJOb3QgYmFkIGJ1dCBvdmVycHJpemVkLiIsIG5ldyBqYXZhLnV0 +aWwuRGF0ZSgpLCAiQmlsbCIpKTsKCQkKCQlpc2JuID0gIjk3ODA2OTExMzg3MTgiOwoJCXJhdGlu +Z3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnko +aXNibiwgMywgIldlbGwgLi4uIGdpdmVzIGEgZ29vZCBvdmVydmlldy4iLCBuZXcgamF2YS51dGls +LkRhdGUoKSwgIkNhcmwiKSk7CQoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnkoaXNi +biwgMSwgIk5vdCB3b3J0aCB0aGUgbW9uZXkuIiwgbmV3IGphdmEudXRpbC5EYXRlKCksICJEdXN0 +aW4iKSk7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCAyLCAiSSBhZ3Jl +ZSB3aXRoIENhcmwgLi4uIGJ1dCB0b28gZXhwZW5zaXZlLiIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgp +LCAiRXZlIikpOwoJCQoJCWlzYm4gPSAiOTc4MDgxMjk3OTE4MyI7CgkJcmF0aW5ncyA9IGdldFJh +dGluZ3MoaXNibik7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCA1LCAi +RXhjZWxsZW50ISIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiRnJlZCIpKTsJCgl9IGNhdGNoIChF +eGNlcHRpb24gZSkgewoJCWUucHJpbnRTdGFja1RyYWNlKCk7Cgl9CQp9CgkKcHJpdmF0ZSBzdGF0 +aWMgZmluYWwgamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4gZ2V0UmVxdWVzdFVSTCgpIHsK +CUlEYXRhIGlucHV0ID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOwoJSURhdGEgCW91dHB1dCA9IElE +YXRhRmFjdG9yeS5jcmVhdGUoKTsKCWphdmEudXRpbC5NYXAgcmVzdWx0ID0gbmV3IGphdmEudXRp +bC5IYXNoTWFwPFN0cmluZywgU3RyaW5nPigpOwoJdHJ5IHsKCQlvdXRwdXQgPSBTZXJ2aWNlLmRv +SW52b2tlKCAicHViLmZsb3ciLCAiZ2V0VHJhbnNwb3J0SW5mbyIsIGlucHV0ICk7Cgl9CgljYXRj +aCggRXhjZXB0aW9uIGUpe30KCQoJSURhdGFDdXJzb3Igb3V0cHV0Q3Vyc29yID0gb3V0cHV0Lmdl +dEN1cnNvcigpOwoKCS8vIHRyYW5zcG9ydAoJSURhdGEJdHJhbnNwb3J0ID0gSURhdGFVdGlsLmdl +dElEYXRhKCBvdXRwdXRDdXJzb3IsICJ0cmFuc3BvcnQiICk7CglpZiAoIHRyYW5zcG9ydCAhPSBu +dWxsKSB7CgkJSURhdGFDdXJzb3IgdHJhbnNwb3J0Q3Vyc29yID0gdHJhbnNwb3J0LmdldEN1cnNv +cigpOwoKCQlJRGF0YQlodHRwID0gSURhdGFVdGlsLmdldElEYXRhKCB0cmFuc3BvcnRDdXJzb3Is +ICJodHRwIiApOwoJCWlmICggaHR0cCAhPSBudWxsKSB7CgkJCUlEYXRhQ3Vyc29yIGh0dHBDdXJz +b3IgPSBodHRwLmdldEN1cnNvcigpOwoJCQlTdHJpbmcgcmVxdWVzdFVybCA9IElEYXRhVXRpbC5n +ZXRTdHJpbmcoIGh0dHBDdXJzb3IsICJyZXF1ZXN0VXJsIiApOwoJCQkKCQkJSURhdGEJcmVxdWVz +dEhkcnMgPSBJRGF0YVV0aWwuZ2V0SURhdGEoIGh0dHBDdXJzb3IsICJyZXF1ZXN0SGRycyIgKTsK +CQkJaWYgKCByZXF1ZXN0SGRycyAhPSBudWxsKSB7CgkJCQlJRGF0YUN1cnNvciByZXF1ZXN0SGRy +c0N1cnNvciA9IHJlcXVlc3RIZHJzLmdldEN1cnNvcigpOwoJCQkJU3RyaW5nCWhvc3QgPSBJRGF0 +YVV0aWwuZ2V0U3RyaW5nKCByZXF1ZXN0SGRyc0N1cnNvciwgIkhvc3QiICk7CgkJCQlpZiAoaG9z +dCAhPSBudWxsICYmIGhvc3QubGVuZ3RoKCkgPiAwKSB7CgkJCQkJcmVzdWx0LnB1dCgiaG9zdCIs +IGhvc3QpOwoJCQkJfQoJCQkJcmVxdWVzdEhkcnNDdXJzb3IuZGVzdHJveSgpOwoJCQl9CgkJCQoJ +CQlyZXN1bHQucHV0KCJ1cmwiLCB0cmltVXJsKHJlcXVlc3RVcmwpKTsKCQkJaHR0cEN1cnNvci5k +ZXN0cm95KCk7CgkJfQkKCQl0cmFuc3BvcnRDdXJzb3IuZGVzdHJveSgpOwoJfQoJb3V0cHV0Q3Vy +c29yLmRlc3Ryb3koKTsKCXJldHVybiByZXN1bHQ7Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIFN0 +cmluZyBnZXRBdmVyYWdlUmF0aW5nKFN0cmluZyBpc2JuKSB7CgkvLyBnZXQgcmF0aW5ncwoJamF2 +YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiBybCA9IGdldFJhdGluZ3MoaXNibik7CglmbG9h +dCBzY29yZUYgPSAwOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBu +cjsgaSsrKSB7CgkJQm9va1JhdGluZ0VudHJ5IGUgPSAoQm9va1JhdGluZ0VudHJ5KXJsLmdldChp +KTsKCQlzY29yZUYgPSBzY29yZUYgKyAoZmxvYXQpZS5nZXRTY29yZSgpOwoJfQoJaWYgKG5yID4g +MCkgewoJCXNjb3JlRiA9IHNjb3JlRi8oZmxvYXQpbnI7Cgl9CgkKCXJldHVybiBTdHJpbmcudmFs +dWVPZihzY29yZUYpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgZ2V0TnVtYmVyT2ZW +b3RlcyhTdHJpbmcgaXNibikgewoJLy8gZ2V0IHJhdGluZ3MKCWphdmEudXRpbC5MaXN0PEJvb2tS +YXRpbmdFbnRyeT4gcmwgPSBnZXRSYXRpbmdzKGlzYm4pOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJ +CglyZXR1cm4gU3RyaW5nLnZhbHVlT2YobnIpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJp +bmcgdHJpbVVybCAoU3RyaW5nIHVybCkgewoJU3RyaW5nIHJlc3VsdCA9IHVybDsKCXdoaWxlIChy +ZXN1bHQgIT0gbnVsbCAmJiByZXN1bHQubGVuZ3RoKCkgPiAwICYmIHJlc3VsdC5lbmRzV2l0aCgi +LyIpKSB7CgkJcmVzdWx0ID0gcmVzdWx0LnN1YnN0cmluZygwLCByZXN1bHQubGVuZ3RoKCkgLSAx +KTsKCX0KCXJldHVybiByZXN1bHQ7Cn0= + + + + + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780525950622.png b/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780525950622.png new file mode 100644 index 0000000000000000000000000000000000000000..9f72d8acda498fdb945dec7f75f781463f60c645 GIT binary patch literal 62742 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�T59-qO`cs;-jN5CAlmpiayu? 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 Drmm;2 literal 0 HcmV?d00001 diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780691138718.png b/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780691138718.png new file mode 100644 index 0000000000000000000000000000000000000000..bc0962f192260d06ae9b302b1134c8ae876767a3 GIT binary patch literal 70504 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%0DEYVG|(B zI&Li_%^IOjAjP%`U{ux0#jgZf2%9y*wIZ98DuIP;Z}bAuf!b?UQwK)_0@*>)$bI*9 z95j`iy9x^M` z16B34aWr!2(#vbv7okm!t^oD%=!Jt;Gykoz!d0PgXGyB68UlXo{_{jY)}D ze5_@*P`CvFqLnx}=&1VaF(@_MD3X*+~gT+n~qLo|*0 zoKqSyM1u-!RY!g%dhFvf_>H_=Iyx!kxFIh?JgluN$n8FM$WcM_wqiZ5D& z@$cXA4yo%9!*y48oBCL-kYQy-RN->N{<~a|FASWWvA{{x$6E6#p~mF;BtRmFRrh*& z-|^i`3RAVQ!Sf#XaY`_{pLv?OI4iY=E{-XB*I%Ea5eR%ps`;c@P(CWSiO9G@D+%6Y zbMFePu0FU$BRdlP`(3{zHccB2Y~@N4e%89hdgZtA%4o!UNu-@L(oo9^sEnAN;VzzH z_{riO{nW*AOT$-^HGvk@CLs}n&k)JMhaGR~exYp>8OpZ|O>sQH*O*R}SxxFbze5r; z20zwa10EL|lO+%4o+vJko*s%`2$0mcny>V!vs@IalrPyphl%SL6zPPYg*MfW&QOU7 zcu6u9HRa{4i9l7>8j(tV%?%Uu86P~i-1S

Ux6RoJjh5({aW1m<2c;)p~IKDW1*bPw`wRE()-9 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584883470.png b/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584883470.png new file mode 100644 index 0000000000000000000000000000000000000000..feced866dd2fee9c10b409b54ff40b5d2031de2b GIT binary patch literal 79675 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 z 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 P00000NkvXXu0mjf0kSR3 literal 0 HcmV?d00001 diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9783492051101.png b/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9783492051101.png new file mode 100644 index 0000000000000000000000000000000000000000..c95d7c3049cd2d9c6660b44b5afff0a566f03622 GIT binary patch literal 66070 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

NoViU_#AmS?-lvdWkLDViNQu>;j;xW$9Y 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 Lm8EJWOhf($mN4M# literal 0 HcmV?d00001 diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780525950622.png b/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780525950622.png new file mode 100644 index 0000000000000000000000000000000000000000..a7cd5ba257988a52945f13c4c79ce62865c5065a GIT binary patch literal 5011 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 literal 0 HcmV?d00001 diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9783492051101.png b/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9783492051101.png new file mode 100644 index 0000000000000000000000000000000000000000..bf4686fd8ae5c6d5f7455ce9fc2e5df51367f0d6 GIT binary patch literal 6001 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 + + +Bookstore v1.0 + + + + + +

Welcome to the Home Page of the Bookstore Package.

+
Author: Peter Nevermann
Version: 1.0
Date: 28-Feb-2013
+

This package provides RESTful services dealing with resources of type Book.

+

You can use GET requests to retrieve information about books available in the Bookstore. The information is available in two formats: XML and JSON. Use an Accept request header with value text/xml or application/json to specify which type of response format you wish.

+
+

Example: +
Use a GET request on http://localhost:5555/rest/bookstore/books/9780812979183 to obtain the details of the book with ISBN "9780812979183".

+
    + + + + + + + +
    "Accept"
    Request Header
    Response Body
    text/xml<?xml version="1.0"?> +
    <book isbn="9780812979183"> +
       <author>Nassim Nicholas Taleb</author> +
       <title>The Black Swan</title> +
       <rating>5.0</rating> +
       <votes>1</votes> +
       <price>17.28</price> +
       <description>In business and government, major money is spent on prediction. [...]</description> +
       <thumbnailurl>http://localhost:5555/Bookstore/images/thumbnails/9780812979183.png</thumbnailurl> +
       <coverurl>http://localhost:5555/Bookstore/images/covers/9780812979183.png</coverurl> +
       <ratingsurl>http://localhost:5555/rest/bookstore/books/9780812979183/ratings</ratingsurl> +
    </book>
    application/json{ +
       "book": { +
          "@isbn": "9780812979183", +
          "author": "Nassim Nicholas Taleb", +
          "title": "The Black Swan", +
          "rating": "5.0", +
          "votes": "1", +
          "price": "17.28", +
          "description": "In business and government, major money is spent on prediction. [...]", +
          "thumbnailurl": "http://localhost:5555/Bookstore/images/thumbnails/9780812979183.png", +
          "coverurl": "http://localhost:5555/Bookstore/images/covers/9780812979183.png", +
          "ratingsurl": "http://localhost:5555/rest/bookstore/books/9780812979183/ratings" +
       } +
    }
    +
+

Note that the services return URLs to retrieve the book details ("detailsurl"), the book ratings ("ratingsurl"), the book's cover image ("coverurl"), and a book's thumbnail image ("thumbnailurl").

+

You can add a rating and comments for a book by sending a POST request to the "ratings" path of a resource. +
Use an Content-Type request header with value text/xml or application/json to specify whether you are sending your data as XML or JSON.

+

Example: +
Use a POST request on http://localhost:5555/rest/bookstore/books/9780812979183/ratings to send the following rating and comment.

+
    + + + + + + +
    "Content-Type"
    Request Header
    Request Body
    text/xml<rating> +
       <score>5</score> +
       <comment>Best book of the year!</comment> +
       <user>Mike</user> +
    </rating>
    application/json{ +
       "rating": { +
          "score":"5", +
          "comment":"Best book of the year!", +
          "user":"Mike" +
       } +
    }
    +
+ + \ No newline at end of file From d2bba8a4c8d2813301baaf55cabd7dd9d1eaaaa2 Mon Sep 17 00:00:00 2001 From: glau Date: Fri, 27 Jul 2018 08:48:49 +0200 Subject: [PATCH 002/134] Rectified the Jenkinsfile.unix --- Jenkinsfile.unix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile.unix b/Jenkinsfile.unix index 89f203b75..d34f0db95 100644 --- a/Jenkinsfile.unix +++ b/Jenkinsfile.unix @@ -24,17 +24,17 @@ pipeline { stages { stage('Build'){ steps { - sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" + sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" } } stage('Deploy') { steps { - sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" + sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" } } stage('Test') { steps { - sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" + sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" junit 'report/' } } From d52d5cea14b16a6b2083c83c2895dd3c7eaf2cc3 Mon Sep 17 00:00:00 2001 From: glau Date: Fri, 27 Jul 2018 09:19:26 +0200 Subject: [PATCH 003/134] Added Bookstore TestSuite Project --- Jenkinsfile - Copy.unix | 42 +++++++++++ assets/IS/Tests/BookstoreTest/.classpath | 6 ++ assets/IS/Tests/BookstoreTest/.classpath.swp | Bin 0 -> 12288 bytes assets/IS/Tests/BookstoreTest/.project | 17 +++++ .../.settings/org.eclipse.jdt.core.prefs | 12 ++++ assets/IS/Tests/BookstoreTest/bin/.gitignore | 2 + .../bookstore_services_getBooks_input.xml | 6 ++ .../bookstore_services_getBooks_output.xml | 66 ++++++++++++++++++ .../test/xml/setup/BookstoreTest.xml | 13 ++++ 9 files changed, 164 insertions(+) create mode 100644 Jenkinsfile - Copy.unix create mode 100644 assets/IS/Tests/BookstoreTest/.classpath create mode 100644 assets/IS/Tests/BookstoreTest/.classpath.swp create mode 100644 assets/IS/Tests/BookstoreTest/.project create mode 100644 assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs create mode 100644 assets/IS/Tests/BookstoreTest/bin/.gitignore create mode 100644 assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml create mode 100644 assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml create mode 100644 assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml diff --git a/Jenkinsfile - Copy.unix b/Jenkinsfile - Copy.unix new file mode 100644 index 000000000..89f203b75 --- /dev/null +++ b/Jenkinsfile - Copy.unix @@ -0,0 +1,42 @@ +/* +* Copyright © 2010 - 2013 Apama Ltd. +* Copyright © 2013 - 2018 Software AG, Darmstadt, Germany and/or its licensors +* +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +pipeline { + agent any + + stages { + stage('Build'){ + steps { + sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" + } + } + stage('Deploy') { + steps { + sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" + } + } + stage('Test') { + steps { + sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" + junit 'report/' + } + } + } +} diff --git a/assets/IS/Tests/BookstoreTest/.classpath b/assets/IS/Tests/BookstoreTest/.classpath new file mode 100644 index 000000000..3485755ac --- /dev/null +++ b/assets/IS/Tests/BookstoreTest/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/IS/Tests/BookstoreTest/.classpath.swp b/assets/IS/Tests/BookstoreTest/.classpath.swp new file mode 100644 index 0000000000000000000000000000000000000000..9cd3016c34d1e782f82d59a6344ffbbb8492bd1d GIT binary patch literal 12288 zcmeI&!EVzq7zc1~aA1eQfENhijNJ|-Kx#LkYLkkzP1?Evr^!j&)Lmjnw$pYO_7LO1 z3n1|VJOd{lfVaVhW=NA**|E~!)h8#hzu5luRP{?*C;h$XC4E7B+aQE~{r3Ly^TFMR z9|++p7e#o!pcPWpvqaD6f`pI1$JtbyGh6Xgyl!u@U72Xb(~%qq>ljT7ZvB`WEm#u6 z5P-m~1=h*)&2}rKJ&m74j~^Z1`VB~c00bZa0SG_<0uX=z1eRC8RV(DeZ+~@ugnRRT z#Q-2tWV=5P$##AOHafKwzl^I_#?IdW)=eu5N^K<~%x+D(l9& zc2(`-D3oS*<3y^M{c~<1lV&0t=~A#iW#3j0-IN=_b6@v;+Uv7am!($BPiJ{3`yNU= zV)>Ac`Gn7C$z|a$%?%5sS~Uy#cTvl8nx~ddOXq9JZ7rRkrdCdtg1#$5efd#%*3-&y zsf1ze=JS7RXp>Ws7P7K}jx$FKUMpX?u5$YJaObplus?Xy-`_c8*XK#)gi*YpnMmrK z)^eUH3_WsOW!z*ZdxP^zu<@k4VJp_8&2f#ex;Ck>EF6^uv5@%pyYtuEv$BXL!dR(Q ZH*V8b90`@`%x}0G9}jk)y^6QD$S-NC*ggON literal 0 HcmV?d00001 diff --git a/assets/IS/Tests/BookstoreTest/.project b/assets/IS/Tests/BookstoreTest/.project new file mode 100644 index 000000000..1319edd3c --- /dev/null +++ b/assets/IS/Tests/BookstoreTest/.project @@ -0,0 +1,17 @@ + + + BookstoreTest + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs b/assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..8fec98aea --- /dev/null +++ b/assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Thu Jan 10 14:25:20 CET 2013 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/assets/IS/Tests/BookstoreTest/bin/.gitignore b/assets/IS/Tests/BookstoreTest/bin/.gitignore new file mode 100644 index 000000000..9e21f06c3 --- /dev/null +++ b/assets/IS/Tests/BookstoreTest/bin/.gitignore @@ -0,0 +1,2 @@ +/PackageTest/ +/test/ diff --git a/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml b/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml new file mode 100644 index 000000000..29484eb16 --- /dev/null +++ b/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml b/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml new file mode 100644 index 000000000..1907aa7dc --- /dev/null +++ b/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml @@ -0,0 +1,66 @@ + + + + + + + + + 9781584883470 + Eric Weisstein + CRC Concise Encyclopedia of Mathematics + 3.5 + 2 + http://localhost:5555/wm-message/9781584883470 + http://localhost:5555/Bookstore/images/thumbnails/9781584883470.png + + + 9780691138718 + Avner Ash & Robert Gross + Fearless symmetry + 2.0 + 3 + http://localhost:5555/wm-message/9780691138718 + http://localhost:5555/Bookstore/images/thumbnails/9780691138718.png + + + 9780812979183 + Nassim Nicholas Taleb + The Black Swan + 5.0 + 1 + http://localhost:5555/wm-message/9780812979183 + http://localhost:5555/Bookstore/images/thumbnails/9780812979183.png + + + 9780525950622 + Daniel Gardener + The Science of Fear + 0.0 + 0 + http://localhost:5555/wm-message/9780525950622 + http://localhost:5555/Bookstore/images/thumbnails/9780525950622.png + + + 9783492051101 + Atle Naess + Die Riemannsche Vermutung + 0.0 + 0 + http://localhost:5555/wm-message/9783492051101 + http://localhost:5555/Bookstore/images/thumbnails/9783492051101.png + + + 9781584885085 + Douglas R. Stinson + Cryptography + 0.0 + 0 + http://localhost:5555/wm-message/9781584885085 + http://localhost:5555/Bookstore/images/thumbnails/9781584885085.png + + + + + + diff --git a/assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml b/assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml new file mode 100644 index 000000000..d29f29942 --- /dev/null +++ b/assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + From ea6affba6b298d1c825e3be119eb2fdd20c2d185 Mon Sep 17 00:00:00 2001 From: glau Date: Fri, 27 Jul 2018 09:24:46 +0200 Subject: [PATCH 004/134] Removed FibonachiTest Recitified the ant path in jenkinsfile --- Jenkinsfile - Copy.unix | 42 ------------------ Jenkinsfile.win | 6 +-- assets/IS/Tests/FibonachiTest/.classpath | 6 --- assets/IS/Tests/FibonachiTest/.classpath.swp | Bin 12288 -> 0 bytes assets/IS/Tests/FibonachiTest/.project | 17 ------- .../.settings/org.eclipse.jdt.core.prefs | 12 ----- assets/IS/Tests/FibonachiTest/bin/.gitignore | 2 - .../test/xml/data/fibExpectedOutput.xml | 16 ------- .../resources/test/xml/data/fibWrongInput.xml | 16 ------- .../resources/test/xml/data/finInput.xml | 16 ------- .../test/xml/data/mockSubstractIntWrong.xml | 16 ------- .../test/xml/setup/FibonachiTest.xml | 35 --------------- 12 files changed, 3 insertions(+), 181 deletions(-) delete mode 100644 Jenkinsfile - Copy.unix delete mode 100644 assets/IS/Tests/FibonachiTest/.classpath delete mode 100644 assets/IS/Tests/FibonachiTest/.classpath.swp delete mode 100644 assets/IS/Tests/FibonachiTest/.project delete mode 100644 assets/IS/Tests/FibonachiTest/.settings/org.eclipse.jdt.core.prefs delete mode 100644 assets/IS/Tests/FibonachiTest/bin/.gitignore delete mode 100644 assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibExpectedOutput.xml delete mode 100644 assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibWrongInput.xml delete mode 100644 assets/IS/Tests/FibonachiTest/resources/test/xml/data/finInput.xml delete mode 100644 assets/IS/Tests/FibonachiTest/resources/test/xml/data/mockSubstractIntWrong.xml delete mode 100644 assets/IS/Tests/FibonachiTest/resources/test/xml/setup/FibonachiTest.xml diff --git a/Jenkinsfile - Copy.unix b/Jenkinsfile - Copy.unix deleted file mode 100644 index 89f203b75..000000000 --- a/Jenkinsfile - Copy.unix +++ /dev/null @@ -1,42 +0,0 @@ -/* -* Copyright © 2010 - 2013 Apama Ltd. -* Copyright © 2013 - 2018 Software AG, Darmstadt, Germany and/or its licensors -* -* SPDX-License-Identifier: Apache-2.0 -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -pipeline { - agent any - - stages { - stage('Build'){ - steps { - sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" - } - } - stage('Deploy') { - steps { - sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" - } - } - stage('Test') { - steps { - sh "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" - junit 'report/' - } - } - } -} diff --git a/Jenkinsfile.win b/Jenkinsfile.win index 3bd53ea6c..cf8eab54a 100644 --- a/Jenkinsfile.win +++ b/Jenkinsfile.win @@ -24,17 +24,17 @@ pipeline { stages { stage('Build'){ steps { - bat "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" + bat "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" } } stage('Deploy') { steps { - bat "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" + bat "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" } } stage('Test') { steps { - bat "${env.SAG_HOME}/common/AssetBuildEnvironment/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" + bat "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" junit 'report/' } } diff --git a/assets/IS/Tests/FibonachiTest/.classpath b/assets/IS/Tests/FibonachiTest/.classpath deleted file mode 100644 index 3485755ac..000000000 --- a/assets/IS/Tests/FibonachiTest/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/IS/Tests/FibonachiTest/.classpath.swp b/assets/IS/Tests/FibonachiTest/.classpath.swp deleted file mode 100644 index 9cd3016c34d1e782f82d59a6344ffbbb8492bd1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&!EVzq7zc1~aA1eQfENhijNJ|-Kx#LkYLkkzP1?Evr^!j&)Lmjnw$pYO_7LO1 z3n1|VJOd{lfVaVhW=NA**|E~!)h8#hzu5luRP{?*C;h$XC4E7B+aQE~{r3Ly^TFMR z9|++p7e#o!pcPWpvqaD6f`pI1$JtbyGh6Xgyl!u@U72Xb(~%qq>ljT7ZvB`WEm#u6 z5P-m~1=h*)&2}rKJ&m74j~^Z1`VB~c00bZa0SG_<0uX=z1eRC8RV(DeZ+~@ugnRRT z#Q-2tWV=5P$##AOHafKwzl^I_#?IdW)=eu5N^K<~%x+D(l9& zc2(`-D3oS*<3y^M{c~<1lV&0t=~A#iW#3j0-IN=_b6@v;+Uv7am!($BPiJ{3`yNU= zV)>Ac`Gn7C$z|a$%?%5sS~Uy#cTvl8nx~ddOXq9JZ7rRkrdCdtg1#$5efd#%*3-&y zsf1ze=JS7RXp>Ws7P7K}jx$FKUMpX?u5$YJaObplus?Xy-`_c8*XK#)gi*YpnMmrK z)^eUH3_WsOW!z*ZdxP^zu<@k4VJp_8&2f#ex;Ck>EF6^uv5@%pyYtuEv$BXL!dR(Q ZH*V8b90`@`%x}0G9}jk)y^6QD$S-NC*ggON diff --git a/assets/IS/Tests/FibonachiTest/.project b/assets/IS/Tests/FibonachiTest/.project deleted file mode 100644 index c8e6fd4ce..000000000 --- a/assets/IS/Tests/FibonachiTest/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - FibonachiTest - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/assets/IS/Tests/FibonachiTest/.settings/org.eclipse.jdt.core.prefs b/assets/IS/Tests/FibonachiTest/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 8fec98aea..000000000 --- a/assets/IS/Tests/FibonachiTest/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Thu Jan 10 14:25:20 CET 2013 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/assets/IS/Tests/FibonachiTest/bin/.gitignore b/assets/IS/Tests/FibonachiTest/bin/.gitignore deleted file mode 100644 index 9e21f06c3..000000000 --- a/assets/IS/Tests/FibonachiTest/bin/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/PackageTest/ -/test/ diff --git a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibExpectedOutput.xml b/assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibExpectedOutput.xml deleted file mode 100644 index 484a0545c..000000000 --- a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibExpectedOutput.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 8 - - diff --git a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibWrongInput.xml b/assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibWrongInput.xml deleted file mode 100644 index cdd9897ec..000000000 --- a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/fibWrongInput.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - -1 - - diff --git a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/finInput.xml b/assets/IS/Tests/FibonachiTest/resources/test/xml/data/finInput.xml deleted file mode 100644 index 1394e3d06..000000000 --- a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/finInput.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 6 - - diff --git a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/mockSubstractIntWrong.xml b/assets/IS/Tests/FibonachiTest/resources/test/xml/data/mockSubstractIntWrong.xml deleted file mode 100644 index 3b1c44f94..000000000 --- a/assets/IS/Tests/FibonachiTest/resources/test/xml/data/mockSubstractIntWrong.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 5 - - diff --git a/assets/IS/Tests/FibonachiTest/resources/test/xml/setup/FibonachiTest.xml b/assets/IS/Tests/FibonachiTest/resources/test/xml/setup/FibonachiTest.xml deleted file mode 100644 index afcde751a..000000000 --- a/assets/IS/Tests/FibonachiTest/resources/test/xml/setup/FibonachiTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 15d7d98a0b2fb13c09a5debee6464db18714ea73 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Fri, 27 Jul 2018 07:31:43 +0000 Subject: [PATCH 005/134] got rid of spurious comment --- build.xml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/build.xml b/build.xml index eda02ba92..d74e9386e 100644 --- a/build.xml +++ b/build.xml @@ -1,22 +1,3 @@ - - From 13d2ca04e6304b79fa00ec11663bbdae58e0b559 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Fri, 27 Jul 2018 07:36:51 +0000 Subject: [PATCH 006/134] moved package to correct place --- .../Bookstore/{Bookstore => }/.classpath | 68 +- .../Bookstore/{Bookstore => }/.project | 46 +- .../{Bookstore => }/code/classes/.gitignore | 0 .../code/source/bookstore/services.java | 822 +++++++++--------- .../Bookstore/{Bookstore => }/manifest.bak | 0 .../Bookstore/{Bookstore => }/manifest.v3 | 0 .../ns/bookstore/books/_get/flow.xml | 198 ++--- .../ns/bookstore/books/_get/flow.xml.bak | 0 .../ns/bookstore/books/_get/node.ndf | 0 .../ns/bookstore/books/_post/flow.xml | 122 +-- .../ns/bookstore/books/_post/flow.xml.bak | 0 .../ns/bookstore/books/_post/node.ndf | 0 .../ns/bookstore/books/node.idf | 0 .../ns/bookstore/docs/bookT/node.ndf | 0 .../ns/bookstore/docs/booklistT/node.ndf | 0 .../ns/bookstore/docs/node.idf | 0 .../ns/bookstore/docs/ratingT/node.ndf | 0 .../ns/bookstore/docs/ratinglistT/node.ndf | 0 .../{Bookstore => }/ns/bookstore/node.idf | 0 .../services/addBookRating/java.frag | 42 +- .../bookstore/services/addBookRating/node.ndf | 0 .../services/getBookDetails/java.frag | 56 +- .../services/getBookDetails/node.ndf | 0 .../services/getBookRatings/java.frag | 48 +- .../services/getBookRatings/node.ndf | 0 .../ns/bookstore/services/getBooks/java.frag | 50 +- .../ns/bookstore/services/getBooks/node.ndf | 0 .../ns/bookstore/services/node.idf | 436 +++++----- .../pub/images/covers/9780525950622.png | Bin .../pub/images/covers/9780691138718.png | Bin .../pub/images/covers/9780812979183.png | Bin .../pub/images/covers/9781584883470.png | Bin .../pub/images/covers/9781584885085.png | Bin .../pub/images/covers/9783492051101.png | Bin .../pub/images/thumbnails/9780525950622.png | Bin .../pub/images/thumbnails/9780691138718.png | Bin .../pub/images/thumbnails/9780812979183.png | Bin .../pub/images/thumbnails/9781584883470.png | Bin .../pub/images/thumbnails/9781584885085.png | Bin .../pub/images/thumbnails/9783492051101.png | Bin .../Bookstore/{Bookstore => }/pub/index.html | 0 41 files changed, 944 insertions(+), 944 deletions(-) rename assets/IS/Packages/Bookstore/{Bookstore => }/.classpath (97%) rename assets/IS/Packages/Bookstore/{Bookstore => }/.project (96%) rename assets/IS/Packages/Bookstore/{Bookstore => }/code/classes/.gitignore (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/code/source/bookstore/services.java (98%) rename assets/IS/Packages/Bookstore/{Bookstore => }/manifest.bak (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/manifest.v3 (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/books/_get/flow.xml (99%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/books/_get/flow.xml.bak (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/books/_get/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/books/_post/flow.xml (99%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/books/_post/flow.xml.bak (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/books/_post/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/books/node.idf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/docs/bookT/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/docs/booklistT/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/docs/node.idf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/docs/ratingT/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/docs/ratinglistT/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/node.idf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/addBookRating/java.frag (98%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/addBookRating/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/getBookDetails/java.frag (98%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/getBookDetails/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/getBookRatings/java.frag (98%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/getBookRatings/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/getBooks/java.frag (98%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/getBooks/node.ndf (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/ns/bookstore/services/node.idf (98%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/covers/9780525950622.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/covers/9780691138718.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/covers/9780812979183.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/covers/9781584883470.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/covers/9781584885085.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/covers/9783492051101.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/thumbnails/9780525950622.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/thumbnails/9780691138718.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/thumbnails/9780812979183.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/thumbnails/9781584883470.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/thumbnails/9781584885085.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/images/thumbnails/9783492051101.png (100%) rename assets/IS/Packages/Bookstore/{Bookstore => }/pub/index.html (100%) diff --git a/assets/IS/Packages/Bookstore/Bookstore/.classpath b/assets/IS/Packages/Bookstore/.classpath similarity index 97% rename from assets/IS/Packages/Bookstore/Bookstore/.classpath rename to assets/IS/Packages/Bookstore/.classpath index 34b13e630..615ab5012 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/.classpath +++ b/assets/IS/Packages/Bookstore/.classpath @@ -1,34 +1,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/.project b/assets/IS/Packages/Bookstore/.project similarity index 96% rename from assets/IS/Packages/Bookstore/Bookstore/.project rename to assets/IS/Packages/Bookstore/.project index 11aad5a13..612ef851a 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/.project +++ b/assets/IS/Packages/Bookstore/.project @@ -1,23 +1,23 @@ - - - Bookstore - - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.softwareag.is.vcsintegration.ISPackageBuilder - - - - - - org.eclipse.jdt.core.javanature - com.softwareag.is.vcsintegration.nature - - + + + Bookstore + + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.softwareag.is.vcsintegration.ISPackageBuilder + + + + + + org.eclipse.jdt.core.javanature + com.softwareag.is.vcsintegration.nature + + diff --git a/assets/IS/Packages/Bookstore/Bookstore/code/classes/.gitignore b/assets/IS/Packages/Bookstore/code/classes/.gitignore similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/code/classes/.gitignore rename to assets/IS/Packages/Bookstore/code/classes/.gitignore diff --git a/assets/IS/Packages/Bookstore/Bookstore/code/source/bookstore/services.java b/assets/IS/Packages/Bookstore/code/source/bookstore/services.java similarity index 98% rename from assets/IS/Packages/Bookstore/Bookstore/code/source/bookstore/services.java rename to assets/IS/Packages/Bookstore/code/source/bookstore/services.java index 298b8acd3..ef39da981 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/code/source/bookstore/services.java +++ b/assets/IS/Packages/Bookstore/code/source/bookstore/services.java @@ -1,8 +1,8 @@ package bookstore; // -----( IS Java Code Template v1.2 -// -----( CREATED: 2013-03-05 14:28:04 GMT -// -----( ON-HOST: 10.151.56.67 +// -----( CREATED: 2013-03-05 14:28:04 GMT +// -----( ON-HOST: 10.151.56.67 import com.wm.data.*; import com.wm.util.Values; @@ -31,49 +31,49 @@ public static final void addBookRating (IData pipeline) throws ServiceException { // --- <> --- - // @sigtype java 3.5 - // [i] field:0:required isbn - // [i] record:0:required rating - // [i] - recref:0:required rating bookstore.docs:ratingT - // [o] field:0:required result - IDataCursor pipelineCursor = pipeline.getCursor(); - String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); - - // rating - String result = "ok"; - IData rating = IDataUtil.getIData( pipelineCursor, "rating" ); - if ( rating != null) - { - IDataCursor ratingCursor = rating.getCursor(); - - // i.rating - IData rating_1 = IDataUtil.getIData( ratingCursor, "rating" ); - if ( rating_1 != null) - { - IDataCursor rating_1Cursor = rating_1.getCursor(); - String score = IDataUtil.getString( rating_1Cursor, "score" ); - String comment = IDataUtil.getString( rating_1Cursor, "comment" ); - String user = IDataUtil.getString( rating_1Cursor, "user" ); - rating_1Cursor.destroy(); - - int scoreI = 0; - try { - scoreI = new Integer(score).intValue(); - java.util.List ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, scoreI, comment, new java.util.Date(), user)); - } catch (NumberFormatException e) { - result = e.getMessage(); - } - - } - ratingCursor.destroy(); - } - pipelineCursor.destroy(); - - // pipeline - IDataCursor pipelineCursor_1 = pipeline.getCursor(); - IDataUtil.put( pipelineCursor_1, "result", result ); - pipelineCursor_1.destroy(); + // @sigtype java 3.5 + // [i] field:0:required isbn + // [i] record:0:required rating + // [i] - recref:0:required rating bookstore.docs:ratingT + // [o] field:0:required result + IDataCursor pipelineCursor = pipeline.getCursor(); + String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); + + // rating + String result = "ok"; + IData rating = IDataUtil.getIData( pipelineCursor, "rating" ); + if ( rating != null) + { + IDataCursor ratingCursor = rating.getCursor(); + + // i.rating + IData rating_1 = IDataUtil.getIData( ratingCursor, "rating" ); + if ( rating_1 != null) + { + IDataCursor rating_1Cursor = rating_1.getCursor(); + String score = IDataUtil.getString( rating_1Cursor, "score" ); + String comment = IDataUtil.getString( rating_1Cursor, "comment" ); + String user = IDataUtil.getString( rating_1Cursor, "user" ); + rating_1Cursor.destroy(); + + int scoreI = 0; + try { + scoreI = new Integer(score).intValue(); + java.util.List ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, scoreI, comment, new java.util.Date(), user)); + } catch (NumberFormatException e) { + result = e.getMessage(); + } + + } + ratingCursor.destroy(); + } + pipelineCursor.destroy(); + + // pipeline + IDataCursor pipelineCursor_1 = pipeline.getCursor(); + IDataUtil.put( pipelineCursor_1, "result", result ); + pipelineCursor_1.destroy(); // --- <> --- @@ -85,49 +85,49 @@ public static final void getBookDetails (IData pipeline) throws ServiceException { // --- <> --- - // @sigtype java 3.5 - // [i] field:0:required isbn - // [o] record:0:required book - // [o] - recref:0:required book bookstore.docs:bookT - // pipeline - IDataCursor pipelineCursor = pipeline.getCursor(); - String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); - pipelineCursor.destroy(); - - // pipeline - IDataCursor pipelineCursor_1 = pipeline.getCursor(); - - for (int i = 0; i < bookList.length; i++) { - BookListEntry b = bookList[i]; - if (b.getIsbn().equals(isbn)) { - // book - IData book = IDataFactory.create(); - IDataCursor bookCursor = book.getCursor(); - IData book_1 = IDataFactory.create(); - IDataCursor book_1Cursor = book_1.getCursor(); - - java.util.Map requestURL = getRequestURL(); - String host = requestURL.get("host"); - String url = requestURL.get("url"); - - IDataUtil.put( book_1Cursor, "@isbn", b.getIsbn() ); - IDataUtil.put( book_1Cursor, "author", b.getAuthor() ); - IDataUtil.put( book_1Cursor, "title", b.getTitle() ); - IDataUtil.put( book_1Cursor, "rating", getAverageRating(b.getIsbn()) ); - IDataUtil.put( book_1Cursor, "votes", getNumberOfVotes(b.getIsbn()) ); - IDataUtil.put( book_1Cursor, "price", b.getPrice() ); - IDataUtil.put( book_1Cursor, "description", b.getDescription() ); - IDataUtil.put( book_1Cursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png" ); - IDataUtil.put( book_1Cursor, "coverurl", "http://"+host+"/Bookstore/images/covers/"+b.getIsbn()+".png" ); - IDataUtil.put( book_1Cursor, "ratingsurl", "http://"+host+url+"/ratings" ); - book_1Cursor.destroy(); - IDataUtil.put( bookCursor, "book", book_1 ); - bookCursor.destroy(); - IDataUtil.put( pipelineCursor_1, "book", book ); - pipelineCursor_1.destroy(); - } - } - + // @sigtype java 3.5 + // [i] field:0:required isbn + // [o] record:0:required book + // [o] - recref:0:required book bookstore.docs:bookT + // pipeline + IDataCursor pipelineCursor = pipeline.getCursor(); + String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); + pipelineCursor.destroy(); + + // pipeline + IDataCursor pipelineCursor_1 = pipeline.getCursor(); + + for (int i = 0; i < bookList.length; i++) { + BookListEntry b = bookList[i]; + if (b.getIsbn().equals(isbn)) { + // book + IData book = IDataFactory.create(); + IDataCursor bookCursor = book.getCursor(); + IData book_1 = IDataFactory.create(); + IDataCursor book_1Cursor = book_1.getCursor(); + + java.util.Map requestURL = getRequestURL(); + String host = requestURL.get("host"); + String url = requestURL.get("url"); + + IDataUtil.put( book_1Cursor, "@isbn", b.getIsbn() ); + IDataUtil.put( book_1Cursor, "author", b.getAuthor() ); + IDataUtil.put( book_1Cursor, "title", b.getTitle() ); + IDataUtil.put( book_1Cursor, "rating", getAverageRating(b.getIsbn()) ); + IDataUtil.put( book_1Cursor, "votes", getNumberOfVotes(b.getIsbn()) ); + IDataUtil.put( book_1Cursor, "price", b.getPrice() ); + IDataUtil.put( book_1Cursor, "description", b.getDescription() ); + IDataUtil.put( book_1Cursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png" ); + IDataUtil.put( book_1Cursor, "coverurl", "http://"+host+"/Bookstore/images/covers/"+b.getIsbn()+".png" ); + IDataUtil.put( book_1Cursor, "ratingsurl", "http://"+host+url+"/ratings" ); + book_1Cursor.destroy(); + IDataUtil.put( bookCursor, "book", book_1 ); + bookCursor.destroy(); + IDataUtil.put( pipelineCursor_1, "book", book ); + pipelineCursor_1.destroy(); + } + } + // --- <> --- @@ -139,48 +139,48 @@ public static final void getBookRatings (IData pipeline) throws ServiceException { // --- <> --- - // @sigtype java 3.5 - // [i] field:0:required isbn - // [o] recref:0:required ratinglist bookstore.docs:ratinglistT - // pipeline - IDataCursor pipelineCursor = pipeline.getCursor(); - String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); - pipelineCursor.destroy(); - - // pipeline - IDataCursor pipelineCursor_1 = pipeline.getCursor(); - - // ratinglist - IData ratinglist = IDataFactory.create(); - IDataCursor ratinglistCursor = ratinglist.getCursor(); - - // ratinglist.ratinglist - IData ratinglist_1 = IDataFactory.create(); - IDataCursor ratinglist_1Cursor = ratinglist_1.getCursor(); - IDataUtil.put( ratinglist_1Cursor, "@isbn", isbn ); - - java.util.List ratings = getRatings(isbn); - IData[] rating = new IData[ratings.size()]; - - // ratinglist.ratinglist.rating - for (int i = 0; i < ratings.size(); i++) { - BookRatingEntry e = (BookRatingEntry)ratings.get(i); - rating[i] = IDataFactory.create(); - IDataCursor ratingCursor = rating[i].getCursor(); - IDataUtil.put( ratingCursor, "score", e.getScore() ); - IDataUtil.put( ratingCursor, "comment", e.getComment() ); - IDataUtil.put( ratingCursor, "datetime", e.getDatetime() ); - IDataUtil.put( ratingCursor, "user", e.getUser() ); - ratingCursor.destroy(); - } - - IDataUtil.put( ratinglist_1Cursor, "rating", rating ); - ratinglist_1Cursor.destroy(); - IDataUtil.put( ratinglistCursor, "ratinglist", ratinglist_1 ); - ratinglistCursor.destroy(); - IDataUtil.put( pipelineCursor_1, "ratinglist", ratinglist ); - pipelineCursor_1.destroy(); - + // @sigtype java 3.5 + // [i] field:0:required isbn + // [o] recref:0:required ratinglist bookstore.docs:ratinglistT + // pipeline + IDataCursor pipelineCursor = pipeline.getCursor(); + String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); + pipelineCursor.destroy(); + + // pipeline + IDataCursor pipelineCursor_1 = pipeline.getCursor(); + + // ratinglist + IData ratinglist = IDataFactory.create(); + IDataCursor ratinglistCursor = ratinglist.getCursor(); + + // ratinglist.ratinglist + IData ratinglist_1 = IDataFactory.create(); + IDataCursor ratinglist_1Cursor = ratinglist_1.getCursor(); + IDataUtil.put( ratinglist_1Cursor, "@isbn", isbn ); + + java.util.List ratings = getRatings(isbn); + IData[] rating = new IData[ratings.size()]; + + // ratinglist.ratinglist.rating + for (int i = 0; i < ratings.size(); i++) { + BookRatingEntry e = (BookRatingEntry)ratings.get(i); + rating[i] = IDataFactory.create(); + IDataCursor ratingCursor = rating[i].getCursor(); + IDataUtil.put( ratingCursor, "score", e.getScore() ); + IDataUtil.put( ratingCursor, "comment", e.getComment() ); + IDataUtil.put( ratingCursor, "datetime", e.getDatetime() ); + IDataUtil.put( ratingCursor, "user", e.getUser() ); + ratingCursor.destroy(); + } + + IDataUtil.put( ratinglist_1Cursor, "rating", rating ); + ratinglist_1Cursor.destroy(); + IDataUtil.put( ratinglistCursor, "ratinglist", ratinglist_1 ); + ratinglistCursor.destroy(); + IDataUtil.put( pipelineCursor_1, "ratinglist", ratinglist ); + pipelineCursor_1.destroy(); + // --- <> --- @@ -192,293 +192,293 @@ public static final void getBooks (IData pipeline) throws ServiceException { // --- <> --- - // @sigtype java 3.5 - // [o] recref:0:required booklist bookstore.docs:booklistT - // pipeline - IDataCursor pipelineCursor = pipeline.getCursor(); - - // booklist - IData booklist = IDataFactory.create(); - IDataCursor booklistCursor = booklist.getCursor(); - - // booklist.booklist - IData booklist_1 = IDataFactory.create(); - IDataCursor booklist_1Cursor = booklist_1.getCursor(); - - // booklist.booklist.book - IData[] book = new IData[bookList.length]; - java.util.Map requestURL = getRequestURL(); - String host = requestURL.get("host"); - String url = requestURL.get("url"); - - for (int i = 0; i < bookList.length; i++) { - BookListEntry b = bookList[i]; - book[i] = IDataFactory.create(); - IDataCursor bookCursor = book[i].getCursor(); - IDataUtil.put( bookCursor, "@isbn", b.getIsbn() ); - IDataUtil.put( bookCursor, "author", b.getAuthor() ); - IDataUtil.put( bookCursor, "title", b.getTitle() ); - IDataUtil.put( bookCursor, "rating", getAverageRating(b.getIsbn()) ); - IDataUtil.put( bookCursor, "votes", getNumberOfVotes(b.getIsbn()) ); - IDataUtil.put( bookCursor, "detailsurl", "http://"+host+url+"/"+b.getIsbn() ); - IDataUtil.put( bookCursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png"); - bookCursor.destroy(); - } - - IDataUtil.put( booklist_1Cursor, "book", book ); - booklist_1Cursor.destroy(); - IDataUtil.put( booklistCursor, "booklist", booklist_1 ); - booklistCursor.destroy(); - IDataUtil.put( pipelineCursor, "booklist", booklist ); - pipelineCursor.destroy(); - + // @sigtype java 3.5 + // [o] recref:0:required booklist bookstore.docs:booklistT + // pipeline + IDataCursor pipelineCursor = pipeline.getCursor(); + + // booklist + IData booklist = IDataFactory.create(); + IDataCursor booklistCursor = booklist.getCursor(); + + // booklist.booklist + IData booklist_1 = IDataFactory.create(); + IDataCursor booklist_1Cursor = booklist_1.getCursor(); + + // booklist.booklist.book + IData[] book = new IData[bookList.length]; + java.util.Map requestURL = getRequestURL(); + String host = requestURL.get("host"); + String url = requestURL.get("url"); + + for (int i = 0; i < bookList.length; i++) { + BookListEntry b = bookList[i]; + book[i] = IDataFactory.create(); + IDataCursor bookCursor = book[i].getCursor(); + IDataUtil.put( bookCursor, "@isbn", b.getIsbn() ); + IDataUtil.put( bookCursor, "author", b.getAuthor() ); + IDataUtil.put( bookCursor, "title", b.getTitle() ); + IDataUtil.put( bookCursor, "rating", getAverageRating(b.getIsbn()) ); + IDataUtil.put( bookCursor, "votes", getNumberOfVotes(b.getIsbn()) ); + IDataUtil.put( bookCursor, "detailsurl", "http://"+host+url+"/"+b.getIsbn() ); + IDataUtil.put( bookCursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png"); + bookCursor.destroy(); + } + + IDataUtil.put( booklist_1Cursor, "book", book ); + booklist_1Cursor.destroy(); + IDataUtil.put( booklistCursor, "booklist", booklist_1 ); + booklistCursor.destroy(); + IDataUtil.put( pipelineCursor, "booklist", booklist ); + pipelineCursor.destroy(); + // --- <> --- } // --- <> --- - - private static final class BookListEntry { - - private final String isbn; - private final String title; - private final String author; - private final String price; - private final String description; - - public BookListEntry(String isbn, String title, String author, String price, String description) { - this.isbn = isbn; - this.title = title; - this.author = author; - this.price = price; - this.description = description; - } - - public String getAuthor() { - return author; - } - - public String getIsbn() { - return isbn; - } - - public String getPrice() { - return price; - } - - public String getDescription() { - return description; - } - - public String getTitle() { - return title; - } - } - - private static final BookListEntry[] bookList = { - - new BookListEntry( - "9781584883470", - "CRC Concise Encyclopedia of Mathematics", - "Eric Weisstein", - "54.99", - "Upon publication, the first edition of the CRC Concise Encyclopedia of Mathematics received overwhelming accolades for its unparalleled scope, readability, and utility. It soon took its place among the top selling books in the history of Chapman & Hall/CRC, and its popularity continues unabated. Yet also unabated has been the dedication of author Eric Weisstein to collecting, cataloging, and referencing mathematical facts, formulas, and definitions. He has now updated most of the original entries and expanded the Encyclopedia to include 1000 additional pages of illustrated entries.The accessibility of the Encyclopedia along with its broad coverage and economical price make it attractive to the widest possible range of readers and certainly a must for libraries, from the secondary to the professional and research levels. For mathematical definitions, formulas, figures, tabulations, and references, this is simply the most impressive compendium available." - ), - - new BookListEntry( - "9780691138718", - "Fearless symmetry", - "Avner Ash & Robert Gross", - "12.89", - "Mathematicians solve equations, or try to. But sometimes the solutions are not as interesting as the beautiful symmetric patterns that lead to them. Written in a friendly style for a general audience, Fearless Symmetry is the first popular math book to discuss these elegant and mysterious patterns and the ingenious techniques mathematicians use to uncover them. Hidden symmetries were first discovered nearly two hundred years ago by French mathematician Evariste Galois. They have been used extensively in the oldest and largest branch of mathematics--number theory--for such diverse applications as acoustics, radar, and codes and ciphers. They have also been employed in the study of Fibonacci numbers and to attack well-known problems such as Fermat's Last Theorem, Pythagorean Triples, and the ever-elusive Riemann Hypothesis. Mathematicians are still devising techniques for teasing out these mysterious patterns, and their uses are limited only by the imagination. The first popular book to address representation theory and reciprocity laws, Fearless Symmetry focuses on how mathematicians solve equations and prove theorems. It discusses rules of math and why they are just as important as those in any games one might play. The book starts with basic properties of integers and permutations and reaches current research in number theory. Along the way, it takes delightful historical and philosophical digressions. Required reading for all math buffs, the book will appeal to anyone curious about popular mathematics and its myriad contributions to everyday life." - ), - - new BookListEntry( - "9780812979183", - "The Black Swan", - "Nassim Nicholas Taleb", - "17.28", - "In business and government, major money is spent on prediction. Uselessly, according to Taleb, who administers a severe thrashing to MBA- and Nobel Prize-credentialed experts who make their living from economic forecasting. A financial trader and current rebel with a cause, Taleb is mathematically oriented and alludes to statistical concepts that underlie models of prediction, while his expressive energy is expended on roller-coaster passages, bordering on gleeful diatribes, on why experts are wrong. They neglect Taleb's metaphor of 'the black swan', whose discovery invalidated the theory that all swans are white. Taleb rides this manifestation of the unpredicted event into a range of phenomena, such as why a book becomes a best-seller or how an entrepreneur becomes a billionaire, taking pit stops with philosophers who have addressed the meaning of the unexpected and confounding. Taleb projects a strong presence here that will tempt outside-the-box thinkers into giving him a look." - ), - - new BookListEntry( - "9780525950622", - "The Science of Fear", - "Daniel Gardener", - "16.47", - "Gardner, a columnist and senior writer for the Ottawa Citizen, is both matter-of-fact and entertaining in this look at fear and how it shapes our lives. Although we are capable of reason, says Gardner, we often rely instead on intuitive snap judgments. We also assume instinctively, but incorrectly, that [i]f examples of something can be recalled easily, that thing must be common. And what is more memorable than headlines and news programs blaring horrible crimes and diseases, plane crashes and terrorist attacks? In fact, such events are rare, but their media omnipresence activates a gut-level fear response that is out of proportion to the likelihood of our going through such an event. It doesn't help that scientific data and statistics are often misunderstood and misused and that our risk assessment is influenced less by the facts than by how others respond. Gardner's vivid, direct style, backed up by clear examples and solid data from science and psychology, brings a breath of fresh air and common sense to an emotional topic." - ), - - new BookListEntry( - "9783492051101", - "Die Riemannsche Vermutung", - "Atle Naess", - "9.90", - "Auf die eine oder andere Weise w\u00FCrde die Sache fehlschlagen. Das hatte Terje Huuse, von Haus aus Mathematiker, von Anfang an geahnt. Nur wen das Ungl\u00FCck am h\u00E4rtesten treffen w\u00FCrde, schien damals noch offen. Terje hatte es sich in den Kopf gesetzt, die Biografie seines gro\u00DFen Vorbilds Bernhard Riemann zu verfassen und endlich das Abenteuer von der Suche nach einer Regelm\u00E4\u00DFigkeit bei den Primzahlen zu beschreiben. Aber die Arbeit war ins Stocken geraten, so einfach war das alles nicht. Nur mit seiner Bekannten Ingvild konnte sich der verheiratete Terje da\u00ADr\u00FCber unterhalten. Die Sache mit ihr glitt ihm schnell aus der Hand, unrettbar geriet er in den Sog dieser Beziehung. Bis Terje pl\u00F6tzlich verschwindet - und seine Tochter eine merkw\u00FCrdige Datei auf seinem Computer entdeckt" - ), - - new BookListEntry( - "9781584885085", - "Cryptography", - "Douglas R. Stinson", - "51.69", - "Douglas R. Stinson's Cryptography: Theory and Practice is a mathematically intensive examination of cryptography, including ciphers, the Data Encryption Standard (DES), public key cryptography, one-way hash functions, and digital signatures. Stinson's explication of 'zero-sum proofs' -- a process by which one person lets another person know that he or she has a password without actually revealing any information--is especially good. If you are new to the math behind cryptography but want to tackle it, the author covers all of the required background to understand the real mathematics here. Cryptography includes extensive exercises with each chapter and makes an ideal introduction for any math-literate person willing to get acquainted with this material." - ) - }; - - private static final class BookRatingEntry { - - private final String isbn; - private final int score; - private final String comment; - private final String datetime; - private final String user; - - public BookRatingEntry(String isbn, int score, String comment, String datetime, String user) { - this.isbn = isbn; - this.score = score; - this.comment = comment; - this.datetime = datetime; - this.user = user; - } - - public BookRatingEntry(String isbn, int score, String comment, java.util.Date datetimeD, String user) { - this.isbn = isbn; - this.score = score; - this.comment = comment; - this.datetime = dateFormat.format(datetimeD); - this.user = user; - } - - public String getIsbn() { - return isbn; - } - - public int getScore() { - return score; - } - - public String getComment() { - return comment; - } - - public String getDatetime() { - return datetime; - } - public String getUser() { - return user; - } - } - - private static final java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy.MM.dd-HH:mm:ss"); - - private static final java.util.Map bookRatingList = new java.util.HashMap(); - - private static final java.util.List getRatings(String isbn) { - java.util.List ratings = (java.util.List)bookRatingList.get(isbn); - if (ratings == null) { - ratings = new java.util.ArrayList(); - bookRatingList.put(isbn, ratings); - } - return ratings; - } - - static { - try { - String isbn; - java.util.List ratings; - - isbn = "9781584883470"; - ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, 4, "Very good for beginners.", new java.util.Date(), "Ann")); - ratings.add(new BookRatingEntry(isbn, 3, "Not bad but overprized.", new java.util.Date(), "Bill")); - - isbn = "9780691138718"; - ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, 3, "Well ... gives a good overview.", new java.util.Date(), "Carl")); - ratings.add(new BookRatingEntry(isbn, 1, "Not worth the money.", new java.util.Date(), "Dustin")); - ratings.add(new BookRatingEntry(isbn, 2, "I agree with Carl ... but too expensive.", new java.util.Date(), "Eve")); - - isbn = "9780812979183"; - ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, 5, "Excellent!", new java.util.Date(), "Fred")); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private static final java.util.Map getRequestURL() { - IData input = IDataFactory.create(); - IData output = IDataFactory.create(); - java.util.Map result = new java.util.HashMap(); - try { - output = Service.doInvoke( "pub.flow", "getTransportInfo", input ); - } - catch( Exception e){} - - IDataCursor outputCursor = output.getCursor(); - - // transport - IData transport = IDataUtil.getIData( outputCursor, "transport" ); - if ( transport != null) { - IDataCursor transportCursor = transport.getCursor(); - - IData http = IDataUtil.getIData( transportCursor, "http" ); - if ( http != null) { - IDataCursor httpCursor = http.getCursor(); - String requestUrl = IDataUtil.getString( httpCursor, "requestUrl" ); - - IData requestHdrs = IDataUtil.getIData( httpCursor, "requestHdrs" ); - if ( requestHdrs != null) { - IDataCursor requestHdrsCursor = requestHdrs.getCursor(); - String host = IDataUtil.getString( requestHdrsCursor, "Host" ); - if (host != null && host.length() > 0) { - result.put("host", host); - } - requestHdrsCursor.destroy(); - } - - result.put("url", trimUrl(requestUrl)); - httpCursor.destroy(); - } - transportCursor.destroy(); - } - outputCursor.destroy(); - return result; - } - - private static final String getAverageRating(String isbn) { - // get ratings - java.util.List rl = getRatings(isbn); - float scoreF = 0; - int nr = rl.size(); - for (int i = 0; i < nr; i++) { - BookRatingEntry e = (BookRatingEntry)rl.get(i); - scoreF = scoreF + (float)e.getScore(); - } - if (nr > 0) { - scoreF = scoreF/(float)nr; - } - - return String.valueOf(scoreF); - } - - private static final String getNumberOfVotes(String isbn) { - // get ratings - java.util.List rl = getRatings(isbn); - int nr = rl.size(); - - return String.valueOf(nr); - } - - private static final String trimUrl (String url) { - String result = url; - while (result != null && result.length() > 0 && result.endsWith("/")) { - result = result.substring(0, result.length() - 1); - } - return result; - } + + private static final class BookListEntry { + + private final String isbn; + private final String title; + private final String author; + private final String price; + private final String description; + + public BookListEntry(String isbn, String title, String author, String price, String description) { + this.isbn = isbn; + this.title = title; + this.author = author; + this.price = price; + this.description = description; + } + + public String getAuthor() { + return author; + } + + public String getIsbn() { + return isbn; + } + + public String getPrice() { + return price; + } + + public String getDescription() { + return description; + } + + public String getTitle() { + return title; + } + } + + private static final BookListEntry[] bookList = { + + new BookListEntry( + "9781584883470", + "CRC Concise Encyclopedia of Mathematics", + "Eric Weisstein", + "54.99", + "Upon publication, the first edition of the CRC Concise Encyclopedia of Mathematics received overwhelming accolades for its unparalleled scope, readability, and utility. It soon took its place among the top selling books in the history of Chapman & Hall/CRC, and its popularity continues unabated. Yet also unabated has been the dedication of author Eric Weisstein to collecting, cataloging, and referencing mathematical facts, formulas, and definitions. He has now updated most of the original entries and expanded the Encyclopedia to include 1000 additional pages of illustrated entries.The accessibility of the Encyclopedia along with its broad coverage and economical price make it attractive to the widest possible range of readers and certainly a must for libraries, from the secondary to the professional and research levels. For mathematical definitions, formulas, figures, tabulations, and references, this is simply the most impressive compendium available." + ), + + new BookListEntry( + "9780691138718", + "Fearless symmetry", + "Avner Ash & Robert Gross", + "12.89", + "Mathematicians solve equations, or try to. But sometimes the solutions are not as interesting as the beautiful symmetric patterns that lead to them. Written in a friendly style for a general audience, Fearless Symmetry is the first popular math book to discuss these elegant and mysterious patterns and the ingenious techniques mathematicians use to uncover them. Hidden symmetries were first discovered nearly two hundred years ago by French mathematician Evariste Galois. They have been used extensively in the oldest and largest branch of mathematics--number theory--for such diverse applications as acoustics, radar, and codes and ciphers. They have also been employed in the study of Fibonacci numbers and to attack well-known problems such as Fermat's Last Theorem, Pythagorean Triples, and the ever-elusive Riemann Hypothesis. Mathematicians are still devising techniques for teasing out these mysterious patterns, and their uses are limited only by the imagination. The first popular book to address representation theory and reciprocity laws, Fearless Symmetry focuses on how mathematicians solve equations and prove theorems. It discusses rules of math and why they are just as important as those in any games one might play. The book starts with basic properties of integers and permutations and reaches current research in number theory. Along the way, it takes delightful historical and philosophical digressions. Required reading for all math buffs, the book will appeal to anyone curious about popular mathematics and its myriad contributions to everyday life." + ), + + new BookListEntry( + "9780812979183", + "The Black Swan", + "Nassim Nicholas Taleb", + "17.28", + "In business and government, major money is spent on prediction. Uselessly, according to Taleb, who administers a severe thrashing to MBA- and Nobel Prize-credentialed experts who make their living from economic forecasting. A financial trader and current rebel with a cause, Taleb is mathematically oriented and alludes to statistical concepts that underlie models of prediction, while his expressive energy is expended on roller-coaster passages, bordering on gleeful diatribes, on why experts are wrong. They neglect Taleb's metaphor of 'the black swan', whose discovery invalidated the theory that all swans are white. Taleb rides this manifestation of the unpredicted event into a range of phenomena, such as why a book becomes a best-seller or how an entrepreneur becomes a billionaire, taking pit stops with philosophers who have addressed the meaning of the unexpected and confounding. Taleb projects a strong presence here that will tempt outside-the-box thinkers into giving him a look." + ), + + new BookListEntry( + "9780525950622", + "The Science of Fear", + "Daniel Gardener", + "16.47", + "Gardner, a columnist and senior writer for the Ottawa Citizen, is both matter-of-fact and entertaining in this look at fear and how it shapes our lives. Although we are capable of reason, says Gardner, we often rely instead on intuitive snap judgments. We also assume instinctively, but incorrectly, that [i]f examples of something can be recalled easily, that thing must be common. And what is more memorable than headlines and news programs blaring horrible crimes and diseases, plane crashes and terrorist attacks? In fact, such events are rare, but their media omnipresence activates a gut-level fear response that is out of proportion to the likelihood of our going through such an event. It doesn't help that scientific data and statistics are often misunderstood and misused and that our risk assessment is influenced less by the facts than by how others respond. Gardner's vivid, direct style, backed up by clear examples and solid data from science and psychology, brings a breath of fresh air and common sense to an emotional topic." + ), + + new BookListEntry( + "9783492051101", + "Die Riemannsche Vermutung", + "Atle Naess", + "9.90", + "Auf die eine oder andere Weise w\u00FCrde die Sache fehlschlagen. Das hatte Terje Huuse, von Haus aus Mathematiker, von Anfang an geahnt. Nur wen das Ungl\u00FCck am h\u00E4rtesten treffen w\u00FCrde, schien damals noch offen. Terje hatte es sich in den Kopf gesetzt, die Biografie seines gro\u00DFen Vorbilds Bernhard Riemann zu verfassen und endlich das Abenteuer von der Suche nach einer Regelm\u00E4\u00DFigkeit bei den Primzahlen zu beschreiben. Aber die Arbeit war ins Stocken geraten, so einfach war das alles nicht. Nur mit seiner Bekannten Ingvild konnte sich der verheiratete Terje da\u00ADr\u00FCber unterhalten. Die Sache mit ihr glitt ihm schnell aus der Hand, unrettbar geriet er in den Sog dieser Beziehung. Bis Terje pl\u00F6tzlich verschwindet - und seine Tochter eine merkw\u00FCrdige Datei auf seinem Computer entdeckt" + ), + + new BookListEntry( + "9781584885085", + "Cryptography", + "Douglas R. Stinson", + "51.69", + "Douglas R. Stinson's Cryptography: Theory and Practice is a mathematically intensive examination of cryptography, including ciphers, the Data Encryption Standard (DES), public key cryptography, one-way hash functions, and digital signatures. Stinson's explication of 'zero-sum proofs' -- a process by which one person lets another person know that he or she has a password without actually revealing any information--is especially good. If you are new to the math behind cryptography but want to tackle it, the author covers all of the required background to understand the real mathematics here. Cryptography includes extensive exercises with each chapter and makes an ideal introduction for any math-literate person willing to get acquainted with this material." + ) + }; + + private static final class BookRatingEntry { + + private final String isbn; + private final int score; + private final String comment; + private final String datetime; + private final String user; + + public BookRatingEntry(String isbn, int score, String comment, String datetime, String user) { + this.isbn = isbn; + this.score = score; + this.comment = comment; + this.datetime = datetime; + this.user = user; + } + + public BookRatingEntry(String isbn, int score, String comment, java.util.Date datetimeD, String user) { + this.isbn = isbn; + this.score = score; + this.comment = comment; + this.datetime = dateFormat.format(datetimeD); + this.user = user; + } + + public String getIsbn() { + return isbn; + } + + public int getScore() { + return score; + } + + public String getComment() { + return comment; + } + + public String getDatetime() { + return datetime; + } + public String getUser() { + return user; + } + } + + private static final java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy.MM.dd-HH:mm:ss"); + + private static final java.util.Map bookRatingList = new java.util.HashMap(); + + private static final java.util.List getRatings(String isbn) { + java.util.List ratings = (java.util.List)bookRatingList.get(isbn); + if (ratings == null) { + ratings = new java.util.ArrayList(); + bookRatingList.put(isbn, ratings); + } + return ratings; + } + + static { + try { + String isbn; + java.util.List ratings; + + isbn = "9781584883470"; + ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, 4, "Very good for beginners.", new java.util.Date(), "Ann")); + ratings.add(new BookRatingEntry(isbn, 3, "Not bad but overprized.", new java.util.Date(), "Bill")); + + isbn = "9780691138718"; + ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, 3, "Well ... gives a good overview.", new java.util.Date(), "Carl")); + ratings.add(new BookRatingEntry(isbn, 1, "Not worth the money.", new java.util.Date(), "Dustin")); + ratings.add(new BookRatingEntry(isbn, 2, "I agree with Carl ... but too expensive.", new java.util.Date(), "Eve")); + + isbn = "9780812979183"; + ratings = getRatings(isbn); + ratings.add(new BookRatingEntry(isbn, 5, "Excellent!", new java.util.Date(), "Fred")); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static final java.util.Map getRequestURL() { + IData input = IDataFactory.create(); + IData output = IDataFactory.create(); + java.util.Map result = new java.util.HashMap(); + try { + output = Service.doInvoke( "pub.flow", "getTransportInfo", input ); + } + catch( Exception e){} + + IDataCursor outputCursor = output.getCursor(); + + // transport + IData transport = IDataUtil.getIData( outputCursor, "transport" ); + if ( transport != null) { + IDataCursor transportCursor = transport.getCursor(); + + IData http = IDataUtil.getIData( transportCursor, "http" ); + if ( http != null) { + IDataCursor httpCursor = http.getCursor(); + String requestUrl = IDataUtil.getString( httpCursor, "requestUrl" ); + + IData requestHdrs = IDataUtil.getIData( httpCursor, "requestHdrs" ); + if ( requestHdrs != null) { + IDataCursor requestHdrsCursor = requestHdrs.getCursor(); + String host = IDataUtil.getString( requestHdrsCursor, "Host" ); + if (host != null && host.length() > 0) { + result.put("host", host); + } + requestHdrsCursor.destroy(); + } + + result.put("url", trimUrl(requestUrl)); + httpCursor.destroy(); + } + transportCursor.destroy(); + } + outputCursor.destroy(); + return result; + } + + private static final String getAverageRating(String isbn) { + // get ratings + java.util.List rl = getRatings(isbn); + float scoreF = 0; + int nr = rl.size(); + for (int i = 0; i < nr; i++) { + BookRatingEntry e = (BookRatingEntry)rl.get(i); + scoreF = scoreF + (float)e.getScore(); + } + if (nr > 0) { + scoreF = scoreF/(float)nr; + } + + return String.valueOf(scoreF); + } + + private static final String getNumberOfVotes(String isbn) { + // get ratings + java.util.List rl = getRatings(isbn); + int nr = rl.size(); + + return String.valueOf(nr); + } + + private static final String trimUrl (String url) { + String result = url; + while (result != null && result.length() > 0 && result.endsWith("/")) { + result = result.substring(0, result.length() - 1); + } + return result; + } // --- <> --- } diff --git a/assets/IS/Packages/Bookstore/Bookstore/manifest.bak b/assets/IS/Packages/Bookstore/manifest.bak similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/manifest.bak rename to assets/IS/Packages/Bookstore/manifest.bak diff --git a/assets/IS/Packages/Bookstore/Bookstore/manifest.v3 b/assets/IS/Packages/Bookstore/manifest.v3 similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/manifest.v3 rename to assets/IS/Packages/Bookstore/manifest.v3 diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml b/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml similarity index 99% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml rename to assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml index a1cbc6193..6bf88ba18 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml +++ b/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml @@ -1,22 +1,22 @@ - + - + - + - + @@ -25,7 +25,7 @@ - + @@ -34,12 +34,12 @@ - + - + @@ -124,7 +124,7 @@ true - + @@ -219,7 +219,7 @@ true - + @@ -255,7 +255,7 @@ true - + @@ -350,7 +350,7 @@ true - + @@ -443,7 +443,7 @@ true - + @@ -471,7 +471,7 @@ true - + @@ -483,17 +483,17 @@ - + - + - + @@ -539,7 +539,7 @@ true - + @@ -677,7 +677,7 @@ true - + @@ -687,7 +687,7 @@ - + @@ -760,7 +760,7 @@ true - + @@ -908,7 +908,7 @@ true - + @@ -939,7 +939,7 @@ false - + @@ -959,23 +959,23 @@ false - + - + - + - + @@ -1146,7 +1146,7 @@ true - + @@ -1231,7 +1231,7 @@ true - + @@ -1241,7 +1241,7 @@ - + @@ -1314,7 +1314,7 @@ true - + @@ -1462,7 +1462,7 @@ true - + @@ -1486,7 +1486,7 @@ false - + @@ -1513,35 +1513,35 @@ false - + - + - + - + - + - + @@ -1550,7 +1550,7 @@ - + @@ -1590,7 +1590,7 @@ true - + @@ -1738,7 +1738,7 @@ true - + @@ -1748,17 +1748,17 @@ - + - + - + @@ -1804,7 +1804,7 @@ true - + @@ -1992,7 +1992,7 @@ true - + @@ -2002,7 +2002,7 @@ - + @@ -2075,7 +2075,7 @@ true - + @@ -2223,7 +2223,7 @@ true - + @@ -2254,7 +2254,7 @@ false - + @@ -2274,23 +2274,23 @@ false - + - + - + - + @@ -2461,7 +2461,7 @@ true - + @@ -2637,7 +2637,7 @@ true - + @@ -2647,7 +2647,7 @@ - + @@ -2720,7 +2720,7 @@ true - + @@ -2896,7 +2896,7 @@ true - + @@ -2920,7 +2920,7 @@ false - + @@ -2947,25 +2947,25 @@ false - + - + - + - + @@ -2974,7 +2974,7 @@ - + @@ -3014,7 +3014,7 @@ true - + @@ -3162,7 +3162,7 @@ true - + @@ -3172,7 +3172,7 @@ - + @@ -3367,7 +3367,7 @@ true - + @@ -3562,7 +3562,7 @@ true - + @@ -3598,7 +3598,7 @@ true - + @@ -3793,7 +3793,7 @@ true - + @@ -3996,7 +3996,7 @@ true - + @@ -4024,7 +4024,7 @@ true - + @@ -4065,7 +4065,7 @@ true - + @@ -4260,7 +4260,7 @@ true - + @@ -4463,7 +4463,7 @@ true - + @@ -4491,7 +4491,7 @@ true - + @@ -4502,17 +4502,17 @@ - + - + - + @@ -4558,7 +4558,7 @@ true - + @@ -4724,7 +4724,7 @@ true - + @@ -4734,7 +4734,7 @@ - + @@ -4807,7 +4807,7 @@ true - + @@ -4955,7 +4955,7 @@ true - + @@ -4986,7 +4986,7 @@ false - + @@ -5006,23 +5006,23 @@ false - + - + - + - + @@ -5193,7 +5193,7 @@ true - + @@ -5369,7 +5369,7 @@ true - + @@ -5379,7 +5379,7 @@ - + @@ -5452,7 +5452,7 @@ true - + @@ -5659,7 +5659,7 @@ true - + @@ -5683,7 +5683,7 @@ false - + @@ -5710,13 +5710,13 @@ false - + - + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml.bak b/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml.bak similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/flow.xml.bak rename to assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml.bak diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_get/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/books/_get/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml b/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml similarity index 99% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml rename to assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml index 2d4d71559..f94a51e2c 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml +++ b/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml @@ -1,12 +1,12 @@ - + - + @@ -38,7 +38,7 @@ true - + @@ -55,7 +55,7 @@ true - + @@ -75,23 +75,23 @@ false - + - + - + - + @@ -162,7 +162,7 @@ true - + @@ -179,7 +179,7 @@ true - + @@ -238,33 +238,33 @@ false - + - + - + - + - + - + @@ -273,7 +273,7 @@ - + @@ -360,7 +360,7 @@ true - + @@ -377,7 +377,7 @@ true - + @@ -405,7 +405,7 @@ false - + @@ -424,7 +424,7 @@ false - + @@ -515,7 +515,7 @@ true - + @@ -544,7 +544,7 @@ true - + @@ -566,21 +566,21 @@ - + - + - + - + @@ -657,7 +657,7 @@ true - + @@ -747,7 +747,7 @@ true - + @@ -760,7 +760,7 @@ - + @@ -833,7 +833,7 @@ true - + @@ -964,7 +964,7 @@ true - + @@ -995,7 +995,7 @@ false - + @@ -1015,27 +1015,27 @@ false - + - + - + - + - + @@ -1216,7 +1216,7 @@ true - + @@ -1397,7 +1397,7 @@ true - + @@ -1406,7 +1406,7 @@ - + @@ -1483,7 +1483,7 @@ true - + @@ -1664,7 +1664,7 @@ true - + @@ -1677,7 +1677,7 @@ - + @@ -1750,7 +1750,7 @@ true - + @@ -1911,7 +1911,7 @@ true - + @@ -1942,7 +1942,7 @@ false - + @@ -1962,23 +1962,23 @@ false - + - + - + - + @@ -2049,7 +2049,7 @@ true - + @@ -2066,7 +2066,7 @@ true - + @@ -2125,25 +2125,25 @@ false - + - + - + - + @@ -2214,7 +2214,7 @@ true - + @@ -2231,7 +2231,7 @@ true - + @@ -2290,13 +2290,13 @@ false - + - + diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml.bak b/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml.bak similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/flow.xml.bak rename to assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml.bak diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/_post/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/books/_post/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/books/node.idf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/books/node.idf rename to assets/IS/Packages/Bookstore/ns/bookstore/books/node.idf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/bookT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/bookT/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/bookT/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/docs/bookT/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/booklistT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/booklistT/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/booklistT/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/docs/booklistT/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/node.idf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/node.idf rename to assets/IS/Packages/Bookstore/ns/bookstore/docs/node.idf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratingT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratingT/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratingT/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/docs/ratingT/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/node.idf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/node.idf rename to assets/IS/Packages/Bookstore/ns/bookstore/node.idf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/java.frag similarity index 98% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/java.frag rename to assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/java.frag index 51a535710..605200fcf 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/java.frag +++ b/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/java.frag @@ -3,26 +3,26 @@ addBookRating true - SURhdGFDdXJzb3IgcGlwZWxpbmVDdXJzb3IgPSBwaXBlbGluZS5nZXRDdXJzb3IoKTsNClN0cmlu -Zwlpc2JuID0gSURhdGFVdGlsLmdldFN0cmluZyggcGlwZWxpbmVDdXJzb3IsICJpc2JuIiApOw0K -DQovLyByYXRpbmcNClN0cmluZyByZXN1bHQgPSAib2siOw0KSURhdGEJcmF0aW5nID0gSURhdGFV -dGlsLmdldElEYXRhKCBwaXBlbGluZUN1cnNvciwgInJhdGluZyIgKTsNCmlmICggcmF0aW5nICE9 -IG51bGwpDQp7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nLmdldEN1cnNvcigp -Ow0KDQoJCS8vIGkucmF0aW5nDQoJCUlEYXRhCXJhdGluZ18xID0gSURhdGFVdGlsLmdldElEYXRh -KCByYXRpbmdDdXJzb3IsICJyYXRpbmciICk7DQoJCWlmICggcmF0aW5nXzEgIT0gbnVsbCkNCgkJ -ew0KCQkJSURhdGFDdXJzb3IgcmF0aW5nXzFDdXJzb3IgPSByYXRpbmdfMS5nZXRDdXJzb3IoKTsN -CgkJCVN0cmluZwlzY29yZSA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGluZ18xQ3Vyc29yLCAi -c2NvcmUiICk7DQoJCQlTdHJpbmcJY29tbWVudCA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGlu -Z18xQ3Vyc29yLCAiY29tbWVudCIgKTsNCgkJCVN0cmluZwl1c2VyID0gSURhdGFVdGlsLmdldFN0 -cmluZyggcmF0aW5nXzFDdXJzb3IsICJ1c2VyIiApOw0KCQkJcmF0aW5nXzFDdXJzb3IuZGVzdHJv -eSgpOw0KCQkJDQoJCQlpbnQgc2NvcmVJID0gMDsNCgkJCXRyeSB7DQoJCQkJc2NvcmVJID0gbmV3 -IEludGVnZXIoc2NvcmUpLmludFZhbHVlKCk7DQoJCQkJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGlu -Z0VudHJ5PiByYXRpbmdzID0gZ2V0UmF0aW5ncyhpc2JuKTsNCgkJCQlyYXRpbmdzLmFkZChuZXcg -Qm9va1JhdGluZ0VudHJ5KGlzYm4sIHNjb3JlSSwgY29tbWVudCwgbmV3IGphdmEudXRpbC5EYXRl -KCksIHVzZXIpKTsNCgkJCX0gY2F0Y2ggKE51bWJlckZvcm1hdEV4Y2VwdGlvbiBlKSB7DQoJCQkJ -cmVzdWx0ID0gZS5nZXRNZXNzYWdlKCk7DQoJCQl9DQoJCQkNCgkJfQ0KCXJhdGluZ0N1cnNvci5k -ZXN0cm95KCk7DQp9DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ -RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQpJRGF0 -YVV0aWwucHV0KCBwaXBlbGluZUN1cnNvcl8xLCAicmVzdWx0IiwgcmVzdWx0ICk7DQpwaXBlbGlu + SURhdGFDdXJzb3IgcGlwZWxpbmVDdXJzb3IgPSBwaXBlbGluZS5nZXRDdXJzb3IoKTsNClN0cmlu +Zwlpc2JuID0gSURhdGFVdGlsLmdldFN0cmluZyggcGlwZWxpbmVDdXJzb3IsICJpc2JuIiApOw0K +DQovLyByYXRpbmcNClN0cmluZyByZXN1bHQgPSAib2siOw0KSURhdGEJcmF0aW5nID0gSURhdGFV +dGlsLmdldElEYXRhKCBwaXBlbGluZUN1cnNvciwgInJhdGluZyIgKTsNCmlmICggcmF0aW5nICE9 +IG51bGwpDQp7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nLmdldEN1cnNvcigp +Ow0KDQoJCS8vIGkucmF0aW5nDQoJCUlEYXRhCXJhdGluZ18xID0gSURhdGFVdGlsLmdldElEYXRh +KCByYXRpbmdDdXJzb3IsICJyYXRpbmciICk7DQoJCWlmICggcmF0aW5nXzEgIT0gbnVsbCkNCgkJ +ew0KCQkJSURhdGFDdXJzb3IgcmF0aW5nXzFDdXJzb3IgPSByYXRpbmdfMS5nZXRDdXJzb3IoKTsN +CgkJCVN0cmluZwlzY29yZSA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGluZ18xQ3Vyc29yLCAi +c2NvcmUiICk7DQoJCQlTdHJpbmcJY29tbWVudCA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGlu +Z18xQ3Vyc29yLCAiY29tbWVudCIgKTsNCgkJCVN0cmluZwl1c2VyID0gSURhdGFVdGlsLmdldFN0 +cmluZyggcmF0aW5nXzFDdXJzb3IsICJ1c2VyIiApOw0KCQkJcmF0aW5nXzFDdXJzb3IuZGVzdHJv +eSgpOw0KCQkJDQoJCQlpbnQgc2NvcmVJID0gMDsNCgkJCXRyeSB7DQoJCQkJc2NvcmVJID0gbmV3 +IEludGVnZXIoc2NvcmUpLmludFZhbHVlKCk7DQoJCQkJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGlu +Z0VudHJ5PiByYXRpbmdzID0gZ2V0UmF0aW5ncyhpc2JuKTsNCgkJCQlyYXRpbmdzLmFkZChuZXcg +Qm9va1JhdGluZ0VudHJ5KGlzYm4sIHNjb3JlSSwgY29tbWVudCwgbmV3IGphdmEudXRpbC5EYXRl +KCksIHVzZXIpKTsNCgkJCX0gY2F0Y2ggKE51bWJlckZvcm1hdEV4Y2VwdGlvbiBlKSB7DQoJCQkJ +cmVzdWx0ID0gZS5nZXRNZXNzYWdlKCk7DQoJCQl9DQoJCQkNCgkJfQ0KCXJhdGluZ0N1cnNvci5k +ZXN0cm95KCk7DQp9DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ +RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQpJRGF0 +YVV0aWwucHV0KCBwaXBlbGluZUN1cnNvcl8xLCAicmVzdWx0IiwgcmVzdWx0ICk7DQpwaXBlbGlu ZUN1cnNvcl8xLmRlc3Ryb3koKTsJCQk= diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/addBookRating/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/java.frag similarity index 98% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/java.frag rename to assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/java.frag index 9343a3487..2500b3b0c 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/java.frag +++ b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/java.frag @@ -3,33 +3,33 @@ getBookDetails true - Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy -c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv -ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ -RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCmZv -ciAoaW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5 -IGIgPSBib29rTGlzdFtpXTsgDQoJaWYgKGIuZ2V0SXNibigpLmVxdWFscyhpc2JuKSkgew0KCQkv -LyBib29rDQoJCUlEYXRhCWJvb2sgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vy -c29yIGJvb2tDdXJzb3IgPSBib29rLmdldEN1cnNvcigpOw0KCQlJRGF0YQlib29rXzEgPSBJRGF0 -YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vyc29yIGJvb2tfMUN1cnNvciA9IGJvb2tfMS5n -ZXRDdXJzb3IoKTsNCg0KCQlqYXZhLnV0aWwuTWFwPFN0cmluZywgU3RyaW5nPiByZXF1ZXN0VVJM -ID0gZ2V0UmVxdWVzdFVSTCgpOw0KCQlTdHJpbmcgaG9zdCA9IHJlcXVlc3RVUkwuZ2V0KCJob3N0 -Iik7DQoJCVN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoJCQ0KCQlJRGF0YVV0 -aWwucHV0KCBib29rXzFDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJCUlEYXRhVXRp -bC5wdXQoIGJvb2tfMUN1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCgkJSURhdGFV -dGlsLnB1dCggYm9va18xQ3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCgkJSURhdGFV -dGlsLnB1dCggYm9va18xQ3Vyc29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElz -Ym4oKSkgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9va18xQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1i -ZXJPZlZvdGVzKGIuZ2V0SXNibigpKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is -ICJwcmljZSIsIGIuZ2V0UHJpY2UoKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is -ICJkZXNjcmlwdGlvbiIsIGIuZ2V0RGVzY3JpcHRpb24oKSApOw0KCQlJRGF0YVV0aWwucHV0KCBi -b29rXzFDdXJzb3IsICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9p -bWFnZXMvdGh1bWJuYWlscy8iK2IuZ2V0SXNibigpKyIucG5nIiApOw0KCQlJRGF0YVV0aWwucHV0 -KCBib29rXzFDdXJzb3IsICJjb3ZlcnVybCIsICJodHRwOi8vIitob3N0KyIvQm9va3N0b3JlL2lt -YWdlcy9jb3ZlcnMvIitiLmdldElzYm4oKSsiLnBuZyIgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9v -a18xQ3Vyc29yLCAicmF0aW5nc3VybCIsICJodHRwOi8vIitob3N0K3VybCsiL3JhdGluZ3MiICk7 -DQoJCWJvb2tfMUN1cnNvci5kZXN0cm95KCk7DQoJCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is -ICJib29rIiwgYm9va18xICk7DQoJCWJvb2tDdXJzb3IuZGVzdHJveSgpOw0KCQlJRGF0YVV0aWwu -cHV0KCBwaXBlbGluZUN1cnNvcl8xLCAiYm9vayIsIGJvb2sgKTsNCgkJcGlwZWxpbmVDdXJzb3Jf + Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy +c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv +ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ +RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCmZv +ciAoaW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5 +IGIgPSBib29rTGlzdFtpXTsgDQoJaWYgKGIuZ2V0SXNibigpLmVxdWFscyhpc2JuKSkgew0KCQkv +LyBib29rDQoJCUlEYXRhCWJvb2sgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vy +c29yIGJvb2tDdXJzb3IgPSBib29rLmdldEN1cnNvcigpOw0KCQlJRGF0YQlib29rXzEgPSBJRGF0 +YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vyc29yIGJvb2tfMUN1cnNvciA9IGJvb2tfMS5n +ZXRDdXJzb3IoKTsNCg0KCQlqYXZhLnV0aWwuTWFwPFN0cmluZywgU3RyaW5nPiByZXF1ZXN0VVJM +ID0gZ2V0UmVxdWVzdFVSTCgpOw0KCQlTdHJpbmcgaG9zdCA9IHJlcXVlc3RVUkwuZ2V0KCJob3N0 +Iik7DQoJCVN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoJCQ0KCQlJRGF0YVV0 +aWwucHV0KCBib29rXzFDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJCUlEYXRhVXRp +bC5wdXQoIGJvb2tfMUN1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCgkJSURhdGFV +dGlsLnB1dCggYm9va18xQ3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCgkJSURhdGFV +dGlsLnB1dCggYm9va18xQ3Vyc29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElz +Ym4oKSkgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9va18xQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1i +ZXJPZlZvdGVzKGIuZ2V0SXNibigpKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is +ICJwcmljZSIsIGIuZ2V0UHJpY2UoKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is +ICJkZXNjcmlwdGlvbiIsIGIuZ2V0RGVzY3JpcHRpb24oKSApOw0KCQlJRGF0YVV0aWwucHV0KCBi +b29rXzFDdXJzb3IsICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9p +bWFnZXMvdGh1bWJuYWlscy8iK2IuZ2V0SXNibigpKyIucG5nIiApOw0KCQlJRGF0YVV0aWwucHV0 +KCBib29rXzFDdXJzb3IsICJjb3ZlcnVybCIsICJodHRwOi8vIitob3N0KyIvQm9va3N0b3JlL2lt +YWdlcy9jb3ZlcnMvIitiLmdldElzYm4oKSsiLnBuZyIgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9v +a18xQ3Vyc29yLCAicmF0aW5nc3VybCIsICJodHRwOi8vIitob3N0K3VybCsiL3JhdGluZ3MiICk7 +DQoJCWJvb2tfMUN1cnNvci5kZXN0cm95KCk7DQoJCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is +ICJib29rIiwgYm9va18xICk7DQoJCWJvb2tDdXJzb3IuZGVzdHJveSgpOw0KCQlJRGF0YVV0aWwu +cHV0KCBwaXBlbGluZUN1cnNvcl8xLCAiYm9vayIsIGJvb2sgKTsNCgkJcGlwZWxpbmVDdXJzb3Jf MS5kZXN0cm95KCk7DQoJfQ0KfQ0KCQ== diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookDetails/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/java.frag similarity index 98% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/java.frag rename to assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/java.frag index ac67a1712..fbbd59e8e 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/java.frag +++ b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/java.frag @@ -3,29 +3,29 @@ getBookRatings true - Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy -c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv -ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ -RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCi8v -IHJhdGluZ2xpc3QNCklEYXRhCXJhdGluZ2xpc3QgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQpJ -RGF0YUN1cnNvciByYXRpbmdsaXN0Q3Vyc29yID0gcmF0aW5nbGlzdC5nZXRDdXJzb3IoKTsNCg0K -Ly8gcmF0aW5nbGlzdC5yYXRpbmdsaXN0DQpJRGF0YQlyYXRpbmdsaXN0XzEgPSBJRGF0YUZhY3Rv -cnkuY3JlYXRlKCk7DQpJRGF0YUN1cnNvciByYXRpbmdsaXN0XzFDdXJzb3IgPSByYXRpbmdsaXN0 -XzEuZ2V0Q3Vyc29yKCk7DQpJRGF0YVV0aWwucHV0KCByYXRpbmdsaXN0XzFDdXJzb3IsICJAaXNi -biIsIGlzYm4gKTsNCg0KamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0g -Z2V0UmF0aW5ncyhpc2JuKTsJDQpJRGF0YVtdCXJhdGluZyA9IG5ldyBJRGF0YVtyYXRpbmdzLnNp -emUoKV07DQoNCi8vIHJhdGluZ2xpc3QucmF0aW5nbGlzdC5yYXRpbmcNCmZvciAoaW50IGkgPSAw -OyBpIDwgcmF0aW5ncy5zaXplKCk7IGkrKykgew0KCUJvb2tSYXRpbmdFbnRyeSBlID0gKEJvb2tS -YXRpbmdFbnRyeSlyYXRpbmdzLmdldChpKTsNCglyYXRpbmdbaV0gPSBJRGF0YUZhY3RvcnkuY3Jl -YXRlKCk7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nW2ldLmdldEN1cnNvcigp -Ow0KCUlEYXRhVXRpbC5wdXQoIHJhdGluZ0N1cnNvciwgInNjb3JlIiwgZS5nZXRTY29yZSgpICk7 -DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiY29tbWVudCIsIGUuZ2V0Q29tbWVudCgp -ICk7DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiZGF0ZXRpbWUiLCBlLmdldERhdGV0 -aW1lKCkgKTsNCglJRGF0YVV0aWwucHV0KCByYXRpbmdDdXJzb3IsICJ1c2VyIiwgZS5nZXRVc2Vy -KCkgKTsNCglyYXRpbmdDdXJzb3IuZGVzdHJveSgpOw0KfQkNCg0KSURhdGFVdGlsLnB1dCggcmF0 -aW5nbGlzdF8xQ3Vyc29yLCAicmF0aW5nIiwgcmF0aW5nICk7DQpyYXRpbmdsaXN0XzFDdXJzb3Iu -ZGVzdHJveSgpOw0KSURhdGFVdGlsLnB1dCggcmF0aW5nbGlzdEN1cnNvciwgInJhdGluZ2xpc3Qi -LCByYXRpbmdsaXN0XzEgKTsNCnJhdGluZ2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFVdGls -LnB1dCggcGlwZWxpbmVDdXJzb3JfMSwgInJhdGluZ2xpc3QiLCByYXRpbmdsaXN0ICk7DQpwaXBl + Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy +c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv +ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ +RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCi8v +IHJhdGluZ2xpc3QNCklEYXRhCXJhdGluZ2xpc3QgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQpJ +RGF0YUN1cnNvciByYXRpbmdsaXN0Q3Vyc29yID0gcmF0aW5nbGlzdC5nZXRDdXJzb3IoKTsNCg0K +Ly8gcmF0aW5nbGlzdC5yYXRpbmdsaXN0DQpJRGF0YQlyYXRpbmdsaXN0XzEgPSBJRGF0YUZhY3Rv +cnkuY3JlYXRlKCk7DQpJRGF0YUN1cnNvciByYXRpbmdsaXN0XzFDdXJzb3IgPSByYXRpbmdsaXN0 +XzEuZ2V0Q3Vyc29yKCk7DQpJRGF0YVV0aWwucHV0KCByYXRpbmdsaXN0XzFDdXJzb3IsICJAaXNi +biIsIGlzYm4gKTsNCg0KamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0g +Z2V0UmF0aW5ncyhpc2JuKTsJDQpJRGF0YVtdCXJhdGluZyA9IG5ldyBJRGF0YVtyYXRpbmdzLnNp +emUoKV07DQoNCi8vIHJhdGluZ2xpc3QucmF0aW5nbGlzdC5yYXRpbmcNCmZvciAoaW50IGkgPSAw +OyBpIDwgcmF0aW5ncy5zaXplKCk7IGkrKykgew0KCUJvb2tSYXRpbmdFbnRyeSBlID0gKEJvb2tS +YXRpbmdFbnRyeSlyYXRpbmdzLmdldChpKTsNCglyYXRpbmdbaV0gPSBJRGF0YUZhY3RvcnkuY3Jl +YXRlKCk7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nW2ldLmdldEN1cnNvcigp +Ow0KCUlEYXRhVXRpbC5wdXQoIHJhdGluZ0N1cnNvciwgInNjb3JlIiwgZS5nZXRTY29yZSgpICk7 +DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiY29tbWVudCIsIGUuZ2V0Q29tbWVudCgp +ICk7DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiZGF0ZXRpbWUiLCBlLmdldERhdGV0 +aW1lKCkgKTsNCglJRGF0YVV0aWwucHV0KCByYXRpbmdDdXJzb3IsICJ1c2VyIiwgZS5nZXRVc2Vy +KCkgKTsNCglyYXRpbmdDdXJzb3IuZGVzdHJveSgpOw0KfQkNCg0KSURhdGFVdGlsLnB1dCggcmF0 +aW5nbGlzdF8xQ3Vyc29yLCAicmF0aW5nIiwgcmF0aW5nICk7DQpyYXRpbmdsaXN0XzFDdXJzb3Iu +ZGVzdHJveSgpOw0KSURhdGFVdGlsLnB1dCggcmF0aW5nbGlzdEN1cnNvciwgInJhdGluZ2xpc3Qi +LCByYXRpbmdsaXN0XzEgKTsNCnJhdGluZ2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFVdGls +LnB1dCggcGlwZWxpbmVDdXJzb3JfMSwgInJhdGluZ2xpc3QiLCByYXRpbmdsaXN0ICk7DQpwaXBl bGluZUN1cnNvcl8xLmRlc3Ryb3koKTsNCgk= diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBookRatings/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/java.frag similarity index 98% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/java.frag rename to assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/java.frag index 65b0ad756..47f683ea9 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/java.frag +++ b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/java.frag @@ -3,30 +3,30 @@ getBooks true - Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy -c29yKCk7DQoNCi8vIGJvb2tsaXN0DQpJRGF0YQlib29rbGlzdCA9IElEYXRhRmFjdG9yeS5jcmVh -dGUoKTsNCklEYXRhQ3Vyc29yIGJvb2tsaXN0Q3Vyc29yID0gYm9va2xpc3QuZ2V0Q3Vyc29yKCk7 -DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0DQpJRGF0YQlib29rbGlzdF8xID0gSURhdGFGYWN0b3J5 -LmNyZWF0ZSgpOw0KSURhdGFDdXJzb3IgYm9va2xpc3RfMUN1cnNvciA9IGJvb2tsaXN0XzEuZ2V0 -Q3Vyc29yKCk7DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0LmJvb2sNCklEYXRhW10JYm9vayA9IG5l -dyBJRGF0YVtib29rTGlzdC5sZW5ndGhdOw0KamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4g -cmVxdWVzdFVSTCA9IGdldFJlcXVlc3RVUkwoKTsNClN0cmluZyBob3N0ID0gcmVxdWVzdFVSTC5n -ZXQoImhvc3QiKTsNClN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoNCmZvciAo -aW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5IGIg -PSBib29rTGlzdFtpXTsNCglib29rW2ldID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOw0KCUlEYXRh -Q3Vyc29yIGJvb2tDdXJzb3IgPSBib29rW2ldLmdldEN1cnNvcigpOw0KCUlEYXRhVXRpbC5wdXQo -IGJvb2tDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJSURhdGFVdGlsLnB1dCggYm9v -a0N1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29r -Q3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29rQ3Vy -c29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElzYm4oKSkgKTsNCglJRGF0YVV0 -aWwucHV0KCBib29rQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1iZXJPZlZvdGVzKGIuZ2V0SXNibigp -KSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3IsICJkZXRhaWxzdXJsIiwgImh0dHA6Ly8i -K2hvc3QrdXJsKyIvIitiLmdldElzYm4oKSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is -ICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9pbWFnZXMvdGh1bWJu -YWlscy8iK2IuZ2V0SXNibigpKyIucG5nIik7DQoJYm9va0N1cnNvci5kZXN0cm95KCk7DQp9DQoN -CklEYXRhVXRpbC5wdXQoIGJvb2tsaXN0XzFDdXJzb3IsICJib29rIiwgYm9vayApOw0KYm9va2xp -c3RfMUN1cnNvci5kZXN0cm95KCk7DQpJRGF0YVV0aWwucHV0KCBib29rbGlzdEN1cnNvciwgImJv -b2tsaXN0IiwgYm9va2xpc3RfMSApOw0KYm9va2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFV -dGlsLnB1dCggcGlwZWxpbmVDdXJzb3IsICJib29rbGlzdCIsIGJvb2tsaXN0ICk7DQpwaXBlbGlu + Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy +c29yKCk7DQoNCi8vIGJvb2tsaXN0DQpJRGF0YQlib29rbGlzdCA9IElEYXRhRmFjdG9yeS5jcmVh +dGUoKTsNCklEYXRhQ3Vyc29yIGJvb2tsaXN0Q3Vyc29yID0gYm9va2xpc3QuZ2V0Q3Vyc29yKCk7 +DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0DQpJRGF0YQlib29rbGlzdF8xID0gSURhdGFGYWN0b3J5 +LmNyZWF0ZSgpOw0KSURhdGFDdXJzb3IgYm9va2xpc3RfMUN1cnNvciA9IGJvb2tsaXN0XzEuZ2V0 +Q3Vyc29yKCk7DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0LmJvb2sNCklEYXRhW10JYm9vayA9IG5l +dyBJRGF0YVtib29rTGlzdC5sZW5ndGhdOw0KamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4g +cmVxdWVzdFVSTCA9IGdldFJlcXVlc3RVUkwoKTsNClN0cmluZyBob3N0ID0gcmVxdWVzdFVSTC5n +ZXQoImhvc3QiKTsNClN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoNCmZvciAo +aW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5IGIg +PSBib29rTGlzdFtpXTsNCglib29rW2ldID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOw0KCUlEYXRh +Q3Vyc29yIGJvb2tDdXJzb3IgPSBib29rW2ldLmdldEN1cnNvcigpOw0KCUlEYXRhVXRpbC5wdXQo +IGJvb2tDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJSURhdGFVdGlsLnB1dCggYm9v +a0N1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29r +Q3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29rQ3Vy +c29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElzYm4oKSkgKTsNCglJRGF0YVV0 +aWwucHV0KCBib29rQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1iZXJPZlZvdGVzKGIuZ2V0SXNibigp +KSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3IsICJkZXRhaWxzdXJsIiwgImh0dHA6Ly8i +K2hvc3QrdXJsKyIvIitiLmdldElzYm4oKSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is +ICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9pbWFnZXMvdGh1bWJu +YWlscy8iK2IuZ2V0SXNibigpKyIucG5nIik7DQoJYm9va0N1cnNvci5kZXN0cm95KCk7DQp9DQoN +CklEYXRhVXRpbC5wdXQoIGJvb2tsaXN0XzFDdXJzb3IsICJib29rIiwgYm9vayApOw0KYm9va2xp +c3RfMUN1cnNvci5kZXN0cm95KCk7DQpJRGF0YVV0aWwucHV0KCBib29rbGlzdEN1cnNvciwgImJv +b2tsaXN0IiwgYm9va2xpc3RfMSApOw0KYm9va2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFV +dGlsLnB1dCggcGlwZWxpbmVDdXJzb3IsICJib29rbGlzdCIsIGJvb2tsaXN0ICk7DQpwaXBlbGlu ZUN1cnNvci5kZXN0cm95KCk7DQoJ diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/node.ndf similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/getBooks/node.ndf rename to assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/node.ndf diff --git a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/services/node.idf similarity index 98% rename from assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/node.idf rename to assets/IS/Packages/Bookstore/ns/bookstore/services/node.idf index 96a0c507a..2477d2e74 100644 --- a/assets/IS/Packages/Bookstore/Bookstore/ns/bookstore/services/node.idf +++ b/assets/IS/Packages/Bookstore/ns/bookstore/services/node.idf @@ -5,224 +5,224 @@ bookstore.services false true - CnByaXZhdGUgc3RhdGljIGZpbmFsIGNsYXNzIEJvb2tMaXN0RW50cnkgewoKICAgIHByaXZhdGUg -ZmluYWwgU3RyaW5nIGlzYm47CiAgICBwcml2YXRlIGZpbmFsIFN0cmluZyB0aXRsZTsKICAgIHBy -aXZhdGUgZmluYWwgU3RyaW5nIGF1dGhvcjsKICAgIHByaXZhdGUgZmluYWwgU3RyaW5nIHByaWNl -OwogICAgcHJpdmF0ZSBmaW5hbCBTdHJpbmcgZGVzY3JpcHRpb247CgogICAgcHVibGljIEJvb2tM -aXN0RW50cnkoU3RyaW5nIGlzYm4sIFN0cmluZyB0aXRsZSwgU3RyaW5nIGF1dGhvciwgU3RyaW5n -IHByaWNlLCBTdHJpbmcgZGVzY3JpcHRpb24pIHsKICAgICAgICB0aGlzLmlzYm4gPSBpc2JuOwog -ICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTsKICAgICAgICB0aGlzLmF1dGhvciA9IGF1dGhvcjsK -ICAgICAgICB0aGlzLnByaWNlID0gcHJpY2U7CiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRl -c2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0QXV0aG9yKCkgewogICAgICAg -IHJldHVybiBhdXRob3I7CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXRJc2JuKCkgewogICAg -ICAgIHJldHVybiBpc2JuOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0UHJpY2UoKSB7CiAg -ICAgICAgcmV0dXJuIHByaWNlOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0RGVzY3JpcHRp -b24oKSB7CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJp -bmcgZ2V0VGl0bGUoKSB7CiAgICAgICAgcmV0dXJuIHRpdGxlOwogICAgfQp9Cgpwcml2YXRlIHN0 -YXRpYyBmaW5hbCBCb29rTGlzdEVudHJ5W10gYm9va0xpc3QgPSB7CgogICAgICAgIG5ldyBCb29r -TGlzdEVudHJ5KAogICAgICAgICAgICAiOTc4MTU4NDg4MzQ3MCIsCiAgICAgICAgICAgICJDUkMg -Q29uY2lzZSBFbmN5Y2xvcGVkaWEgb2YgTWF0aGVtYXRpY3MiLAogICAgICAgICAgICAiRXJpYyBX -ZWlzc3RlaW4iLAogICAgICAgICAgICAiNTQuOTkiLAogICAgICAgICAgICAiVXBvbiBwdWJsaWNh -dGlvbiwgdGhlIGZpcnN0IGVkaXRpb24gb2YgdGhlIENSQyBDb25jaXNlIEVuY3ljbG9wZWRpYSBv -ZiBNYXRoZW1hdGljcyByZWNlaXZlZCBvdmVyd2hlbG1pbmcgYWNjb2xhZGVzIGZvciBpdHMgdW5w -YXJhbGxlbGVkIHNjb3BlLCByZWFkYWJpbGl0eSwgYW5kIHV0aWxpdHkuIEl0IHNvb24gdG9vayBp -dHMgcGxhY2UgYW1vbmcgdGhlIHRvcCBzZWxsaW5nIGJvb2tzIGluIHRoZSBoaXN0b3J5IG9mIENo -YXBtYW4gJiBIYWxsL0NSQywgYW5kIGl0cyBwb3B1bGFyaXR5IGNvbnRpbnVlcyB1bmFiYXRlZC4g -WWV0IGFsc28gdW5hYmF0ZWQgaGFzIGJlZW4gdGhlIGRlZGljYXRpb24gb2YgYXV0aG9yIEVyaWMg -V2Vpc3N0ZWluIHRvIGNvbGxlY3RpbmcsIGNhdGFsb2dpbmcsIGFuZCByZWZlcmVuY2luZyBtYXRo -ZW1hdGljYWwgZmFjdHMsIGZvcm11bGFzLCBhbmQgZGVmaW5pdGlvbnMuIEhlIGhhcyBub3cgdXBk -YXRlZCBtb3N0IG9mIHRoZSBvcmlnaW5hbCBlbnRyaWVzIGFuZCBleHBhbmRlZCB0aGUgRW5jeWNs -b3BlZGlhIHRvIGluY2x1ZGUgMTAwMCBhZGRpdGlvbmFsIHBhZ2VzIG9mIGlsbHVzdHJhdGVkIGVu -dHJpZXMuVGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIEVuY3ljbG9wZWRpYSBhbG9uZyB3aXRoIGl0 -cyBicm9hZCBjb3ZlcmFnZSBhbmQgZWNvbm9taWNhbCBwcmljZSBtYWtlIGl0IGF0dHJhY3RpdmUg -dG8gdGhlIHdpZGVzdCBwb3NzaWJsZSByYW5nZSBvZiByZWFkZXJzIGFuZCBjZXJ0YWlubHkgYSBt -dXN0IGZvciBsaWJyYXJpZXMsIGZyb20gdGhlIHNlY29uZGFyeSB0byB0aGUgcHJvZmVzc2lvbmFs -IGFuZCByZXNlYXJjaCBsZXZlbHMuIEZvciBtYXRoZW1hdGljYWwgZGVmaW5pdGlvbnMsIGZvcm11 -bGFzLCBmaWd1cmVzLCB0YWJ1bGF0aW9ucywgYW5kIHJlZmVyZW5jZXMsIHRoaXMgaXMgc2ltcGx5 -IHRoZSBtb3N0IGltcHJlc3NpdmUgY29tcGVuZGl1bSBhdmFpbGFibGUuIgogICAgICAgICksCgkJ -CiAgICAgICAgbmV3IEJvb2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwNjkxMTM4NzE4IiwK -ICAgICAgICAgICAgIkZlYXJsZXNzIHN5bW1ldHJ5IiwKICAgICAgICAgICAgIkF2bmVyIEFzaCAm -IFJvYmVydCBHcm9zcyIsCiAgICAgICAgICAgICIxMi44OSIsCiAgICAgICAgICAgICJNYXRoZW1h -dGljaWFucyBzb2x2ZSBlcXVhdGlvbnMsIG9yIHRyeSB0by4gQnV0IHNvbWV0aW1lcyB0aGUgc29s -dXRpb25zIGFyZSBub3QgYXMgaW50ZXJlc3RpbmcgYXMgdGhlIGJlYXV0aWZ1bCBzeW1tZXRyaWMg -cGF0dGVybnMgdGhhdCBsZWFkIHRvIHRoZW0uIFdyaXR0ZW4gaW4gYSBmcmllbmRseSBzdHlsZSBm -b3IgYSBnZW5lcmFsIGF1ZGllbmNlLCBGZWFybGVzcyBTeW1tZXRyeSBpcyB0aGUgZmlyc3QgcG9w -dWxhciBtYXRoIGJvb2sgdG8gZGlzY3VzcyB0aGVzZSBlbGVnYW50IGFuZCBteXN0ZXJpb3VzIHBh -dHRlcm5zIGFuZCB0aGUgaW5nZW5pb3VzIHRlY2huaXF1ZXMgbWF0aGVtYXRpY2lhbnMgdXNlIHRv -IHVuY292ZXIgdGhlbS4gSGlkZGVuIHN5bW1ldHJpZXMgd2VyZSBmaXJzdCBkaXNjb3ZlcmVkIG5l -YXJseSB0d28gaHVuZHJlZCB5ZWFycyBhZ28gYnkgRnJlbmNoIG1hdGhlbWF0aWNpYW4gRXZhcmlz -dGUgR2Fsb2lzLiBUaGV5IGhhdmUgYmVlbiB1c2VkIGV4dGVuc2l2ZWx5IGluIHRoZSBvbGRlc3Qg -YW5kIGxhcmdlc3QgYnJhbmNoIG9mIG1hdGhlbWF0aWNzLS1udW1iZXIgdGhlb3J5LS1mb3Igc3Vj -aCBkaXZlcnNlIGFwcGxpY2F0aW9ucyBhcyBhY291c3RpY3MsIHJhZGFyLCBhbmQgY29kZXMgYW5k -IGNpcGhlcnMuIFRoZXkgaGF2ZSBhbHNvIGJlZW4gZW1wbG95ZWQgaW4gdGhlIHN0dWR5IG9mIEZp -Ym9uYWNjaSBudW1iZXJzIGFuZCB0byBhdHRhY2sgd2VsbC1rbm93biBwcm9ibGVtcyBzdWNoIGFz -IEZlcm1hdCdzIExhc3QgVGhlb3JlbSwgUHl0aGFnb3JlYW4gVHJpcGxlcywgYW5kIHRoZSBldmVy -LWVsdXNpdmUgUmllbWFubiBIeXBvdGhlc2lzLiBNYXRoZW1hdGljaWFucyBhcmUgc3RpbGwgZGV2 -aXNpbmcgdGVjaG5pcXVlcyBmb3IgdGVhc2luZyBvdXQgdGhlc2UgbXlzdGVyaW91cyBwYXR0ZXJu -cywgYW5kIHRoZWlyIHVzZXMgYXJlIGxpbWl0ZWQgb25seSBieSB0aGUgaW1hZ2luYXRpb24uIFRo -ZSBmaXJzdCBwb3B1bGFyIGJvb2sgdG8gYWRkcmVzcyByZXByZXNlbnRhdGlvbiB0aGVvcnkgYW5k -IHJlY2lwcm9jaXR5IGxhd3MsIEZlYXJsZXNzIFN5bW1ldHJ5IGZvY3VzZXMgb24gaG93IG1hdGhl -bWF0aWNpYW5zIHNvbHZlIGVxdWF0aW9ucyBhbmQgcHJvdmUgdGhlb3JlbXMuIEl0IGRpc2N1c3Nl -cyBydWxlcyBvZiBtYXRoIGFuZCB3aHkgdGhleSBhcmUganVzdCBhcyBpbXBvcnRhbnQgYXMgdGhv -c2UgaW4gYW55IGdhbWVzIG9uZSBtaWdodCBwbGF5LiBUaGUgYm9vayBzdGFydHMgd2l0aCBiYXNp -YyBwcm9wZXJ0aWVzIG9mIGludGVnZXJzIGFuZCBwZXJtdXRhdGlvbnMgYW5kIHJlYWNoZXMgY3Vy -cmVudCByZXNlYXJjaCBpbiBudW1iZXIgdGhlb3J5LiBBbG9uZyB0aGUgd2F5LCBpdCB0YWtlcyBk -ZWxpZ2h0ZnVsIGhpc3RvcmljYWwgYW5kIHBoaWxvc29waGljYWwgZGlncmVzc2lvbnMuIFJlcXVp -cmVkIHJlYWRpbmcgZm9yIGFsbCBtYXRoIGJ1ZmZzLCB0aGUgYm9vayB3aWxsIGFwcGVhbCB0byBh -bnlvbmUgY3VyaW91cyBhYm91dCBwb3B1bGFyIG1hdGhlbWF0aWNzIGFuZCBpdHMgbXlyaWFkIGNv -bnRyaWJ1dGlvbnMgdG8gZXZlcnlkYXkgbGlmZS4iCiAgICAgICAgKSwKCiAgICAgICAgbmV3IEJv -b2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwODEyOTc5MTgzIiwKICAgICAgICAgICAgIlRo -ZSBCbGFjayBTd2FuIiwKICAgICAgICAgICAgIk5hc3NpbSBOaWNob2xhcyBUYWxlYiIsCiAgICAg -ICAgICAgICIxNy4yOCIsCiAgICAgICAgICAgICJJbiBidXNpbmVzcyBhbmQgZ292ZXJubWVudCwg -bWFqb3IgbW9uZXkgaXMgc3BlbnQgb24gcHJlZGljdGlvbi4gVXNlbGVzc2x5LCBhY2NvcmRpbmcg -dG8gVGFsZWIsIHdobyBhZG1pbmlzdGVycyBhIHNldmVyZSB0aHJhc2hpbmcgdG8gTUJBLSBhbmQg -Tm9iZWwgUHJpemUtY3JlZGVudGlhbGVkIGV4cGVydHMgd2hvIG1ha2UgdGhlaXIgbGl2aW5nIGZy -b20gZWNvbm9taWMgZm9yZWNhc3RpbmcuIEEgZmluYW5jaWFsIHRyYWRlciBhbmQgY3VycmVudCBy -ZWJlbCB3aXRoIGEgY2F1c2UsIFRhbGViIGlzIG1hdGhlbWF0aWNhbGx5IG9yaWVudGVkIGFuZCBh -bGx1ZGVzIHRvIHN0YXRpc3RpY2FsIGNvbmNlcHRzIHRoYXQgdW5kZXJsaWUgbW9kZWxzIG9mIHBy -ZWRpY3Rpb24sIHdoaWxlIGhpcyBleHByZXNzaXZlIGVuZXJneSBpcyBleHBlbmRlZCBvbiByb2xs -ZXItY29hc3RlciBwYXNzYWdlcywgYm9yZGVyaW5nIG9uIGdsZWVmdWwgZGlhdHJpYmVzLCBvbiB3 -aHkgZXhwZXJ0cyBhcmUgd3JvbmcuIFRoZXkgbmVnbGVjdCBUYWxlYidzIG1ldGFwaG9yIG9mICd0 -aGUgYmxhY2sgc3dhbicsIHdob3NlIGRpc2NvdmVyeSBpbnZhbGlkYXRlZCB0aGUgdGhlb3J5IHRo -YXQgYWxsIHN3YW5zIGFyZSB3aGl0ZS4gVGFsZWIgcmlkZXMgdGhpcyBtYW5pZmVzdGF0aW9uIG9m -IHRoZSB1bnByZWRpY3RlZCBldmVudCBpbnRvIGEgcmFuZ2Ugb2YgcGhlbm9tZW5hLCBzdWNoIGFz -IHdoeSBhIGJvb2sgYmVjb21lcyBhIGJlc3Qtc2VsbGVyIG9yIGhvdyBhbiBlbnRyZXByZW5ldXIg -YmVjb21lcyBhIGJpbGxpb25haXJlLCB0YWtpbmcgcGl0IHN0b3BzIHdpdGggcGhpbG9zb3BoZXJz -IHdobyBoYXZlIGFkZHJlc3NlZCB0aGUgbWVhbmluZyBvZiB0aGUgdW5leHBlY3RlZCBhbmQgY29u -Zm91bmRpbmcuIFRhbGViIHByb2plY3RzIGEgc3Ryb25nIHByZXNlbmNlIGhlcmUgdGhhdCB3aWxs -IHRlbXB0IG91dHNpZGUtdGhlLWJveCB0aGlua2VycyBpbnRvIGdpdmluZyBoaW0gYSBsb29rLiIK -ICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAgICAgIjk3ODA1 -MjU5NTA2MjIiLAogICAgICAgICAgICAiVGhlIFNjaWVuY2Ugb2YgRmVhciIsCiAgICAgICAgICAg -ICJEYW5pZWwgR2FyZGVuZXIiLAogICAgICAgICAgICAiMTYuNDciLAogICAgICAgICAgICAiR2Fy -ZG5lciwgYSBjb2x1bW5pc3QgYW5kIHNlbmlvciB3cml0ZXIgZm9yIHRoZSBPdHRhd2EgQ2l0aXpl -biwgaXMgYm90aCBtYXR0ZXItb2YtZmFjdCBhbmQgZW50ZXJ0YWluaW5nIGluIHRoaXMgbG9vayBh -dCBmZWFyIGFuZCBob3cgaXQgc2hhcGVzIG91ciBsaXZlcy4gQWx0aG91Z2ggd2UgYXJlIGNhcGFi -bGUgb2YgcmVhc29uLCBzYXlzIEdhcmRuZXIsIHdlIG9mdGVuIHJlbHkgaW5zdGVhZCBvbiBpbnR1 -aXRpdmUgc25hcCBqdWRnbWVudHMuIFdlIGFsc28gYXNzdW1lIGluc3RpbmN0aXZlbHksIGJ1dCBp -bmNvcnJlY3RseSwgdGhhdCBbaV1mIGV4YW1wbGVzIG9mIHNvbWV0aGluZyBjYW4gYmUgcmVjYWxs -ZWQgZWFzaWx5LCB0aGF0IHRoaW5nIG11c3QgYmUgY29tbW9uLiBBbmQgd2hhdCBpcyBtb3JlIG1l -bW9yYWJsZSB0aGFuIGhlYWRsaW5lcyBhbmQgbmV3cyBwcm9ncmFtcyBibGFyaW5nIGhvcnJpYmxl -IGNyaW1lcyBhbmQgZGlzZWFzZXMsIHBsYW5lIGNyYXNoZXMgYW5kIHRlcnJvcmlzdCBhdHRhY2tz -PyBJbiBmYWN0LCBzdWNoIGV2ZW50cyBhcmUgcmFyZSwgYnV0IHRoZWlyIG1lZGlhIG9tbmlwcmVz -ZW5jZSBhY3RpdmF0ZXMgYSBndXQtbGV2ZWwgZmVhciByZXNwb25zZSB0aGF0IGlzIG91dCBvZiBw -cm9wb3J0aW9uIHRvIHRoZSBsaWtlbGlob29kIG9mIG91ciBnb2luZyB0aHJvdWdoIHN1Y2ggYW4g -ZXZlbnQuIEl0IGRvZXNuJ3QgaGVscCB0aGF0IHNjaWVudGlmaWMgZGF0YSBhbmQgc3RhdGlzdGlj -cyBhcmUgb2Z0ZW4gbWlzdW5kZXJzdG9vZCBhbmQgbWlzdXNlZCBhbmQgdGhhdCBvdXIgcmlzayBh -c3Nlc3NtZW50IGlzIGluZmx1ZW5jZWQgbGVzcyBieSB0aGUgZmFjdHMgdGhhbiBieSBob3cgb3Ro -ZXJzIHJlc3BvbmQuIEdhcmRuZXIncyB2aXZpZCwgZGlyZWN0IHN0eWxlLCBiYWNrZWQgdXAgYnkg -Y2xlYXIgZXhhbXBsZXMgYW5kIHNvbGlkIGRhdGEgZnJvbSBzY2llbmNlIGFuZCBwc3ljaG9sb2d5 -LCBicmluZ3MgYSBicmVhdGggb2YgZnJlc2ggYWlyIGFuZCBjb21tb24gc2Vuc2UgdG8gYW4gZW1v -dGlvbmFsIHRvcGljLiIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAg -ICAgICAgICAgIjk3ODM0OTIwNTExMDEiLAogICAgICAgICAgICAiRGllIFJpZW1hbm5zY2hlIFZl -cm11dHVuZyIsCiAgICAgICAgICAgICJBdGxlIE5hZXNzIiwKICAgICAgICAgICAgIjkuOTAiLAog -ICAgICAgICAgICAiQXVmIGRpZSBlaW5lIG9kZXIgYW5kZXJlIFdlaXNlIHfDvHJkZSBkaWUgU2Fj -aGUgZmVobHNjaGxhZ2VuLiBEYXMgaGF0dGUgVGVyamUgSHV1c2UsIHZvbiBIYXVzIGF1cyBNYXRo -ZW1hdGlrZXIsIHZvbiBBbmZhbmcgYW4gZ2VhaG50LiBOdXIgd2VuIGRhcyBVbmdsw7xjayBhbSBo -w6RydGVzdGVuIHRyZWZmZW4gd8O8cmRlLCBzY2hpZW4gZGFtYWxzIG5vY2ggb2ZmZW4uIFRlcmpl -IGhhdHRlIGVzIHNpY2ggaW4gZGVuIEtvcGYgZ2VzZXR6dCwgZGllIEJpb2dyYWZpZSBzZWluZXMg -Z3Jvw59lbiBWb3JiaWxkcyBCZXJuaGFyZCBSaWVtYW5uIHp1IHZlcmZhc3NlbiB1bmQgZW5kbGlj -aCBkYXMgQWJlbnRldWVyIHZvbiBkZXIgU3VjaGUgbmFjaCBlaW5lciBSZWdlbG3DpMOfaWdrZWl0 -IGJlaSBkZW4gUHJpbXphaGxlbiB6dSBiZXNjaHJlaWJlbi4gQWJlciBkaWUgQXJiZWl0IHdhciBp -bnMgU3RvY2tlbiBnZXJhdGVuLCBzbyBlaW5mYWNoIHdhciBkYXMgYWxsZXMgbmljaHQuIE51ciBt -aXQgc2VpbmVyIEJla2FubnRlbiBJbmd2aWxkIGtvbm50ZSBzaWNoIGRlciB2ZXJoZWlyYXRldGUg -VGVyamUgZGHCrXLDvGJlciB1bnRlcmhhbHRlbi4gRGllIFNhY2hlIG1pdCBpaHIgZ2xpdHQgaWht -IHNjaG5lbGwgYXVzIGRlciBIYW5kLCB1bnJldHRiYXIgZ2VyaWV0IGVyIGluIGRlbiBTb2cgZGll -c2VyIEJlemllaHVuZy4gQmlzIFRlcmplIHBsw7Z0emxpY2ggdmVyc2Nod2luZGV0IC0gdW5kIHNl -aW5lIFRvY2h0ZXIgZWluZSBtZXJrd8O8cmRpZ2UgRGF0ZWkgYXVmIHNlaW5lbSBDb21wdXRlciBl -bnRkZWNrdCIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAg -ICAgIjk3ODE1ODQ4ODUwODUiLAogICAgICAgICAgICAiQ3J5cHRvZ3JhcGh5IiwKICAgICAgICAg -ICAgIkRvdWdsYXMgUi4gU3RpbnNvbiIsCiAgICAgICAgICAgICI1MS42OSIsCiAgICAgICAgICAg -ICJEb3VnbGFzIFIuIFN0aW5zb24ncyBDcnlwdG9ncmFwaHk6IFRoZW9yeSBhbmQgUHJhY3RpY2Ug -aXMgYSBtYXRoZW1hdGljYWxseSBpbnRlbnNpdmUgZXhhbWluYXRpb24gb2YgY3J5cHRvZ3JhcGh5 -LCBpbmNsdWRpbmcgY2lwaGVycywgdGhlIERhdGEgRW5jcnlwdGlvbiBTdGFuZGFyZCAoREVTKSwg -cHVibGljIGtleSBjcnlwdG9ncmFwaHksIG9uZS13YXkgaGFzaCBmdW5jdGlvbnMsIGFuZCBkaWdp -dGFsIHNpZ25hdHVyZXMuIFN0aW5zb24ncyBleHBsaWNhdGlvbiBvZiAnemVyby1zdW0gcHJvb2Zz -JyAtLSBhIHByb2Nlc3MgYnkgd2hpY2ggb25lIHBlcnNvbiBsZXRzIGFub3RoZXIgcGVyc29uIGtu -b3cgdGhhdCBoZSBvciBzaGUgaGFzIGEgcGFzc3dvcmQgd2l0aG91dCBhY3R1YWxseSByZXZlYWxp -bmcgYW55IGluZm9ybWF0aW9uLS1pcyBlc3BlY2lhbGx5IGdvb2QuIElmIHlvdSBhcmUgbmV3IHRv -IHRoZSBtYXRoIGJlaGluZCBjcnlwdG9ncmFwaHkgYnV0IHdhbnQgdG8gdGFja2xlIGl0LCB0aGUg -YXV0aG9yIGNvdmVycyBhbGwgb2YgdGhlIHJlcXVpcmVkIGJhY2tncm91bmQgdG8gdW5kZXJzdGFu -ZCB0aGUgcmVhbCBtYXRoZW1hdGljcyBoZXJlLiBDcnlwdG9ncmFwaHkgaW5jbHVkZXMgZXh0ZW5z -aXZlIGV4ZXJjaXNlcyB3aXRoIGVhY2ggY2hhcHRlciBhbmQgbWFrZXMgYW4gaWRlYWwgaW50cm9k -dWN0aW9uIGZvciBhbnkgbWF0aC1saXRlcmF0ZSBwZXJzb24gd2lsbGluZyB0byBnZXQgYWNxdWFp -bnRlZCB3aXRoIHRoaXMgbWF0ZXJpYWwuIgogICAgICAgICkKfTsKCnByaXZhdGUgc3RhdGljIGZp -bmFsIGNsYXNzIEJvb2tSYXRpbmdFbnRyeSB7CgkKCXByaXZhdGUgZmluYWwgU3RyaW5nIGlzYm47 -Cglwcml2YXRlIGZpbmFsIGludCBzY29yZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIGNvbW1lbnQ7 -Cglwcml2YXRlIGZpbmFsIFN0cmluZyBkYXRldGltZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIHVz -ZXI7CgkKCXB1YmxpYyBCb29rUmF0aW5nRW50cnkoU3RyaW5nIGlzYm4sIGludCBzY29yZSwgU3Ry -aW5nIGNvbW1lbnQsIFN0cmluZyBkYXRldGltZSwgU3RyaW5nIHVzZXIpIHsKCQl0aGlzLmlzYm4g -PSBpc2JuOwoJCXRoaXMuc2NvcmUgPSBzY29yZTsKCQl0aGlzLmNvbW1lbnQgPSBjb21tZW50OwoJ -CXRoaXMuZGF0ZXRpbWUgPSBkYXRldGltZTsKCQl0aGlzLnVzZXIgPSB1c2VyOwoJfQoJCglwdWJs -aWMgQm9va1JhdGluZ0VudHJ5KFN0cmluZyBpc2JuLCBpbnQgc2NvcmUsIFN0cmluZyBjb21tZW50 -LCBqYXZhLnV0aWwuRGF0ZSBkYXRldGltZUQsIFN0cmluZyB1c2VyKSB7CgkJdGhpcy5pc2JuID0g -aXNibjsKCQl0aGlzLnNjb3JlID0gc2NvcmU7CgkJdGhpcy5jb21tZW50ID0gY29tbWVudDsKCQl0 -aGlzLmRhdGV0aW1lID0gZGF0ZUZvcm1hdC5mb3JtYXQoZGF0ZXRpbWVEKTsKCQl0aGlzLnVzZXIg -PSB1c2VyOwoJfQoJCglwdWJsaWMgU3RyaW5nIGdldElzYm4oKSB7CgkJcmV0dXJuIGlzYm47Cgl9 -CgoJcHVibGljIGludCBnZXRTY29yZSgpIHsKCQlyZXR1cm4gc2NvcmU7Cgl9CgkKCXB1YmxpYyBT -dHJpbmcgZ2V0Q29tbWVudCgpIHsKCQlyZXR1cm4gY29tbWVudDsKCX0KCQoJcHVibGljIFN0cmlu -ZyBnZXREYXRldGltZSgpIHsKCQlyZXR1cm4gZGF0ZXRpbWU7Cgl9CglwdWJsaWMgU3RyaW5nIGdl -dFVzZXIoKSB7CgkJcmV0dXJuIHVzZXI7Cgl9Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIGphdmEu -dGV4dC5TaW1wbGVEYXRlRm9ybWF0IGRhdGVGb3JtYXQgPSBuZXcgamF2YS50ZXh0LlNpbXBsZURh -dGVGb3JtYXQoInl5eXkuTU0uZGQtSEg6bW06c3MiKTsKCnByaXZhdGUgc3RhdGljIGZpbmFsIGph -dmEudXRpbC5NYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4gYm9va1JhdGluZ0xpc3QgPSBuZXcg -amF2YS51dGlsLkhhc2hNYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4oKTsKCnByaXZhdGUgc3Rh -dGljIGZpbmFsIGphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gZ2V0UmF0aW5ncyhTdHJp -bmcgaXNibikgewoJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0gKGph -dmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4pYm9va1JhdGluZ0xpc3QuZ2V0KGlzYm4pOwoJ -aWYgKHJhdGluZ3MgPT0gbnVsbCkgewoJCXJhdGluZ3MgPSBuZXcgamF2YS51dGlsLkFycmF5TGlz -dDxCb29rUmF0aW5nRW50cnk+KCk7CgkJYm9va1JhdGluZ0xpc3QucHV0KGlzYm4sIHJhdGluZ3Mp -OwoJfQoJcmV0dXJuIHJhdGluZ3M7Cn0KCnN0YXRpYyB7Cgl0cnkgewoJCVN0cmluZyBpc2JuOwoJ -CWphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gcmF0aW5nczsKCQkKCQlpc2JuID0gIjk3 -ODE1ODQ4ODM0NzAiOwoJCXJhdGluZ3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRk -KG5ldyBCb29rUmF0aW5nRW50cnkoaXNibiwgNCwgIlZlcnkgZ29vZCBmb3IgYmVnaW5uZXJzLiIs -IG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiQW5uIikpOwkKCQlyYXRpbmdzLmFkZChuZXcgQm9va1Jh -dGluZ0VudHJ5KGlzYm4sIDMsICJOb3QgYmFkIGJ1dCBvdmVycHJpemVkLiIsIG5ldyBqYXZhLnV0 -aWwuRGF0ZSgpLCAiQmlsbCIpKTsKCQkKCQlpc2JuID0gIjk3ODA2OTExMzg3MTgiOwoJCXJhdGlu -Z3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnko -aXNibiwgMywgIldlbGwgLi4uIGdpdmVzIGEgZ29vZCBvdmVydmlldy4iLCBuZXcgamF2YS51dGls -LkRhdGUoKSwgIkNhcmwiKSk7CQoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnkoaXNi -biwgMSwgIk5vdCB3b3J0aCB0aGUgbW9uZXkuIiwgbmV3IGphdmEudXRpbC5EYXRlKCksICJEdXN0 -aW4iKSk7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCAyLCAiSSBhZ3Jl -ZSB3aXRoIENhcmwgLi4uIGJ1dCB0b28gZXhwZW5zaXZlLiIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgp -LCAiRXZlIikpOwoJCQoJCWlzYm4gPSAiOTc4MDgxMjk3OTE4MyI7CgkJcmF0aW5ncyA9IGdldFJh -dGluZ3MoaXNibik7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCA1LCAi -RXhjZWxsZW50ISIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiRnJlZCIpKTsJCgl9IGNhdGNoIChF -eGNlcHRpb24gZSkgewoJCWUucHJpbnRTdGFja1RyYWNlKCk7Cgl9CQp9CgkKcHJpdmF0ZSBzdGF0 -aWMgZmluYWwgamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4gZ2V0UmVxdWVzdFVSTCgpIHsK -CUlEYXRhIGlucHV0ID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOwoJSURhdGEgCW91dHB1dCA9IElE -YXRhRmFjdG9yeS5jcmVhdGUoKTsKCWphdmEudXRpbC5NYXAgcmVzdWx0ID0gbmV3IGphdmEudXRp -bC5IYXNoTWFwPFN0cmluZywgU3RyaW5nPigpOwoJdHJ5IHsKCQlvdXRwdXQgPSBTZXJ2aWNlLmRv -SW52b2tlKCAicHViLmZsb3ciLCAiZ2V0VHJhbnNwb3J0SW5mbyIsIGlucHV0ICk7Cgl9CgljYXRj -aCggRXhjZXB0aW9uIGUpe30KCQoJSURhdGFDdXJzb3Igb3V0cHV0Q3Vyc29yID0gb3V0cHV0Lmdl -dEN1cnNvcigpOwoKCS8vIHRyYW5zcG9ydAoJSURhdGEJdHJhbnNwb3J0ID0gSURhdGFVdGlsLmdl -dElEYXRhKCBvdXRwdXRDdXJzb3IsICJ0cmFuc3BvcnQiICk7CglpZiAoIHRyYW5zcG9ydCAhPSBu -dWxsKSB7CgkJSURhdGFDdXJzb3IgdHJhbnNwb3J0Q3Vyc29yID0gdHJhbnNwb3J0LmdldEN1cnNv -cigpOwoKCQlJRGF0YQlodHRwID0gSURhdGFVdGlsLmdldElEYXRhKCB0cmFuc3BvcnRDdXJzb3Is -ICJodHRwIiApOwoJCWlmICggaHR0cCAhPSBudWxsKSB7CgkJCUlEYXRhQ3Vyc29yIGh0dHBDdXJz -b3IgPSBodHRwLmdldEN1cnNvcigpOwoJCQlTdHJpbmcgcmVxdWVzdFVybCA9IElEYXRhVXRpbC5n -ZXRTdHJpbmcoIGh0dHBDdXJzb3IsICJyZXF1ZXN0VXJsIiApOwoJCQkKCQkJSURhdGEJcmVxdWVz -dEhkcnMgPSBJRGF0YVV0aWwuZ2V0SURhdGEoIGh0dHBDdXJzb3IsICJyZXF1ZXN0SGRycyIgKTsK -CQkJaWYgKCByZXF1ZXN0SGRycyAhPSBudWxsKSB7CgkJCQlJRGF0YUN1cnNvciByZXF1ZXN0SGRy -c0N1cnNvciA9IHJlcXVlc3RIZHJzLmdldEN1cnNvcigpOwoJCQkJU3RyaW5nCWhvc3QgPSBJRGF0 -YVV0aWwuZ2V0U3RyaW5nKCByZXF1ZXN0SGRyc0N1cnNvciwgIkhvc3QiICk7CgkJCQlpZiAoaG9z -dCAhPSBudWxsICYmIGhvc3QubGVuZ3RoKCkgPiAwKSB7CgkJCQkJcmVzdWx0LnB1dCgiaG9zdCIs -IGhvc3QpOwoJCQkJfQoJCQkJcmVxdWVzdEhkcnNDdXJzb3IuZGVzdHJveSgpOwoJCQl9CgkJCQoJ -CQlyZXN1bHQucHV0KCJ1cmwiLCB0cmltVXJsKHJlcXVlc3RVcmwpKTsKCQkJaHR0cEN1cnNvci5k -ZXN0cm95KCk7CgkJfQkKCQl0cmFuc3BvcnRDdXJzb3IuZGVzdHJveSgpOwoJfQoJb3V0cHV0Q3Vy -c29yLmRlc3Ryb3koKTsKCXJldHVybiByZXN1bHQ7Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIFN0 -cmluZyBnZXRBdmVyYWdlUmF0aW5nKFN0cmluZyBpc2JuKSB7CgkvLyBnZXQgcmF0aW5ncwoJamF2 -YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiBybCA9IGdldFJhdGluZ3MoaXNibik7CglmbG9h -dCBzY29yZUYgPSAwOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBu -cjsgaSsrKSB7CgkJQm9va1JhdGluZ0VudHJ5IGUgPSAoQm9va1JhdGluZ0VudHJ5KXJsLmdldChp -KTsKCQlzY29yZUYgPSBzY29yZUYgKyAoZmxvYXQpZS5nZXRTY29yZSgpOwoJfQoJaWYgKG5yID4g -MCkgewoJCXNjb3JlRiA9IHNjb3JlRi8oZmxvYXQpbnI7Cgl9CgkKCXJldHVybiBTdHJpbmcudmFs -dWVPZihzY29yZUYpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgZ2V0TnVtYmVyT2ZW -b3RlcyhTdHJpbmcgaXNibikgewoJLy8gZ2V0IHJhdGluZ3MKCWphdmEudXRpbC5MaXN0PEJvb2tS -YXRpbmdFbnRyeT4gcmwgPSBnZXRSYXRpbmdzKGlzYm4pOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJ -CglyZXR1cm4gU3RyaW5nLnZhbHVlT2YobnIpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJp -bmcgdHJpbVVybCAoU3RyaW5nIHVybCkgewoJU3RyaW5nIHJlc3VsdCA9IHVybDsKCXdoaWxlIChy -ZXN1bHQgIT0gbnVsbCAmJiByZXN1bHQubGVuZ3RoKCkgPiAwICYmIHJlc3VsdC5lbmRzV2l0aCgi -LyIpKSB7CgkJcmVzdWx0ID0gcmVzdWx0LnN1YnN0cmluZygwLCByZXN1bHQubGVuZ3RoKCkgLSAx + CnByaXZhdGUgc3RhdGljIGZpbmFsIGNsYXNzIEJvb2tMaXN0RW50cnkgewoKICAgIHByaXZhdGUg +ZmluYWwgU3RyaW5nIGlzYm47CiAgICBwcml2YXRlIGZpbmFsIFN0cmluZyB0aXRsZTsKICAgIHBy +aXZhdGUgZmluYWwgU3RyaW5nIGF1dGhvcjsKICAgIHByaXZhdGUgZmluYWwgU3RyaW5nIHByaWNl +OwogICAgcHJpdmF0ZSBmaW5hbCBTdHJpbmcgZGVzY3JpcHRpb247CgogICAgcHVibGljIEJvb2tM +aXN0RW50cnkoU3RyaW5nIGlzYm4sIFN0cmluZyB0aXRsZSwgU3RyaW5nIGF1dGhvciwgU3RyaW5n +IHByaWNlLCBTdHJpbmcgZGVzY3JpcHRpb24pIHsKICAgICAgICB0aGlzLmlzYm4gPSBpc2JuOwog +ICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTsKICAgICAgICB0aGlzLmF1dGhvciA9IGF1dGhvcjsK +ICAgICAgICB0aGlzLnByaWNlID0gcHJpY2U7CiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRl +c2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0QXV0aG9yKCkgewogICAgICAg +IHJldHVybiBhdXRob3I7CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXRJc2JuKCkgewogICAg +ICAgIHJldHVybiBpc2JuOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0UHJpY2UoKSB7CiAg +ICAgICAgcmV0dXJuIHByaWNlOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0RGVzY3JpcHRp +b24oKSB7CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJp +bmcgZ2V0VGl0bGUoKSB7CiAgICAgICAgcmV0dXJuIHRpdGxlOwogICAgfQp9Cgpwcml2YXRlIHN0 +YXRpYyBmaW5hbCBCb29rTGlzdEVudHJ5W10gYm9va0xpc3QgPSB7CgogICAgICAgIG5ldyBCb29r +TGlzdEVudHJ5KAogICAgICAgICAgICAiOTc4MTU4NDg4MzQ3MCIsCiAgICAgICAgICAgICJDUkMg +Q29uY2lzZSBFbmN5Y2xvcGVkaWEgb2YgTWF0aGVtYXRpY3MiLAogICAgICAgICAgICAiRXJpYyBX +ZWlzc3RlaW4iLAogICAgICAgICAgICAiNTQuOTkiLAogICAgICAgICAgICAiVXBvbiBwdWJsaWNh +dGlvbiwgdGhlIGZpcnN0IGVkaXRpb24gb2YgdGhlIENSQyBDb25jaXNlIEVuY3ljbG9wZWRpYSBv +ZiBNYXRoZW1hdGljcyByZWNlaXZlZCBvdmVyd2hlbG1pbmcgYWNjb2xhZGVzIGZvciBpdHMgdW5w +YXJhbGxlbGVkIHNjb3BlLCByZWFkYWJpbGl0eSwgYW5kIHV0aWxpdHkuIEl0IHNvb24gdG9vayBp +dHMgcGxhY2UgYW1vbmcgdGhlIHRvcCBzZWxsaW5nIGJvb2tzIGluIHRoZSBoaXN0b3J5IG9mIENo +YXBtYW4gJiBIYWxsL0NSQywgYW5kIGl0cyBwb3B1bGFyaXR5IGNvbnRpbnVlcyB1bmFiYXRlZC4g +WWV0IGFsc28gdW5hYmF0ZWQgaGFzIGJlZW4gdGhlIGRlZGljYXRpb24gb2YgYXV0aG9yIEVyaWMg +V2Vpc3N0ZWluIHRvIGNvbGxlY3RpbmcsIGNhdGFsb2dpbmcsIGFuZCByZWZlcmVuY2luZyBtYXRo +ZW1hdGljYWwgZmFjdHMsIGZvcm11bGFzLCBhbmQgZGVmaW5pdGlvbnMuIEhlIGhhcyBub3cgdXBk +YXRlZCBtb3N0IG9mIHRoZSBvcmlnaW5hbCBlbnRyaWVzIGFuZCBleHBhbmRlZCB0aGUgRW5jeWNs +b3BlZGlhIHRvIGluY2x1ZGUgMTAwMCBhZGRpdGlvbmFsIHBhZ2VzIG9mIGlsbHVzdHJhdGVkIGVu +dHJpZXMuVGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIEVuY3ljbG9wZWRpYSBhbG9uZyB3aXRoIGl0 +cyBicm9hZCBjb3ZlcmFnZSBhbmQgZWNvbm9taWNhbCBwcmljZSBtYWtlIGl0IGF0dHJhY3RpdmUg +dG8gdGhlIHdpZGVzdCBwb3NzaWJsZSByYW5nZSBvZiByZWFkZXJzIGFuZCBjZXJ0YWlubHkgYSBt +dXN0IGZvciBsaWJyYXJpZXMsIGZyb20gdGhlIHNlY29uZGFyeSB0byB0aGUgcHJvZmVzc2lvbmFs +IGFuZCByZXNlYXJjaCBsZXZlbHMuIEZvciBtYXRoZW1hdGljYWwgZGVmaW5pdGlvbnMsIGZvcm11 +bGFzLCBmaWd1cmVzLCB0YWJ1bGF0aW9ucywgYW5kIHJlZmVyZW5jZXMsIHRoaXMgaXMgc2ltcGx5 +IHRoZSBtb3N0IGltcHJlc3NpdmUgY29tcGVuZGl1bSBhdmFpbGFibGUuIgogICAgICAgICksCgkJ +CiAgICAgICAgbmV3IEJvb2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwNjkxMTM4NzE4IiwK +ICAgICAgICAgICAgIkZlYXJsZXNzIHN5bW1ldHJ5IiwKICAgICAgICAgICAgIkF2bmVyIEFzaCAm +IFJvYmVydCBHcm9zcyIsCiAgICAgICAgICAgICIxMi44OSIsCiAgICAgICAgICAgICJNYXRoZW1h +dGljaWFucyBzb2x2ZSBlcXVhdGlvbnMsIG9yIHRyeSB0by4gQnV0IHNvbWV0aW1lcyB0aGUgc29s +dXRpb25zIGFyZSBub3QgYXMgaW50ZXJlc3RpbmcgYXMgdGhlIGJlYXV0aWZ1bCBzeW1tZXRyaWMg +cGF0dGVybnMgdGhhdCBsZWFkIHRvIHRoZW0uIFdyaXR0ZW4gaW4gYSBmcmllbmRseSBzdHlsZSBm +b3IgYSBnZW5lcmFsIGF1ZGllbmNlLCBGZWFybGVzcyBTeW1tZXRyeSBpcyB0aGUgZmlyc3QgcG9w +dWxhciBtYXRoIGJvb2sgdG8gZGlzY3VzcyB0aGVzZSBlbGVnYW50IGFuZCBteXN0ZXJpb3VzIHBh +dHRlcm5zIGFuZCB0aGUgaW5nZW5pb3VzIHRlY2huaXF1ZXMgbWF0aGVtYXRpY2lhbnMgdXNlIHRv +IHVuY292ZXIgdGhlbS4gSGlkZGVuIHN5bW1ldHJpZXMgd2VyZSBmaXJzdCBkaXNjb3ZlcmVkIG5l +YXJseSB0d28gaHVuZHJlZCB5ZWFycyBhZ28gYnkgRnJlbmNoIG1hdGhlbWF0aWNpYW4gRXZhcmlz +dGUgR2Fsb2lzLiBUaGV5IGhhdmUgYmVlbiB1c2VkIGV4dGVuc2l2ZWx5IGluIHRoZSBvbGRlc3Qg +YW5kIGxhcmdlc3QgYnJhbmNoIG9mIG1hdGhlbWF0aWNzLS1udW1iZXIgdGhlb3J5LS1mb3Igc3Vj +aCBkaXZlcnNlIGFwcGxpY2F0aW9ucyBhcyBhY291c3RpY3MsIHJhZGFyLCBhbmQgY29kZXMgYW5k +IGNpcGhlcnMuIFRoZXkgaGF2ZSBhbHNvIGJlZW4gZW1wbG95ZWQgaW4gdGhlIHN0dWR5IG9mIEZp +Ym9uYWNjaSBudW1iZXJzIGFuZCB0byBhdHRhY2sgd2VsbC1rbm93biBwcm9ibGVtcyBzdWNoIGFz +IEZlcm1hdCdzIExhc3QgVGhlb3JlbSwgUHl0aGFnb3JlYW4gVHJpcGxlcywgYW5kIHRoZSBldmVy +LWVsdXNpdmUgUmllbWFubiBIeXBvdGhlc2lzLiBNYXRoZW1hdGljaWFucyBhcmUgc3RpbGwgZGV2 +aXNpbmcgdGVjaG5pcXVlcyBmb3IgdGVhc2luZyBvdXQgdGhlc2UgbXlzdGVyaW91cyBwYXR0ZXJu +cywgYW5kIHRoZWlyIHVzZXMgYXJlIGxpbWl0ZWQgb25seSBieSB0aGUgaW1hZ2luYXRpb24uIFRo +ZSBmaXJzdCBwb3B1bGFyIGJvb2sgdG8gYWRkcmVzcyByZXByZXNlbnRhdGlvbiB0aGVvcnkgYW5k +IHJlY2lwcm9jaXR5IGxhd3MsIEZlYXJsZXNzIFN5bW1ldHJ5IGZvY3VzZXMgb24gaG93IG1hdGhl +bWF0aWNpYW5zIHNvbHZlIGVxdWF0aW9ucyBhbmQgcHJvdmUgdGhlb3JlbXMuIEl0IGRpc2N1c3Nl +cyBydWxlcyBvZiBtYXRoIGFuZCB3aHkgdGhleSBhcmUganVzdCBhcyBpbXBvcnRhbnQgYXMgdGhv +c2UgaW4gYW55IGdhbWVzIG9uZSBtaWdodCBwbGF5LiBUaGUgYm9vayBzdGFydHMgd2l0aCBiYXNp +YyBwcm9wZXJ0aWVzIG9mIGludGVnZXJzIGFuZCBwZXJtdXRhdGlvbnMgYW5kIHJlYWNoZXMgY3Vy +cmVudCByZXNlYXJjaCBpbiBudW1iZXIgdGhlb3J5LiBBbG9uZyB0aGUgd2F5LCBpdCB0YWtlcyBk +ZWxpZ2h0ZnVsIGhpc3RvcmljYWwgYW5kIHBoaWxvc29waGljYWwgZGlncmVzc2lvbnMuIFJlcXVp +cmVkIHJlYWRpbmcgZm9yIGFsbCBtYXRoIGJ1ZmZzLCB0aGUgYm9vayB3aWxsIGFwcGVhbCB0byBh +bnlvbmUgY3VyaW91cyBhYm91dCBwb3B1bGFyIG1hdGhlbWF0aWNzIGFuZCBpdHMgbXlyaWFkIGNv +bnRyaWJ1dGlvbnMgdG8gZXZlcnlkYXkgbGlmZS4iCiAgICAgICAgKSwKCiAgICAgICAgbmV3IEJv +b2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwODEyOTc5MTgzIiwKICAgICAgICAgICAgIlRo +ZSBCbGFjayBTd2FuIiwKICAgICAgICAgICAgIk5hc3NpbSBOaWNob2xhcyBUYWxlYiIsCiAgICAg +ICAgICAgICIxNy4yOCIsCiAgICAgICAgICAgICJJbiBidXNpbmVzcyBhbmQgZ292ZXJubWVudCwg +bWFqb3IgbW9uZXkgaXMgc3BlbnQgb24gcHJlZGljdGlvbi4gVXNlbGVzc2x5LCBhY2NvcmRpbmcg +dG8gVGFsZWIsIHdobyBhZG1pbmlzdGVycyBhIHNldmVyZSB0aHJhc2hpbmcgdG8gTUJBLSBhbmQg +Tm9iZWwgUHJpemUtY3JlZGVudGlhbGVkIGV4cGVydHMgd2hvIG1ha2UgdGhlaXIgbGl2aW5nIGZy +b20gZWNvbm9taWMgZm9yZWNhc3RpbmcuIEEgZmluYW5jaWFsIHRyYWRlciBhbmQgY3VycmVudCBy +ZWJlbCB3aXRoIGEgY2F1c2UsIFRhbGViIGlzIG1hdGhlbWF0aWNhbGx5IG9yaWVudGVkIGFuZCBh +bGx1ZGVzIHRvIHN0YXRpc3RpY2FsIGNvbmNlcHRzIHRoYXQgdW5kZXJsaWUgbW9kZWxzIG9mIHBy +ZWRpY3Rpb24sIHdoaWxlIGhpcyBleHByZXNzaXZlIGVuZXJneSBpcyBleHBlbmRlZCBvbiByb2xs +ZXItY29hc3RlciBwYXNzYWdlcywgYm9yZGVyaW5nIG9uIGdsZWVmdWwgZGlhdHJpYmVzLCBvbiB3 +aHkgZXhwZXJ0cyBhcmUgd3JvbmcuIFRoZXkgbmVnbGVjdCBUYWxlYidzIG1ldGFwaG9yIG9mICd0 +aGUgYmxhY2sgc3dhbicsIHdob3NlIGRpc2NvdmVyeSBpbnZhbGlkYXRlZCB0aGUgdGhlb3J5IHRo +YXQgYWxsIHN3YW5zIGFyZSB3aGl0ZS4gVGFsZWIgcmlkZXMgdGhpcyBtYW5pZmVzdGF0aW9uIG9m +IHRoZSB1bnByZWRpY3RlZCBldmVudCBpbnRvIGEgcmFuZ2Ugb2YgcGhlbm9tZW5hLCBzdWNoIGFz +IHdoeSBhIGJvb2sgYmVjb21lcyBhIGJlc3Qtc2VsbGVyIG9yIGhvdyBhbiBlbnRyZXByZW5ldXIg +YmVjb21lcyBhIGJpbGxpb25haXJlLCB0YWtpbmcgcGl0IHN0b3BzIHdpdGggcGhpbG9zb3BoZXJz +IHdobyBoYXZlIGFkZHJlc3NlZCB0aGUgbWVhbmluZyBvZiB0aGUgdW5leHBlY3RlZCBhbmQgY29u +Zm91bmRpbmcuIFRhbGViIHByb2plY3RzIGEgc3Ryb25nIHByZXNlbmNlIGhlcmUgdGhhdCB3aWxs +IHRlbXB0IG91dHNpZGUtdGhlLWJveCB0aGlua2VycyBpbnRvIGdpdmluZyBoaW0gYSBsb29rLiIK +ICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAgICAgIjk3ODA1 +MjU5NTA2MjIiLAogICAgICAgICAgICAiVGhlIFNjaWVuY2Ugb2YgRmVhciIsCiAgICAgICAgICAg +ICJEYW5pZWwgR2FyZGVuZXIiLAogICAgICAgICAgICAiMTYuNDciLAogICAgICAgICAgICAiR2Fy +ZG5lciwgYSBjb2x1bW5pc3QgYW5kIHNlbmlvciB3cml0ZXIgZm9yIHRoZSBPdHRhd2EgQ2l0aXpl +biwgaXMgYm90aCBtYXR0ZXItb2YtZmFjdCBhbmQgZW50ZXJ0YWluaW5nIGluIHRoaXMgbG9vayBh +dCBmZWFyIGFuZCBob3cgaXQgc2hhcGVzIG91ciBsaXZlcy4gQWx0aG91Z2ggd2UgYXJlIGNhcGFi +bGUgb2YgcmVhc29uLCBzYXlzIEdhcmRuZXIsIHdlIG9mdGVuIHJlbHkgaW5zdGVhZCBvbiBpbnR1 +aXRpdmUgc25hcCBqdWRnbWVudHMuIFdlIGFsc28gYXNzdW1lIGluc3RpbmN0aXZlbHksIGJ1dCBp +bmNvcnJlY3RseSwgdGhhdCBbaV1mIGV4YW1wbGVzIG9mIHNvbWV0aGluZyBjYW4gYmUgcmVjYWxs +ZWQgZWFzaWx5LCB0aGF0IHRoaW5nIG11c3QgYmUgY29tbW9uLiBBbmQgd2hhdCBpcyBtb3JlIG1l +bW9yYWJsZSB0aGFuIGhlYWRsaW5lcyBhbmQgbmV3cyBwcm9ncmFtcyBibGFyaW5nIGhvcnJpYmxl +IGNyaW1lcyBhbmQgZGlzZWFzZXMsIHBsYW5lIGNyYXNoZXMgYW5kIHRlcnJvcmlzdCBhdHRhY2tz +PyBJbiBmYWN0LCBzdWNoIGV2ZW50cyBhcmUgcmFyZSwgYnV0IHRoZWlyIG1lZGlhIG9tbmlwcmVz +ZW5jZSBhY3RpdmF0ZXMgYSBndXQtbGV2ZWwgZmVhciByZXNwb25zZSB0aGF0IGlzIG91dCBvZiBw +cm9wb3J0aW9uIHRvIHRoZSBsaWtlbGlob29kIG9mIG91ciBnb2luZyB0aHJvdWdoIHN1Y2ggYW4g +ZXZlbnQuIEl0IGRvZXNuJ3QgaGVscCB0aGF0IHNjaWVudGlmaWMgZGF0YSBhbmQgc3RhdGlzdGlj +cyBhcmUgb2Z0ZW4gbWlzdW5kZXJzdG9vZCBhbmQgbWlzdXNlZCBhbmQgdGhhdCBvdXIgcmlzayBh +c3Nlc3NtZW50IGlzIGluZmx1ZW5jZWQgbGVzcyBieSB0aGUgZmFjdHMgdGhhbiBieSBob3cgb3Ro +ZXJzIHJlc3BvbmQuIEdhcmRuZXIncyB2aXZpZCwgZGlyZWN0IHN0eWxlLCBiYWNrZWQgdXAgYnkg +Y2xlYXIgZXhhbXBsZXMgYW5kIHNvbGlkIGRhdGEgZnJvbSBzY2llbmNlIGFuZCBwc3ljaG9sb2d5 +LCBicmluZ3MgYSBicmVhdGggb2YgZnJlc2ggYWlyIGFuZCBjb21tb24gc2Vuc2UgdG8gYW4gZW1v +dGlvbmFsIHRvcGljLiIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAg +ICAgICAgICAgIjk3ODM0OTIwNTExMDEiLAogICAgICAgICAgICAiRGllIFJpZW1hbm5zY2hlIFZl +cm11dHVuZyIsCiAgICAgICAgICAgICJBdGxlIE5hZXNzIiwKICAgICAgICAgICAgIjkuOTAiLAog +ICAgICAgICAgICAiQXVmIGRpZSBlaW5lIG9kZXIgYW5kZXJlIFdlaXNlIHfDvHJkZSBkaWUgU2Fj +aGUgZmVobHNjaGxhZ2VuLiBEYXMgaGF0dGUgVGVyamUgSHV1c2UsIHZvbiBIYXVzIGF1cyBNYXRo +ZW1hdGlrZXIsIHZvbiBBbmZhbmcgYW4gZ2VhaG50LiBOdXIgd2VuIGRhcyBVbmdsw7xjayBhbSBo +w6RydGVzdGVuIHRyZWZmZW4gd8O8cmRlLCBzY2hpZW4gZGFtYWxzIG5vY2ggb2ZmZW4uIFRlcmpl +IGhhdHRlIGVzIHNpY2ggaW4gZGVuIEtvcGYgZ2VzZXR6dCwgZGllIEJpb2dyYWZpZSBzZWluZXMg +Z3Jvw59lbiBWb3JiaWxkcyBCZXJuaGFyZCBSaWVtYW5uIHp1IHZlcmZhc3NlbiB1bmQgZW5kbGlj +aCBkYXMgQWJlbnRldWVyIHZvbiBkZXIgU3VjaGUgbmFjaCBlaW5lciBSZWdlbG3DpMOfaWdrZWl0 +IGJlaSBkZW4gUHJpbXphaGxlbiB6dSBiZXNjaHJlaWJlbi4gQWJlciBkaWUgQXJiZWl0IHdhciBp +bnMgU3RvY2tlbiBnZXJhdGVuLCBzbyBlaW5mYWNoIHdhciBkYXMgYWxsZXMgbmljaHQuIE51ciBt +aXQgc2VpbmVyIEJla2FubnRlbiBJbmd2aWxkIGtvbm50ZSBzaWNoIGRlciB2ZXJoZWlyYXRldGUg +VGVyamUgZGHCrXLDvGJlciB1bnRlcmhhbHRlbi4gRGllIFNhY2hlIG1pdCBpaHIgZ2xpdHQgaWht +IHNjaG5lbGwgYXVzIGRlciBIYW5kLCB1bnJldHRiYXIgZ2VyaWV0IGVyIGluIGRlbiBTb2cgZGll +c2VyIEJlemllaHVuZy4gQmlzIFRlcmplIHBsw7Z0emxpY2ggdmVyc2Nod2luZGV0IC0gdW5kIHNl +aW5lIFRvY2h0ZXIgZWluZSBtZXJrd8O8cmRpZ2UgRGF0ZWkgYXVmIHNlaW5lbSBDb21wdXRlciBl +bnRkZWNrdCIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAg +ICAgIjk3ODE1ODQ4ODUwODUiLAogICAgICAgICAgICAiQ3J5cHRvZ3JhcGh5IiwKICAgICAgICAg +ICAgIkRvdWdsYXMgUi4gU3RpbnNvbiIsCiAgICAgICAgICAgICI1MS42OSIsCiAgICAgICAgICAg +ICJEb3VnbGFzIFIuIFN0aW5zb24ncyBDcnlwdG9ncmFwaHk6IFRoZW9yeSBhbmQgUHJhY3RpY2Ug +aXMgYSBtYXRoZW1hdGljYWxseSBpbnRlbnNpdmUgZXhhbWluYXRpb24gb2YgY3J5cHRvZ3JhcGh5 +LCBpbmNsdWRpbmcgY2lwaGVycywgdGhlIERhdGEgRW5jcnlwdGlvbiBTdGFuZGFyZCAoREVTKSwg +cHVibGljIGtleSBjcnlwdG9ncmFwaHksIG9uZS13YXkgaGFzaCBmdW5jdGlvbnMsIGFuZCBkaWdp +dGFsIHNpZ25hdHVyZXMuIFN0aW5zb24ncyBleHBsaWNhdGlvbiBvZiAnemVyby1zdW0gcHJvb2Zz +JyAtLSBhIHByb2Nlc3MgYnkgd2hpY2ggb25lIHBlcnNvbiBsZXRzIGFub3RoZXIgcGVyc29uIGtu +b3cgdGhhdCBoZSBvciBzaGUgaGFzIGEgcGFzc3dvcmQgd2l0aG91dCBhY3R1YWxseSByZXZlYWxp +bmcgYW55IGluZm9ybWF0aW9uLS1pcyBlc3BlY2lhbGx5IGdvb2QuIElmIHlvdSBhcmUgbmV3IHRv +IHRoZSBtYXRoIGJlaGluZCBjcnlwdG9ncmFwaHkgYnV0IHdhbnQgdG8gdGFja2xlIGl0LCB0aGUg +YXV0aG9yIGNvdmVycyBhbGwgb2YgdGhlIHJlcXVpcmVkIGJhY2tncm91bmQgdG8gdW5kZXJzdGFu +ZCB0aGUgcmVhbCBtYXRoZW1hdGljcyBoZXJlLiBDcnlwdG9ncmFwaHkgaW5jbHVkZXMgZXh0ZW5z +aXZlIGV4ZXJjaXNlcyB3aXRoIGVhY2ggY2hhcHRlciBhbmQgbWFrZXMgYW4gaWRlYWwgaW50cm9k +dWN0aW9uIGZvciBhbnkgbWF0aC1saXRlcmF0ZSBwZXJzb24gd2lsbGluZyB0byBnZXQgYWNxdWFp +bnRlZCB3aXRoIHRoaXMgbWF0ZXJpYWwuIgogICAgICAgICkKfTsKCnByaXZhdGUgc3RhdGljIGZp +bmFsIGNsYXNzIEJvb2tSYXRpbmdFbnRyeSB7CgkKCXByaXZhdGUgZmluYWwgU3RyaW5nIGlzYm47 +Cglwcml2YXRlIGZpbmFsIGludCBzY29yZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIGNvbW1lbnQ7 +Cglwcml2YXRlIGZpbmFsIFN0cmluZyBkYXRldGltZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIHVz +ZXI7CgkKCXB1YmxpYyBCb29rUmF0aW5nRW50cnkoU3RyaW5nIGlzYm4sIGludCBzY29yZSwgU3Ry +aW5nIGNvbW1lbnQsIFN0cmluZyBkYXRldGltZSwgU3RyaW5nIHVzZXIpIHsKCQl0aGlzLmlzYm4g +PSBpc2JuOwoJCXRoaXMuc2NvcmUgPSBzY29yZTsKCQl0aGlzLmNvbW1lbnQgPSBjb21tZW50OwoJ +CXRoaXMuZGF0ZXRpbWUgPSBkYXRldGltZTsKCQl0aGlzLnVzZXIgPSB1c2VyOwoJfQoJCglwdWJs +aWMgQm9va1JhdGluZ0VudHJ5KFN0cmluZyBpc2JuLCBpbnQgc2NvcmUsIFN0cmluZyBjb21tZW50 +LCBqYXZhLnV0aWwuRGF0ZSBkYXRldGltZUQsIFN0cmluZyB1c2VyKSB7CgkJdGhpcy5pc2JuID0g +aXNibjsKCQl0aGlzLnNjb3JlID0gc2NvcmU7CgkJdGhpcy5jb21tZW50ID0gY29tbWVudDsKCQl0 +aGlzLmRhdGV0aW1lID0gZGF0ZUZvcm1hdC5mb3JtYXQoZGF0ZXRpbWVEKTsKCQl0aGlzLnVzZXIg +PSB1c2VyOwoJfQoJCglwdWJsaWMgU3RyaW5nIGdldElzYm4oKSB7CgkJcmV0dXJuIGlzYm47Cgl9 +CgoJcHVibGljIGludCBnZXRTY29yZSgpIHsKCQlyZXR1cm4gc2NvcmU7Cgl9CgkKCXB1YmxpYyBT +dHJpbmcgZ2V0Q29tbWVudCgpIHsKCQlyZXR1cm4gY29tbWVudDsKCX0KCQoJcHVibGljIFN0cmlu +ZyBnZXREYXRldGltZSgpIHsKCQlyZXR1cm4gZGF0ZXRpbWU7Cgl9CglwdWJsaWMgU3RyaW5nIGdl +dFVzZXIoKSB7CgkJcmV0dXJuIHVzZXI7Cgl9Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIGphdmEu +dGV4dC5TaW1wbGVEYXRlRm9ybWF0IGRhdGVGb3JtYXQgPSBuZXcgamF2YS50ZXh0LlNpbXBsZURh +dGVGb3JtYXQoInl5eXkuTU0uZGQtSEg6bW06c3MiKTsKCnByaXZhdGUgc3RhdGljIGZpbmFsIGph +dmEudXRpbC5NYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4gYm9va1JhdGluZ0xpc3QgPSBuZXcg +amF2YS51dGlsLkhhc2hNYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4oKTsKCnByaXZhdGUgc3Rh +dGljIGZpbmFsIGphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gZ2V0UmF0aW5ncyhTdHJp +bmcgaXNibikgewoJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0gKGph +dmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4pYm9va1JhdGluZ0xpc3QuZ2V0KGlzYm4pOwoJ +aWYgKHJhdGluZ3MgPT0gbnVsbCkgewoJCXJhdGluZ3MgPSBuZXcgamF2YS51dGlsLkFycmF5TGlz +dDxCb29rUmF0aW5nRW50cnk+KCk7CgkJYm9va1JhdGluZ0xpc3QucHV0KGlzYm4sIHJhdGluZ3Mp +OwoJfQoJcmV0dXJuIHJhdGluZ3M7Cn0KCnN0YXRpYyB7Cgl0cnkgewoJCVN0cmluZyBpc2JuOwoJ +CWphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gcmF0aW5nczsKCQkKCQlpc2JuID0gIjk3 +ODE1ODQ4ODM0NzAiOwoJCXJhdGluZ3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRk +KG5ldyBCb29rUmF0aW5nRW50cnkoaXNibiwgNCwgIlZlcnkgZ29vZCBmb3IgYmVnaW5uZXJzLiIs +IG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiQW5uIikpOwkKCQlyYXRpbmdzLmFkZChuZXcgQm9va1Jh +dGluZ0VudHJ5KGlzYm4sIDMsICJOb3QgYmFkIGJ1dCBvdmVycHJpemVkLiIsIG5ldyBqYXZhLnV0 +aWwuRGF0ZSgpLCAiQmlsbCIpKTsKCQkKCQlpc2JuID0gIjk3ODA2OTExMzg3MTgiOwoJCXJhdGlu +Z3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnko +aXNibiwgMywgIldlbGwgLi4uIGdpdmVzIGEgZ29vZCBvdmVydmlldy4iLCBuZXcgamF2YS51dGls +LkRhdGUoKSwgIkNhcmwiKSk7CQoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnkoaXNi +biwgMSwgIk5vdCB3b3J0aCB0aGUgbW9uZXkuIiwgbmV3IGphdmEudXRpbC5EYXRlKCksICJEdXN0 +aW4iKSk7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCAyLCAiSSBhZ3Jl +ZSB3aXRoIENhcmwgLi4uIGJ1dCB0b28gZXhwZW5zaXZlLiIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgp +LCAiRXZlIikpOwoJCQoJCWlzYm4gPSAiOTc4MDgxMjk3OTE4MyI7CgkJcmF0aW5ncyA9IGdldFJh +dGluZ3MoaXNibik7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCA1LCAi +RXhjZWxsZW50ISIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiRnJlZCIpKTsJCgl9IGNhdGNoIChF +eGNlcHRpb24gZSkgewoJCWUucHJpbnRTdGFja1RyYWNlKCk7Cgl9CQp9CgkKcHJpdmF0ZSBzdGF0 +aWMgZmluYWwgamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4gZ2V0UmVxdWVzdFVSTCgpIHsK +CUlEYXRhIGlucHV0ID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOwoJSURhdGEgCW91dHB1dCA9IElE +YXRhRmFjdG9yeS5jcmVhdGUoKTsKCWphdmEudXRpbC5NYXAgcmVzdWx0ID0gbmV3IGphdmEudXRp +bC5IYXNoTWFwPFN0cmluZywgU3RyaW5nPigpOwoJdHJ5IHsKCQlvdXRwdXQgPSBTZXJ2aWNlLmRv +SW52b2tlKCAicHViLmZsb3ciLCAiZ2V0VHJhbnNwb3J0SW5mbyIsIGlucHV0ICk7Cgl9CgljYXRj +aCggRXhjZXB0aW9uIGUpe30KCQoJSURhdGFDdXJzb3Igb3V0cHV0Q3Vyc29yID0gb3V0cHV0Lmdl +dEN1cnNvcigpOwoKCS8vIHRyYW5zcG9ydAoJSURhdGEJdHJhbnNwb3J0ID0gSURhdGFVdGlsLmdl +dElEYXRhKCBvdXRwdXRDdXJzb3IsICJ0cmFuc3BvcnQiICk7CglpZiAoIHRyYW5zcG9ydCAhPSBu +dWxsKSB7CgkJSURhdGFDdXJzb3IgdHJhbnNwb3J0Q3Vyc29yID0gdHJhbnNwb3J0LmdldEN1cnNv +cigpOwoKCQlJRGF0YQlodHRwID0gSURhdGFVdGlsLmdldElEYXRhKCB0cmFuc3BvcnRDdXJzb3Is +ICJodHRwIiApOwoJCWlmICggaHR0cCAhPSBudWxsKSB7CgkJCUlEYXRhQ3Vyc29yIGh0dHBDdXJz +b3IgPSBodHRwLmdldEN1cnNvcigpOwoJCQlTdHJpbmcgcmVxdWVzdFVybCA9IElEYXRhVXRpbC5n +ZXRTdHJpbmcoIGh0dHBDdXJzb3IsICJyZXF1ZXN0VXJsIiApOwoJCQkKCQkJSURhdGEJcmVxdWVz +dEhkcnMgPSBJRGF0YVV0aWwuZ2V0SURhdGEoIGh0dHBDdXJzb3IsICJyZXF1ZXN0SGRycyIgKTsK +CQkJaWYgKCByZXF1ZXN0SGRycyAhPSBudWxsKSB7CgkJCQlJRGF0YUN1cnNvciByZXF1ZXN0SGRy +c0N1cnNvciA9IHJlcXVlc3RIZHJzLmdldEN1cnNvcigpOwoJCQkJU3RyaW5nCWhvc3QgPSBJRGF0 +YVV0aWwuZ2V0U3RyaW5nKCByZXF1ZXN0SGRyc0N1cnNvciwgIkhvc3QiICk7CgkJCQlpZiAoaG9z +dCAhPSBudWxsICYmIGhvc3QubGVuZ3RoKCkgPiAwKSB7CgkJCQkJcmVzdWx0LnB1dCgiaG9zdCIs +IGhvc3QpOwoJCQkJfQoJCQkJcmVxdWVzdEhkcnNDdXJzb3IuZGVzdHJveSgpOwoJCQl9CgkJCQoJ +CQlyZXN1bHQucHV0KCJ1cmwiLCB0cmltVXJsKHJlcXVlc3RVcmwpKTsKCQkJaHR0cEN1cnNvci5k +ZXN0cm95KCk7CgkJfQkKCQl0cmFuc3BvcnRDdXJzb3IuZGVzdHJveSgpOwoJfQoJb3V0cHV0Q3Vy +c29yLmRlc3Ryb3koKTsKCXJldHVybiByZXN1bHQ7Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIFN0 +cmluZyBnZXRBdmVyYWdlUmF0aW5nKFN0cmluZyBpc2JuKSB7CgkvLyBnZXQgcmF0aW5ncwoJamF2 +YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiBybCA9IGdldFJhdGluZ3MoaXNibik7CglmbG9h +dCBzY29yZUYgPSAwOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBu +cjsgaSsrKSB7CgkJQm9va1JhdGluZ0VudHJ5IGUgPSAoQm9va1JhdGluZ0VudHJ5KXJsLmdldChp +KTsKCQlzY29yZUYgPSBzY29yZUYgKyAoZmxvYXQpZS5nZXRTY29yZSgpOwoJfQoJaWYgKG5yID4g +MCkgewoJCXNjb3JlRiA9IHNjb3JlRi8oZmxvYXQpbnI7Cgl9CgkKCXJldHVybiBTdHJpbmcudmFs +dWVPZihzY29yZUYpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgZ2V0TnVtYmVyT2ZW +b3RlcyhTdHJpbmcgaXNibikgewoJLy8gZ2V0IHJhdGluZ3MKCWphdmEudXRpbC5MaXN0PEJvb2tS +YXRpbmdFbnRyeT4gcmwgPSBnZXRSYXRpbmdzKGlzYm4pOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJ +CglyZXR1cm4gU3RyaW5nLnZhbHVlT2YobnIpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJp +bmcgdHJpbVVybCAoU3RyaW5nIHVybCkgewoJU3RyaW5nIHJlc3VsdCA9IHVybDsKCXdoaWxlIChy +ZXN1bHQgIT0gbnVsbCAmJiByZXN1bHQubGVuZ3RoKCkgPiAwICYmIHJlc3VsdC5lbmRzV2l0aCgi +LyIpKSB7CgkJcmVzdWx0ID0gcmVzdWx0LnN1YnN0cmluZygwLCByZXN1bHQubGVuZ3RoKCkgLSAx KTsKCX0KCXJldHVybiByZXN1bHQ7Cn0= diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780525950622.png b/assets/IS/Packages/Bookstore/pub/images/covers/9780525950622.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780525950622.png rename to assets/IS/Packages/Bookstore/pub/images/covers/9780525950622.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780691138718.png b/assets/IS/Packages/Bookstore/pub/images/covers/9780691138718.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780691138718.png rename to assets/IS/Packages/Bookstore/pub/images/covers/9780691138718.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780812979183.png b/assets/IS/Packages/Bookstore/pub/images/covers/9780812979183.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9780812979183.png rename to assets/IS/Packages/Bookstore/pub/images/covers/9780812979183.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584883470.png b/assets/IS/Packages/Bookstore/pub/images/covers/9781584883470.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584883470.png rename to assets/IS/Packages/Bookstore/pub/images/covers/9781584883470.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584885085.png b/assets/IS/Packages/Bookstore/pub/images/covers/9781584885085.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9781584885085.png rename to assets/IS/Packages/Bookstore/pub/images/covers/9781584885085.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9783492051101.png b/assets/IS/Packages/Bookstore/pub/images/covers/9783492051101.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/covers/9783492051101.png rename to assets/IS/Packages/Bookstore/pub/images/covers/9783492051101.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780525950622.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9780525950622.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780525950622.png rename to assets/IS/Packages/Bookstore/pub/images/thumbnails/9780525950622.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780691138718.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9780691138718.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780691138718.png rename to assets/IS/Packages/Bookstore/pub/images/thumbnails/9780691138718.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780812979183.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9780812979183.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9780812979183.png rename to assets/IS/Packages/Bookstore/pub/images/thumbnails/9780812979183.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9781584883470.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9781584883470.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9781584883470.png rename to assets/IS/Packages/Bookstore/pub/images/thumbnails/9781584883470.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9781584885085.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9781584885085.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9781584885085.png rename to assets/IS/Packages/Bookstore/pub/images/thumbnails/9781584885085.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9783492051101.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9783492051101.png similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/images/thumbnails/9783492051101.png rename to assets/IS/Packages/Bookstore/pub/images/thumbnails/9783492051101.png diff --git a/assets/IS/Packages/Bookstore/Bookstore/pub/index.html b/assets/IS/Packages/Bookstore/pub/index.html similarity index 100% rename from assets/IS/Packages/Bookstore/Bookstore/pub/index.html rename to assets/IS/Packages/Bookstore/pub/index.html From 40be6ad1a18081dc34f15c826309e657a255d62b Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Fri, 17 Aug 2018 19:51:41 +1000 Subject: [PATCH 007/134] use ci-is image --- Jenkinsfile | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..2d5b8f86e --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,56 @@ +podTemplate( + label: 'mypod', + inheritFrom: 'default', + containers: [ + containerTemplate( + name: 'docker', + image: 'docker:18.02', + ttyEnabled: true, + command: 'cat' + ), + containerTemplate( + name: 'ci-is', + image: 'docker.devopsinitiative.com/softwareag/ci-is:10.2-jenkins', + ttyEnabled: true, + command: '/opt/softwareag/entrypoint.sh' + ) + + ], + envVars: [ + secretEnvVar(key: 'DOCKER_USR', secretName: 'docker-store-cred', secretKey: 'username'), + secretEnvVar(key: 'DOCKER_PSW', secretName: 'docker-store-cred', secretKey: 'password'), + secretEnvVar(key: 'NEXUS_USR', secretName: 'docker-nexus-cred', secretKey: 'username'), + secretEnvVar(key: 'NEXUS_PSW', secretName: 'docker-nexus-cred', secretKey: 'password') + ], + volumes: [ + hostPathVolume( + hostPath: '/var/run/docker.sock', + mountPath: '/var/run/docker.sock' + ) + ] +) { + node('mypod') { + def commitId + stage ('Extract') { + checkout scm + commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() + } + def repository + stage('Build'){ + container('ci-is') { + sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" + } + } + stage('Deploy') { + container('ci-is') { + sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" + } + } + stage('Test') { + container('ci-is') { + sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" + junit 'report/' + } + } + } +} From 23ff9e59864bd0ca5a0e737ad1d407b074aadb6c Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sat, 18 Aug 2018 14:02:15 +1000 Subject: [PATCH 008/134] add image pull secret --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2d5b8f86e..19e8a2fc1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,7 +27,8 @@ podTemplate( hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock' ) - ] + ], + imagePullSecrets: [ 'regcred' ], ) { node('mypod') { def commitId From 8471194b9e1209b59de61dd91a0f505e16718f93 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 20 Aug 2018 13:38:14 +1000 Subject: [PATCH 009/134] wait for is to be ready before starting build --- Jenkinsfile | 1 + wait_for_is.sh | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 wait_for_is.sh diff --git a/Jenkinsfile b/Jenkinsfile index 19e8a2fc1..881b4abb9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,6 +39,7 @@ podTemplate( def repository stage('Build'){ container('ci-is') { + sh "/bin/bash ./wait_for_is.sh" sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" } } diff --git a/wait_for_is.sh b/wait_for_is.sh new file mode 100644 index 000000000..400ecb163 --- /dev/null +++ b/wait_for_is.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# + +logfile=/opt/softwareag/IntegrationServer/instances/default/logs/server.log +echo "Waiting for the Integration Server log file" +while [ ! -f $logfile ] +do + echo -n "." + sleep 5 +done +echo; echo "Waiting for Integration Server to become ONLINE" +while [ -z "`grep 5555 $logfile`" ] +do + echo -n "." + sleep 5 +done +echo; echo "Integration Server is ONLINE" From 1c14391168d82210d9e2c526cdd049ff3251c920 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 20 Aug 2018 14:28:15 +1000 Subject: [PATCH 010/134] include paths --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 881b4abb9..a8f54fb70 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,17 +40,17 @@ podTemplate( stage('Build'){ container('ci-is') { sh "/bin/bash ./wait_for_is.sh" - sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" + sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} build" } } stage('Deploy') { container('ci-is') { - sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" + sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} deploy" } } stage('Test') { container('ci-is') { - sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" + sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} test" junit 'report/' } } From 9944576ed1f2fb636c3385880f726d2ada936370 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 09:56:35 +1000 Subject: [PATCH 011/134] make pull IS image always (will remove when stable) --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index a8f54fb70..9686a7db1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,6 +11,7 @@ podTemplate( containerTemplate( name: 'ci-is', image: 'docker.devopsinitiative.com/softwareag/ci-is:10.2-jenkins', + alwaysPullImage: true, ttyEnabled: true, command: '/opt/softwareag/entrypoint.sh' ) From 89c741c28f3aaed9bc4daadf8ec1610afd3b2e29 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 10:02:01 +1000 Subject: [PATCH 012/134] changed version of ci-is --- Jenkinsfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9686a7db1..b1253e8dd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,8 +10,7 @@ podTemplate( ), containerTemplate( name: 'ci-is', - image: 'docker.devopsinitiative.com/softwareag/ci-is:10.2-jenkins', - alwaysPullImage: true, + image: 'docker.devopsinitiative.com/softwareag/ci-is:10.3-jenkins', ttyEnabled: true, command: '/opt/softwareag/entrypoint.sh' ) From 3268f0eeadf3de9b217e4d677be2143b1b266b4f Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 10:12:08 +1000 Subject: [PATCH 013/134] changed version of ci-is --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b1253e8dd..9686a7db1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,7 +10,8 @@ podTemplate( ), containerTemplate( name: 'ci-is', - image: 'docker.devopsinitiative.com/softwareag/ci-is:10.3-jenkins', + image: 'docker.devopsinitiative.com/softwareag/ci-is:10.2-jenkins', + alwaysPullImage: true, ttyEnabled: true, command: '/opt/softwareag/entrypoint.sh' ) From 85fe7bf6f078876f2af4d33e543b330cd2bb565e Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 10:41:00 +1000 Subject: [PATCH 014/134] change tag of image --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9686a7db1..1b2873d21 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,7 +10,7 @@ podTemplate( ), containerTemplate( name: 'ci-is', - image: 'docker.devopsinitiative.com/softwareag/ci-is:10.2-jenkins', + image: 'docker.devopsinitiative.com/softwareag/ci-is:10.3.0.1-sagdevops', alwaysPullImage: true, ttyEnabled: true, command: '/opt/softwareag/entrypoint.sh' From bf0fcdef66913e0553463aa1fe61d308341a6770 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:13:50 +1000 Subject: [PATCH 015/134] add stage Image --- Jenkinsfile | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1b2873d21..11800bef4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,12 +17,12 @@ podTemplate( ) ], - envVars: [ - secretEnvVar(key: 'DOCKER_USR', secretName: 'docker-store-cred', secretKey: 'username'), - secretEnvVar(key: 'DOCKER_PSW', secretName: 'docker-store-cred', secretKey: 'password'), - secretEnvVar(key: 'NEXUS_USR', secretName: 'docker-nexus-cred', secretKey: 'username'), - secretEnvVar(key: 'NEXUS_PSW', secretName: 'docker-nexus-cred', secretKey: 'password') - ], + envVars: [ + secretEnvVar(key: 'DOCKER_USR', secretName: 'docker-store-cred', secretKey: 'username'), + secretEnvVar(key: 'DOCKER_PSW', secretName: 'docker-store-cred', secretKey: 'password'), + secretEnvVar(key: 'NEXUS_USR', secretName: 'docker-nexus-cred', secretKey: 'username'), + secretEnvVar(key: 'NEXUS_PSW', secretName: 'docker-nexus-cred', secretKey: 'password') + ], volumes: [ hostPathVolume( hostPath: '/var/run/docker.sock', @@ -38,22 +38,27 @@ podTemplate( commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() } def repository - stage('Build'){ + stage('Build'){ container('ci-is') { - sh "/bin/bash ./wait_for_is.sh" + sh "/bin/bash ./wait_for_is.sh" sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} build" - } } + } stage('Deploy') { container('ci-is') { - sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} deploy" - } + sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} deploy" } - stage('Test') { + } + stage('Test') { container('ci-is') { - sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} test" - junit 'report/' + sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} test" + junit 'report/' } - } + } + stage('Image') { + container('docker') { + + } + } } } From e90fd49ebddbd19cf2a19e3e3f3ee9081aad1fd9 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:15:46 +1000 Subject: [PATCH 016/134] add stage Image --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 11800bef4..a8c67714b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -57,7 +57,7 @@ podTemplate( } stage('Image') { container('docker') { - + sh "ls -R" } } } From e5df5a389e26c16d4765e366ea38aa127c051645 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:35:50 +1000 Subject: [PATCH 017/134] build docker image --- Jenkinsfile | 4 ++++ image/Dockerfile | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 image/Dockerfile diff --git a/Jenkinsfile b/Jenkinsfile index a8c67714b..501bad139 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -58,6 +58,10 @@ podTemplate( stage('Image') { container('docker') { sh "ls -R" + sh "cp target/bookstore/build/IS/*.zip image/" + sh "cd image" + sh "for i in *.zip; do base=`echo $i | sed 's/.zip$//'`; md5sum ${base}.zip > ${base}.md5; done" + sh "docker build -t bookstore:1 -f Dockerfile ." } } } diff --git a/image/Dockerfile b/image/Dockerfile new file mode 100644 index 000000000..49c1abe7c --- /dev/null +++ b/image/Dockerfile @@ -0,0 +1,5 @@ +FROM docker.devopsinitiative.com/softwareag/msr:10.3.0.1-sagdevops + +ADD --chown 10000:10000 *.zip /opt/softwareag/IntegrationServer/instances/default/replicate/autodeploy/ + +EXPOSE 5555 9999 8092 8093 8094 From 62995bc67b4bec730cb87cf9371612c483b20c5e Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:41:15 +1000 Subject: [PATCH 018/134] build docker image --- Jenkinsfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 501bad139..789262a9a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -60,8 +60,9 @@ podTemplate( sh "ls -R" sh "cp target/bookstore/build/IS/*.zip image/" sh "cd image" - sh "for i in *.zip; do base=`echo $i | sed 's/.zip$//'`; md5sum ${base}.zip > ${base}.md5; done" - sh "docker build -t bookstore:1 -f Dockerfile ." + sh "for pkg in *.zip; do basefilename=`echo ${pkg} | sed 's/.zip$//'`; md5sum ${basefilename}.zip > ${basefilename}.md5; done" + sh "docker build -t docker.devopsinitiative.com/bookstore:1 -f Dockerfile ." + sh "docker push docker.devopsinitiative.com/bookstore:1" } } } From 15f1d91f397751f330bdfe1e1f86e201f896cf14 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:42:58 +1000 Subject: [PATCH 019/134] build docker image --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 789262a9a..b15d1bac1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -60,7 +60,7 @@ podTemplate( sh "ls -R" sh "cp target/bookstore/build/IS/*.zip image/" sh "cd image" - sh "for pkg in *.zip; do basefilename=`echo ${pkg} | sed 's/.zip$//'`; md5sum ${basefilename}.zip > ${basefilename}.md5; done" + sh "for pkg in *.zip; do basefilename=`echo \${pkg} | sed 's/.zip\$//'`; md5sum \${basefilename}.zip > \${basefilename}.md5; done" sh "docker build -t docker.devopsinitiative.com/bookstore:1 -f Dockerfile ." sh "docker push docker.devopsinitiative.com/bookstore:1" } From 4fe6798863e42200ab04306e36a479f3a8962af7 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:47:46 +1000 Subject: [PATCH 020/134] build docker image --- Jenkinsfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b15d1bac1..b2f5c7aed 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -59,9 +59,8 @@ podTemplate( container('docker') { sh "ls -R" sh "cp target/bookstore/build/IS/*.zip image/" - sh "cd image" - sh "for pkg in *.zip; do basefilename=`echo \${pkg} | sed 's/.zip\$//'`; md5sum \${basefilename}.zip > \${basefilename}.md5; done" - sh "docker build -t docker.devopsinitiative.com/bookstore:1 -f Dockerfile ." + sh "cd image; for pkg in *.zip; do basefilename=`echo \${pkg} | sed 's/.zip\$//'`; md5sum \${basefilename}.zip > \${basefilename}.md5; done" + sh "cd image; docker build -t docker.devopsinitiative.com/bookstore:1 -f Dockerfile ." sh "docker push docker.devopsinitiative.com/bookstore:1" } } From c0552388bd2d795e540103331ab496bb64860ca2 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:51:33 +1000 Subject: [PATCH 021/134] fix chown --- image/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/Dockerfile b/image/Dockerfile index 49c1abe7c..0a9ba1594 100644 --- a/image/Dockerfile +++ b/image/Dockerfile @@ -1,5 +1,5 @@ FROM docker.devopsinitiative.com/softwareag/msr:10.3.0.1-sagdevops -ADD --chown 10000:10000 *.zip /opt/softwareag/IntegrationServer/instances/default/replicate/autodeploy/ +ADD --chown=10000:10000 *.zip /opt/softwareag/IntegrationServer/instances/default/replicate/autodeploy/ EXPOSE 5555 9999 8092 8093 8094 From 24fadf98f5e3704b5b580c6e346f5bd1f17de93b Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:52:24 +1000 Subject: [PATCH 022/134] forgot checksums --- image/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/Dockerfile b/image/Dockerfile index 0a9ba1594..f2d5d69b0 100644 --- a/image/Dockerfile +++ b/image/Dockerfile @@ -1,5 +1,5 @@ FROM docker.devopsinitiative.com/softwareag/msr:10.3.0.1-sagdevops -ADD --chown=10000:10000 *.zip /opt/softwareag/IntegrationServer/instances/default/replicate/autodeploy/ +ADD --chown=10000:10000 *.zip *.md5 /opt/softwareag/IntegrationServer/instances/default/replicate/autodeploy/ EXPOSE 5555 9999 8092 8093 8094 From 293e54fa24946b3c167b579147d72ee5a84d6492 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 14:59:33 +1000 Subject: [PATCH 023/134] added login --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b2f5c7aed..e395e077b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -57,7 +57,7 @@ podTemplate( } stage('Image') { container('docker') { - sh "ls -R" + sh "docker login -u ${env.NEXUS_USR} -p ${env.NEXUS_PSW} docker.devopsinitiative.com" sh "cp target/bookstore/build/IS/*.zip image/" sh "cd image; for pkg in *.zip; do basefilename=`echo \${pkg} | sed 's/.zip\$//'`; md5sum \${basefilename}.zip > \${basefilename}.md5; done" sh "cd image; docker build -t docker.devopsinitiative.com/bookstore:1 -f Dockerfile ." From 13bfe6b53c91d12b946f75440f0d211b2188fb9b Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 21 Aug 2018 16:55:25 +1000 Subject: [PATCH 024/134] converted project into deploy project --- Jenkinsfile | 68 - Jenkinsfile.unix | 42 - Jenkinsfile.win | 42 - LICENSE | 201 - README.md | 18 - assets/BPM/.gitignore | 0 assets/IS/Packages/Bookstore/.classpath | 34 - assets/IS/Packages/Bookstore/.project | 23 - .../Bookstore/code/classes/.gitignore | 1 - .../code/source/bookstore/services.java | 484 -- assets/IS/Packages/Bookstore/manifest.bak | 20 - assets/IS/Packages/Bookstore/manifest.v3 | 20 - .../ns/bookstore/books/_get/flow.xml | 5727 ----------------- .../ns/bookstore/books/_get/flow.xml.bak | 4 - .../ns/bookstore/books/_get/node.ndf | 103 - .../ns/bookstore/books/_post/flow.xml | 2305 ------- .../ns/bookstore/books/_post/flow.xml.bak | 4 - .../ns/bookstore/books/_post/node.ndf | 100 - .../Bookstore/ns/bookstore/books/node.idf | 7 - .../ns/bookstore/docs/bookT/node.ndf | 217 - .../ns/bookstore/docs/booklistT/node.ndf | 57 - .../Bookstore/ns/bookstore/docs/node.idf | 7 - .../ns/bookstore/docs/ratingT/node.ndf | 85 - .../ns/bookstore/docs/ratinglistT/node.ndf | 72 - .../Packages/Bookstore/ns/bookstore/node.idf | 7 - .../services/addBookRating/java.frag | 28 - .../bookstore/services/addBookRating/node.ndf | 138 - .../services/getBookDetails/java.frag | 35 - .../services/getBookDetails/node.ndf | 120 - .../services/getBookRatings/java.frag | 31 - .../services/getBookRatings/node.ndf | 101 - .../ns/bookstore/services/getBooks/java.frag | 32 - .../ns/bookstore/services/getBooks/node.ndf | 83 - .../Bookstore/ns/bookstore/services/node.idf | 232 - .../pub/images/covers/9780525950622.png | Bin 62742 -> 0 bytes .../pub/images/covers/9780691138718.png | Bin 70504 -> 0 bytes .../pub/images/covers/9780812979183.png | Bin 47358 -> 0 bytes .../pub/images/covers/9781584883470.png | Bin 79675 -> 0 bytes .../pub/images/covers/9781584885085.png | Bin 64650 -> 0 bytes .../pub/images/covers/9783492051101.png | Bin 66070 -> 0 bytes .../pub/images/thumbnails/9780525950622.png | Bin 5011 -> 0 bytes .../pub/images/thumbnails/9780691138718.png | Bin 5150 -> 0 bytes .../pub/images/thumbnails/9780812979183.png | Bin 4275 -> 0 bytes .../pub/images/thumbnails/9781584883470.png | Bin 6324 -> 0 bytes .../pub/images/thumbnails/9781584885085.png | Bin 5214 -> 0 bytes .../pub/images/thumbnails/9783492051101.png | Bin 6001 -> 0 bytes assets/IS/Packages/Bookstore/pub/index.html | 90 - assets/IS/Packages/Fibonachi/.classpath | 34 - assets/IS/Packages/Fibonachi/.project | 23 - ...ag.ide.eclipse.pld.bundle.builder.ui.prefs | 2 - assets/IS/Packages/Fibonachi/manifest.bak | 13 - assets/IS/Packages/Fibonachi/manifest.v3 | 13 - .../Packages/Fibonachi/ns/Fibonachi/node.idf | 7 - .../services/getFibunachiNumber/flow.xml | 1753 ----- .../services/getFibunachiNumber/flow.xml.bak | 1634 ----- .../services/getFibunachiNumber/node.ndf | 105 - .../Fibonachi/ns/Fibonachi/services/node.idf | 7 - assets/IS/Packages/Fibonachi/pub/index.html | 2 - assets/IS/Tests/BookstoreTest/.classpath | 6 - assets/IS/Tests/BookstoreTest/.classpath.swp | Bin 12288 -> 0 bytes assets/IS/Tests/BookstoreTest/.project | 17 - .../.settings/org.eclipse.jdt.core.prefs | 12 - assets/IS/Tests/BookstoreTest/bin/.gitignore | 2 - .../bookstore_services_getBooks_input.xml | 6 - .../bookstore_services_getBooks_output.xml | 66 - .../test/xml/setup/BookstoreTest.xml | 13 - assets/MWS/.gitignore | 0 build.xml | 39 - image/Dockerfile | 5 - project.properties | 18 - wait_for_is.sh | 17 - 71 files changed, 14332 deletions(-) delete mode 100644 Jenkinsfile delete mode 100644 Jenkinsfile.unix delete mode 100644 Jenkinsfile.win delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 assets/BPM/.gitignore delete mode 100644 assets/IS/Packages/Bookstore/.classpath delete mode 100644 assets/IS/Packages/Bookstore/.project delete mode 100644 assets/IS/Packages/Bookstore/code/classes/.gitignore delete mode 100644 assets/IS/Packages/Bookstore/code/source/bookstore/services.java delete mode 100644 assets/IS/Packages/Bookstore/manifest.bak delete mode 100644 assets/IS/Packages/Bookstore/manifest.v3 delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml.bak delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/books/_get/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml.bak delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/books/_post/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/books/node.idf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/docs/bookT/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/docs/booklistT/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/docs/node.idf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/docs/ratingT/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/node.idf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/java.frag delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/java.frag delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/java.frag delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/java.frag delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/node.ndf delete mode 100644 assets/IS/Packages/Bookstore/ns/bookstore/services/node.idf delete mode 100644 assets/IS/Packages/Bookstore/pub/images/covers/9780525950622.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/covers/9780691138718.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/covers/9780812979183.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/covers/9781584883470.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/covers/9781584885085.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/covers/9783492051101.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/thumbnails/9780525950622.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/thumbnails/9780691138718.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/thumbnails/9780812979183.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/thumbnails/9781584883470.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/thumbnails/9781584885085.png delete mode 100644 assets/IS/Packages/Bookstore/pub/images/thumbnails/9783492051101.png delete mode 100644 assets/IS/Packages/Bookstore/pub/index.html delete mode 100644 assets/IS/Packages/Fibonachi/.classpath delete mode 100644 assets/IS/Packages/Fibonachi/.project delete mode 100644 assets/IS/Packages/Fibonachi/.settings/com.softwareag.ide.eclipse.pld.bundle.builder.ui.prefs delete mode 100644 assets/IS/Packages/Fibonachi/manifest.bak delete mode 100644 assets/IS/Packages/Fibonachi/manifest.v3 delete mode 100644 assets/IS/Packages/Fibonachi/ns/Fibonachi/node.idf delete mode 100644 assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml delete mode 100644 assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml.bak delete mode 100644 assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/node.ndf delete mode 100644 assets/IS/Packages/Fibonachi/ns/Fibonachi/services/node.idf delete mode 100644 assets/IS/Packages/Fibonachi/pub/index.html delete mode 100644 assets/IS/Tests/BookstoreTest/.classpath delete mode 100644 assets/IS/Tests/BookstoreTest/.classpath.swp delete mode 100644 assets/IS/Tests/BookstoreTest/.project delete mode 100644 assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs delete mode 100644 assets/IS/Tests/BookstoreTest/bin/.gitignore delete mode 100644 assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml delete mode 100644 assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml delete mode 100644 assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml delete mode 100644 assets/MWS/.gitignore delete mode 100644 build.xml delete mode 100644 image/Dockerfile delete mode 100644 project.properties delete mode 100644 wait_for_is.sh diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index e395e077b..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,68 +0,0 @@ -podTemplate( - label: 'mypod', - inheritFrom: 'default', - containers: [ - containerTemplate( - name: 'docker', - image: 'docker:18.02', - ttyEnabled: true, - command: 'cat' - ), - containerTemplate( - name: 'ci-is', - image: 'docker.devopsinitiative.com/softwareag/ci-is:10.3.0.1-sagdevops', - alwaysPullImage: true, - ttyEnabled: true, - command: '/opt/softwareag/entrypoint.sh' - ) - - ], - envVars: [ - secretEnvVar(key: 'DOCKER_USR', secretName: 'docker-store-cred', secretKey: 'username'), - secretEnvVar(key: 'DOCKER_PSW', secretName: 'docker-store-cred', secretKey: 'password'), - secretEnvVar(key: 'NEXUS_USR', secretName: 'docker-nexus-cred', secretKey: 'username'), - secretEnvVar(key: 'NEXUS_PSW', secretName: 'docker-nexus-cred', secretKey: 'password') - ], - volumes: [ - hostPathVolume( - hostPath: '/var/run/docker.sock', - mountPath: '/var/run/docker.sock' - ) - ], - imagePullSecrets: [ 'regcred' ], -) { - node('mypod') { - def commitId - stage ('Extract') { - checkout scm - commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() - } - def repository - stage('Build'){ - container('ci-is') { - sh "/bin/bash ./wait_for_is.sh" - sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} build" - } - } - stage('Deploy') { - container('ci-is') { - sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} deploy" - } - } - stage('Test') { - container('ci-is') { - sh "/opt/softwareag/common/lib/ant/bin/ant -DSAGHome=/opt/softwareag -DSAG_CI_HOME=/opt/softwareag/sagdevops-ci-assets -DprojectName=${env.JOB_NAME} test" - junit 'report/' - } - } - stage('Image') { - container('docker') { - sh "docker login -u ${env.NEXUS_USR} -p ${env.NEXUS_PSW} docker.devopsinitiative.com" - sh "cp target/bookstore/build/IS/*.zip image/" - sh "cd image; for pkg in *.zip; do basefilename=`echo \${pkg} | sed 's/.zip\$//'`; md5sum \${basefilename}.zip > \${basefilename}.md5; done" - sh "cd image; docker build -t docker.devopsinitiative.com/bookstore:1 -f Dockerfile ." - sh "docker push docker.devopsinitiative.com/bookstore:1" - } - } - } -} diff --git a/Jenkinsfile.unix b/Jenkinsfile.unix deleted file mode 100644 index d34f0db95..000000000 --- a/Jenkinsfile.unix +++ /dev/null @@ -1,42 +0,0 @@ -/* -* Copyright © 2010 - 2013 Apama Ltd. -* Copyright © 2013 - 2018 Software AG, Darmstadt, Germany and/or its licensors -* -* SPDX-License-Identifier: Apache-2.0 -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -pipeline { - agent any - - stages { - stage('Build'){ - steps { - sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" - } - } - stage('Deploy') { - steps { - sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" - } - } - stage('Test') { - steps { - sh "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" - junit 'report/' - } - } - } -} diff --git a/Jenkinsfile.win b/Jenkinsfile.win deleted file mode 100644 index cf8eab54a..000000000 --- a/Jenkinsfile.win +++ /dev/null @@ -1,42 +0,0 @@ -/* -* Copyright © 2010 - 2013 Apama Ltd. -* Copyright © 2013 - 2018 Software AG, Darmstadt, Germany and/or its licensors -* -* SPDX-License-Identifier: Apache-2.0 -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -pipeline { - agent any - - stages { - stage('Build'){ - steps { - bat "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} build" - } - } - stage('Deploy') { - steps { - bat "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} deploy" - } - } - stage('Test') { - steps { - bat "${env.SAG_HOME}/common/lib/ant/bin/ant -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -DprojectName=${env.JOB_NAME} test" - junit 'report/' - } - } - } -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 948e5dac3..000000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2017 SoftwareAG - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index 9bfa8abb0..000000000 --- a/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# webmethods-sample-project-layout -Sample project layout for webMethods assets. This sample also demostrates CI quick set up together with https://github.com/SoftwareAG/sagdevops-ci-assets - -## Jump Start with webMethods Structure -The best way to start your webMethods project would be to fork this repo directly in github. This will allow you to directly have a set-up copy of layout that will be completely under your control. - -## Description - -This sample webMethods project layout should serve as a template for organising webMethods projects. It contains demo Integration Server packages with flow services and wM Unit Tests that are covering those. -Fork the repository to easily create fundament for you webMethods project. - -## CI (continuous integration) - -Jenkinsfiles.win and Jenkinfiles.unix in the root of the project contain Jenkins Pipeline declaration. With these and our [DevOps asset library for version 9.x and 10.0](https://github.com/SoftwareAG/sagdevops-ci-assets) you will be able to set up you CI in a matter of minutes. - ______________________ -These tools are provided as-is and without warranty or support. They do not constitute part of the Software AG product suite. Users are free to use, fork and modify them, subject to the license agreement. While Software AG welcomes contributions, we cannot guarantee to include every contribution in the master project. - -Contact us at [TECHcommunity](mailto:technologycommunity@softwareag.com?subject=Github/SoftwareAG) if you have any questions. diff --git a/assets/BPM/.gitignore b/assets/BPM/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/assets/IS/Packages/Bookstore/.classpath b/assets/IS/Packages/Bookstore/.classpath deleted file mode 100644 index 615ab5012..000000000 --- a/assets/IS/Packages/Bookstore/.classpath +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/IS/Packages/Bookstore/.project b/assets/IS/Packages/Bookstore/.project deleted file mode 100644 index 612ef851a..000000000 --- a/assets/IS/Packages/Bookstore/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - Bookstore - - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.softwareag.is.vcsintegration.ISPackageBuilder - - - - - - org.eclipse.jdt.core.javanature - com.softwareag.is.vcsintegration.nature - - diff --git a/assets/IS/Packages/Bookstore/code/classes/.gitignore b/assets/IS/Packages/Bookstore/code/classes/.gitignore deleted file mode 100644 index 79c0c0369..000000000 --- a/assets/IS/Packages/Bookstore/code/classes/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bookstore/ diff --git a/assets/IS/Packages/Bookstore/code/source/bookstore/services.java b/assets/IS/Packages/Bookstore/code/source/bookstore/services.java deleted file mode 100644 index ef39da981..000000000 --- a/assets/IS/Packages/Bookstore/code/source/bookstore/services.java +++ /dev/null @@ -1,484 +0,0 @@ -package bookstore; - -// -----( IS Java Code Template v1.2 -// -----( CREATED: 2013-03-05 14:28:04 GMT -// -----( ON-HOST: 10.151.56.67 - -import com.wm.data.*; -import com.wm.util.Values; -import com.wm.app.b2b.server.Service; -import com.wm.app.b2b.server.ServiceException; -// --- <> --- -// --- <> --- - -public final class services - -{ - // ---( internal utility methods )--- - - final static services _instance = new services(); - - static services _newInstance() { return new services(); } - - static services _cast(Object o) { return (services)o; } - - // ---( server methods )--- - - - - - public static final void addBookRating (IData pipeline) - throws ServiceException - { - // --- <> --- - // @sigtype java 3.5 - // [i] field:0:required isbn - // [i] record:0:required rating - // [i] - recref:0:required rating bookstore.docs:ratingT - // [o] field:0:required result - IDataCursor pipelineCursor = pipeline.getCursor(); - String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); - - // rating - String result = "ok"; - IData rating = IDataUtil.getIData( pipelineCursor, "rating" ); - if ( rating != null) - { - IDataCursor ratingCursor = rating.getCursor(); - - // i.rating - IData rating_1 = IDataUtil.getIData( ratingCursor, "rating" ); - if ( rating_1 != null) - { - IDataCursor rating_1Cursor = rating_1.getCursor(); - String score = IDataUtil.getString( rating_1Cursor, "score" ); - String comment = IDataUtil.getString( rating_1Cursor, "comment" ); - String user = IDataUtil.getString( rating_1Cursor, "user" ); - rating_1Cursor.destroy(); - - int scoreI = 0; - try { - scoreI = new Integer(score).intValue(); - java.util.List ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, scoreI, comment, new java.util.Date(), user)); - } catch (NumberFormatException e) { - result = e.getMessage(); - } - - } - ratingCursor.destroy(); - } - pipelineCursor.destroy(); - - // pipeline - IDataCursor pipelineCursor_1 = pipeline.getCursor(); - IDataUtil.put( pipelineCursor_1, "result", result ); - pipelineCursor_1.destroy(); - // --- <> --- - - - } - - - - public static final void getBookDetails (IData pipeline) - throws ServiceException - { - // --- <> --- - // @sigtype java 3.5 - // [i] field:0:required isbn - // [o] record:0:required book - // [o] - recref:0:required book bookstore.docs:bookT - // pipeline - IDataCursor pipelineCursor = pipeline.getCursor(); - String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); - pipelineCursor.destroy(); - - // pipeline - IDataCursor pipelineCursor_1 = pipeline.getCursor(); - - for (int i = 0; i < bookList.length; i++) { - BookListEntry b = bookList[i]; - if (b.getIsbn().equals(isbn)) { - // book - IData book = IDataFactory.create(); - IDataCursor bookCursor = book.getCursor(); - IData book_1 = IDataFactory.create(); - IDataCursor book_1Cursor = book_1.getCursor(); - - java.util.Map requestURL = getRequestURL(); - String host = requestURL.get("host"); - String url = requestURL.get("url"); - - IDataUtil.put( book_1Cursor, "@isbn", b.getIsbn() ); - IDataUtil.put( book_1Cursor, "author", b.getAuthor() ); - IDataUtil.put( book_1Cursor, "title", b.getTitle() ); - IDataUtil.put( book_1Cursor, "rating", getAverageRating(b.getIsbn()) ); - IDataUtil.put( book_1Cursor, "votes", getNumberOfVotes(b.getIsbn()) ); - IDataUtil.put( book_1Cursor, "price", b.getPrice() ); - IDataUtil.put( book_1Cursor, "description", b.getDescription() ); - IDataUtil.put( book_1Cursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png" ); - IDataUtil.put( book_1Cursor, "coverurl", "http://"+host+"/Bookstore/images/covers/"+b.getIsbn()+".png" ); - IDataUtil.put( book_1Cursor, "ratingsurl", "http://"+host+url+"/ratings" ); - book_1Cursor.destroy(); - IDataUtil.put( bookCursor, "book", book_1 ); - bookCursor.destroy(); - IDataUtil.put( pipelineCursor_1, "book", book ); - pipelineCursor_1.destroy(); - } - } - - // --- <> --- - - - } - - - - public static final void getBookRatings (IData pipeline) - throws ServiceException - { - // --- <> --- - // @sigtype java 3.5 - // [i] field:0:required isbn - // [o] recref:0:required ratinglist bookstore.docs:ratinglistT - // pipeline - IDataCursor pipelineCursor = pipeline.getCursor(); - String isbn = IDataUtil.getString( pipelineCursor, "isbn" ); - pipelineCursor.destroy(); - - // pipeline - IDataCursor pipelineCursor_1 = pipeline.getCursor(); - - // ratinglist - IData ratinglist = IDataFactory.create(); - IDataCursor ratinglistCursor = ratinglist.getCursor(); - - // ratinglist.ratinglist - IData ratinglist_1 = IDataFactory.create(); - IDataCursor ratinglist_1Cursor = ratinglist_1.getCursor(); - IDataUtil.put( ratinglist_1Cursor, "@isbn", isbn ); - - java.util.List ratings = getRatings(isbn); - IData[] rating = new IData[ratings.size()]; - - // ratinglist.ratinglist.rating - for (int i = 0; i < ratings.size(); i++) { - BookRatingEntry e = (BookRatingEntry)ratings.get(i); - rating[i] = IDataFactory.create(); - IDataCursor ratingCursor = rating[i].getCursor(); - IDataUtil.put( ratingCursor, "score", e.getScore() ); - IDataUtil.put( ratingCursor, "comment", e.getComment() ); - IDataUtil.put( ratingCursor, "datetime", e.getDatetime() ); - IDataUtil.put( ratingCursor, "user", e.getUser() ); - ratingCursor.destroy(); - } - - IDataUtil.put( ratinglist_1Cursor, "rating", rating ); - ratinglist_1Cursor.destroy(); - IDataUtil.put( ratinglistCursor, "ratinglist", ratinglist_1 ); - ratinglistCursor.destroy(); - IDataUtil.put( pipelineCursor_1, "ratinglist", ratinglist ); - pipelineCursor_1.destroy(); - - // --- <> --- - - - } - - - - public static final void getBooks (IData pipeline) - throws ServiceException - { - // --- <> --- - // @sigtype java 3.5 - // [o] recref:0:required booklist bookstore.docs:booklistT - // pipeline - IDataCursor pipelineCursor = pipeline.getCursor(); - - // booklist - IData booklist = IDataFactory.create(); - IDataCursor booklistCursor = booklist.getCursor(); - - // booklist.booklist - IData booklist_1 = IDataFactory.create(); - IDataCursor booklist_1Cursor = booklist_1.getCursor(); - - // booklist.booklist.book - IData[] book = new IData[bookList.length]; - java.util.Map requestURL = getRequestURL(); - String host = requestURL.get("host"); - String url = requestURL.get("url"); - - for (int i = 0; i < bookList.length; i++) { - BookListEntry b = bookList[i]; - book[i] = IDataFactory.create(); - IDataCursor bookCursor = book[i].getCursor(); - IDataUtil.put( bookCursor, "@isbn", b.getIsbn() ); - IDataUtil.put( bookCursor, "author", b.getAuthor() ); - IDataUtil.put( bookCursor, "title", b.getTitle() ); - IDataUtil.put( bookCursor, "rating", getAverageRating(b.getIsbn()) ); - IDataUtil.put( bookCursor, "votes", getNumberOfVotes(b.getIsbn()) ); - IDataUtil.put( bookCursor, "detailsurl", "http://"+host+url+"/"+b.getIsbn() ); - IDataUtil.put( bookCursor, "thumbnailurl", "http://"+host+"/Bookstore/images/thumbnails/"+b.getIsbn()+".png"); - bookCursor.destroy(); - } - - IDataUtil.put( booklist_1Cursor, "book", book ); - booklist_1Cursor.destroy(); - IDataUtil.put( booklistCursor, "booklist", booklist_1 ); - booklistCursor.destroy(); - IDataUtil.put( pipelineCursor, "booklist", booklist ); - pipelineCursor.destroy(); - - // --- <> --- - - - } - - // --- <> --- - - private static final class BookListEntry { - - private final String isbn; - private final String title; - private final String author; - private final String price; - private final String description; - - public BookListEntry(String isbn, String title, String author, String price, String description) { - this.isbn = isbn; - this.title = title; - this.author = author; - this.price = price; - this.description = description; - } - - public String getAuthor() { - return author; - } - - public String getIsbn() { - return isbn; - } - - public String getPrice() { - return price; - } - - public String getDescription() { - return description; - } - - public String getTitle() { - return title; - } - } - - private static final BookListEntry[] bookList = { - - new BookListEntry( - "9781584883470", - "CRC Concise Encyclopedia of Mathematics", - "Eric Weisstein", - "54.99", - "Upon publication, the first edition of the CRC Concise Encyclopedia of Mathematics received overwhelming accolades for its unparalleled scope, readability, and utility. It soon took its place among the top selling books in the history of Chapman & Hall/CRC, and its popularity continues unabated. Yet also unabated has been the dedication of author Eric Weisstein to collecting, cataloging, and referencing mathematical facts, formulas, and definitions. He has now updated most of the original entries and expanded the Encyclopedia to include 1000 additional pages of illustrated entries.The accessibility of the Encyclopedia along with its broad coverage and economical price make it attractive to the widest possible range of readers and certainly a must for libraries, from the secondary to the professional and research levels. For mathematical definitions, formulas, figures, tabulations, and references, this is simply the most impressive compendium available." - ), - - new BookListEntry( - "9780691138718", - "Fearless symmetry", - "Avner Ash & Robert Gross", - "12.89", - "Mathematicians solve equations, or try to. But sometimes the solutions are not as interesting as the beautiful symmetric patterns that lead to them. Written in a friendly style for a general audience, Fearless Symmetry is the first popular math book to discuss these elegant and mysterious patterns and the ingenious techniques mathematicians use to uncover them. Hidden symmetries were first discovered nearly two hundred years ago by French mathematician Evariste Galois. They have been used extensively in the oldest and largest branch of mathematics--number theory--for such diverse applications as acoustics, radar, and codes and ciphers. They have also been employed in the study of Fibonacci numbers and to attack well-known problems such as Fermat's Last Theorem, Pythagorean Triples, and the ever-elusive Riemann Hypothesis. Mathematicians are still devising techniques for teasing out these mysterious patterns, and their uses are limited only by the imagination. The first popular book to address representation theory and reciprocity laws, Fearless Symmetry focuses on how mathematicians solve equations and prove theorems. It discusses rules of math and why they are just as important as those in any games one might play. The book starts with basic properties of integers and permutations and reaches current research in number theory. Along the way, it takes delightful historical and philosophical digressions. Required reading for all math buffs, the book will appeal to anyone curious about popular mathematics and its myriad contributions to everyday life." - ), - - new BookListEntry( - "9780812979183", - "The Black Swan", - "Nassim Nicholas Taleb", - "17.28", - "In business and government, major money is spent on prediction. Uselessly, according to Taleb, who administers a severe thrashing to MBA- and Nobel Prize-credentialed experts who make their living from economic forecasting. A financial trader and current rebel with a cause, Taleb is mathematically oriented and alludes to statistical concepts that underlie models of prediction, while his expressive energy is expended on roller-coaster passages, bordering on gleeful diatribes, on why experts are wrong. They neglect Taleb's metaphor of 'the black swan', whose discovery invalidated the theory that all swans are white. Taleb rides this manifestation of the unpredicted event into a range of phenomena, such as why a book becomes a best-seller or how an entrepreneur becomes a billionaire, taking pit stops with philosophers who have addressed the meaning of the unexpected and confounding. Taleb projects a strong presence here that will tempt outside-the-box thinkers into giving him a look." - ), - - new BookListEntry( - "9780525950622", - "The Science of Fear", - "Daniel Gardener", - "16.47", - "Gardner, a columnist and senior writer for the Ottawa Citizen, is both matter-of-fact and entertaining in this look at fear and how it shapes our lives. Although we are capable of reason, says Gardner, we often rely instead on intuitive snap judgments. We also assume instinctively, but incorrectly, that [i]f examples of something can be recalled easily, that thing must be common. And what is more memorable than headlines and news programs blaring horrible crimes and diseases, plane crashes and terrorist attacks? In fact, such events are rare, but their media omnipresence activates a gut-level fear response that is out of proportion to the likelihood of our going through such an event. It doesn't help that scientific data and statistics are often misunderstood and misused and that our risk assessment is influenced less by the facts than by how others respond. Gardner's vivid, direct style, backed up by clear examples and solid data from science and psychology, brings a breath of fresh air and common sense to an emotional topic." - ), - - new BookListEntry( - "9783492051101", - "Die Riemannsche Vermutung", - "Atle Naess", - "9.90", - "Auf die eine oder andere Weise w\u00FCrde die Sache fehlschlagen. Das hatte Terje Huuse, von Haus aus Mathematiker, von Anfang an geahnt. Nur wen das Ungl\u00FCck am h\u00E4rtesten treffen w\u00FCrde, schien damals noch offen. Terje hatte es sich in den Kopf gesetzt, die Biografie seines gro\u00DFen Vorbilds Bernhard Riemann zu verfassen und endlich das Abenteuer von der Suche nach einer Regelm\u00E4\u00DFigkeit bei den Primzahlen zu beschreiben. Aber die Arbeit war ins Stocken geraten, so einfach war das alles nicht. Nur mit seiner Bekannten Ingvild konnte sich der verheiratete Terje da\u00ADr\u00FCber unterhalten. Die Sache mit ihr glitt ihm schnell aus der Hand, unrettbar geriet er in den Sog dieser Beziehung. Bis Terje pl\u00F6tzlich verschwindet - und seine Tochter eine merkw\u00FCrdige Datei auf seinem Computer entdeckt" - ), - - new BookListEntry( - "9781584885085", - "Cryptography", - "Douglas R. Stinson", - "51.69", - "Douglas R. Stinson's Cryptography: Theory and Practice is a mathematically intensive examination of cryptography, including ciphers, the Data Encryption Standard (DES), public key cryptography, one-way hash functions, and digital signatures. Stinson's explication of 'zero-sum proofs' -- a process by which one person lets another person know that he or she has a password without actually revealing any information--is especially good. If you are new to the math behind cryptography but want to tackle it, the author covers all of the required background to understand the real mathematics here. Cryptography includes extensive exercises with each chapter and makes an ideal introduction for any math-literate person willing to get acquainted with this material." - ) - }; - - private static final class BookRatingEntry { - - private final String isbn; - private final int score; - private final String comment; - private final String datetime; - private final String user; - - public BookRatingEntry(String isbn, int score, String comment, String datetime, String user) { - this.isbn = isbn; - this.score = score; - this.comment = comment; - this.datetime = datetime; - this.user = user; - } - - public BookRatingEntry(String isbn, int score, String comment, java.util.Date datetimeD, String user) { - this.isbn = isbn; - this.score = score; - this.comment = comment; - this.datetime = dateFormat.format(datetimeD); - this.user = user; - } - - public String getIsbn() { - return isbn; - } - - public int getScore() { - return score; - } - - public String getComment() { - return comment; - } - - public String getDatetime() { - return datetime; - } - public String getUser() { - return user; - } - } - - private static final java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy.MM.dd-HH:mm:ss"); - - private static final java.util.Map bookRatingList = new java.util.HashMap(); - - private static final java.util.List getRatings(String isbn) { - java.util.List ratings = (java.util.List)bookRatingList.get(isbn); - if (ratings == null) { - ratings = new java.util.ArrayList(); - bookRatingList.put(isbn, ratings); - } - return ratings; - } - - static { - try { - String isbn; - java.util.List ratings; - - isbn = "9781584883470"; - ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, 4, "Very good for beginners.", new java.util.Date(), "Ann")); - ratings.add(new BookRatingEntry(isbn, 3, "Not bad but overprized.", new java.util.Date(), "Bill")); - - isbn = "9780691138718"; - ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, 3, "Well ... gives a good overview.", new java.util.Date(), "Carl")); - ratings.add(new BookRatingEntry(isbn, 1, "Not worth the money.", new java.util.Date(), "Dustin")); - ratings.add(new BookRatingEntry(isbn, 2, "I agree with Carl ... but too expensive.", new java.util.Date(), "Eve")); - - isbn = "9780812979183"; - ratings = getRatings(isbn); - ratings.add(new BookRatingEntry(isbn, 5, "Excellent!", new java.util.Date(), "Fred")); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private static final java.util.Map getRequestURL() { - IData input = IDataFactory.create(); - IData output = IDataFactory.create(); - java.util.Map result = new java.util.HashMap(); - try { - output = Service.doInvoke( "pub.flow", "getTransportInfo", input ); - } - catch( Exception e){} - - IDataCursor outputCursor = output.getCursor(); - - // transport - IData transport = IDataUtil.getIData( outputCursor, "transport" ); - if ( transport != null) { - IDataCursor transportCursor = transport.getCursor(); - - IData http = IDataUtil.getIData( transportCursor, "http" ); - if ( http != null) { - IDataCursor httpCursor = http.getCursor(); - String requestUrl = IDataUtil.getString( httpCursor, "requestUrl" ); - - IData requestHdrs = IDataUtil.getIData( httpCursor, "requestHdrs" ); - if ( requestHdrs != null) { - IDataCursor requestHdrsCursor = requestHdrs.getCursor(); - String host = IDataUtil.getString( requestHdrsCursor, "Host" ); - if (host != null && host.length() > 0) { - result.put("host", host); - } - requestHdrsCursor.destroy(); - } - - result.put("url", trimUrl(requestUrl)); - httpCursor.destroy(); - } - transportCursor.destroy(); - } - outputCursor.destroy(); - return result; - } - - private static final String getAverageRating(String isbn) { - // get ratings - java.util.List rl = getRatings(isbn); - float scoreF = 0; - int nr = rl.size(); - for (int i = 0; i < nr; i++) { - BookRatingEntry e = (BookRatingEntry)rl.get(i); - scoreF = scoreF + (float)e.getScore(); - } - if (nr > 0) { - scoreF = scoreF/(float)nr; - } - - return String.valueOf(scoreF); - } - - private static final String getNumberOfVotes(String isbn) { - // get ratings - java.util.List rl = getRatings(isbn); - int nr = rl.size(); - - return String.valueOf(nr); - } - - private static final String trimUrl (String url) { - String result = url; - while (result != null && result.length() > 0 && result.endsWith("/")) { - result = result.substring(0, result.length() - 1); - } - return result; - } - // --- <> --- -} - diff --git a/assets/IS/Packages/Bookstore/manifest.bak b/assets/IS/Packages/Bookstore/manifest.bak deleted file mode 100644 index a3ec86d52..000000000 --- a/assets/IS/Packages/Bookstore/manifest.bak +++ /dev/null @@ -1,20 +0,0 @@ - - - - no - no - 1.0 - - - - - - yes - Bookstore - - - 2016-10-22 01:50:52 CEST - 1.8.0_51 - DAETRAIN00363.eur.ad.sag - - diff --git a/assets/IS/Packages/Bookstore/manifest.v3 b/assets/IS/Packages/Bookstore/manifest.v3 deleted file mode 100644 index be2891efa..000000000 --- a/assets/IS/Packages/Bookstore/manifest.v3 +++ /dev/null @@ -1,20 +0,0 @@ - - - - yes - no - 1.0 - - - - - - yes - Bookstore - - - 2016-10-22 01:50:52 CEST - 1.8.0_51 - DAETRAIN00363.eur.ad.sag - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml b/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml deleted file mode 100644 index 6bf88ba18..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml +++ /dev/null @@ -1,5727 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - $iteration - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - record - false - HTMLEncodeInput - record - 0 - true - false - false - - - unknown - false - inString - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - $iteration - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - true - - - - - - - - record - false - HTMLEncodeOutput - record - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - documentToJSONStringInput - record - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - unknown - false - prettyPrint - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - application/json - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - documentToXMLStringInput - record - 0 - true - false - false - - - unknown - false - attrPrefix - string - 0 - true - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - false - nsDecls - record - 0 - true - true - false - false - - - true - - - unknown - false - addHeader - string - 0 - true - - true - false - - true - false - false - - - unknown - false - encode - string - 0 - true - - true - false - - true - false - false - - - unknown - false - documentTypeName - string - 0 - true - true - false - false - - - unknown - false - generateRequiredTags - string - 0 - true - - false - true - - true - false - false - - - unknown - false - generateNilTags - string - 0 - true - - false - true - - true - false - false - - - unknown - false - enforceLegalXML - string - 0 - true - - true - false - - true - false - false - - - record - false - dtdHeaderInfo - record - 0 - true - true - false - false - - - true - - - unknown - false - bufferSize - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - true - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - jsonString - string - 0 - true - false - false - - - unknown - false - xmldata - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - text/xml - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - isbn - string - 0 - - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - documentToJSONStringInput - record - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - unknown - false - prettyPrint - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - record - false - book - recref - 0 - true - false - false - true - bookstore.docs:bookT - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - ratinglist - recref - 0 - true - false - false - true - true - bookstore.docs:ratinglistT - - - true - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - application/json - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - documentToXMLStringInput - record - 0 - true - false - false - - - unknown - false - attrPrefix - string - 0 - true - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - false - nsDecls - record - 0 - true - true - false - false - - - true - - - unknown - false - addHeader - string - 0 - true - - true - false - - true - false - false - - - unknown - false - encode - string - 0 - true - - true - false - - true - false - false - - - unknown - false - documentTypeName - string - 0 - true - true - false - false - - - unknown - false - generateRequiredTags - string - 0 - true - - false - true - - true - false - false - - - unknown - false - generateNilTags - string - 0 - true - - false - true - - true - false - false - - - unknown - false - enforceLegalXML - string - 0 - true - - true - false - - true - false - false - - - record - false - dtdHeaderInfo - record - 0 - true - true - false - false - - - true - - - unknown - false - bufferSize - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - ratinglist - recref - 0 - true - false - false - true - true - bookstore.docs:ratinglistT - - - true - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - jsonString - string - 0 - true - false - false - - - unknown - false - xmldata - string - 0 - true - false - false - - - record - - - false - false - - false - ratinglist - recref - 0 - true - false - false - true - true - bookstore.docs:ratinglistT - - - true - - - - - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - text/xml - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - isbn - string - 0 - - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - - - - - - - - - - - - - - - record - false - HTMLEncodeInput - record - 0 - true - false - false - - - unknown - false - inString - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - - - - - - - record - false - HTMLEncodeOutput - record - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - record - false - HTMLEncodeInput - record - 0 - true - false - false - - - unknown - false - inString - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - - - - - - - record - false - HTMLEncodeOutput - record - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - documentToJSONStringInput - record - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - unknown - false - prettyPrint - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - application/json - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - documentToXMLStringInput - record - 0 - true - false - false - - - unknown - false - attrPrefix - string - 0 - true - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - false - nsDecls - record - 0 - true - true - false - false - - - true - - - unknown - false - addHeader - string - 0 - true - - true - false - - true - false - false - - - unknown - false - encode - string - 0 - true - - true - false - - true - false - false - - - unknown - false - documentTypeName - string - 0 - true - true - false - false - - - unknown - false - generateRequiredTags - string - 0 - true - - false - true - - true - false - false - - - unknown - false - generateNilTags - string - 0 - true - - false - true - - true - false - false - - - unknown - false - enforceLegalXML - string - 0 - true - - true - false - - true - false - false - - - record - false - dtdHeaderInfo - record - 0 - true - true - false - false - - - true - - - unknown - false - bufferSize - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - xmldata - string - 0 - true - false - false - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - record - false - document - record - 0 - true - false - false - - - true - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - unknown - false - jsonString - string - 0 - true - false - false - - - record - false - book - recref - 0 - true - false - false - true - bookstore.docs:bookT - - - unknown - false - xmldata - string - 0 - true - false - false - - - record - - - false - false - - false - ratinglist - recref - 0 - true - false - false - true - true - bookstore.docs:ratinglistT - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - true - true - - - true - - - - - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - text/xml - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - - - - - - - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml.bak b/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml.bak deleted file mode 100644 index d62317f7e..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/flow.xml.bak +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/node.ndf deleted file mode 100644 index 5936c3ec7..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/books/_get/node.ndf +++ /dev/null @@ -1,103 +0,0 @@ - - - - flow - default - java 3.5 - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - true - - - record - - false - record - 0 - true - false - false - - - true - - - - yes - no - no - 15 - 1 - bookstore_books__get - off - no - $null - no - 0 - 0 - none - none - 0 - - - - - - 0 - false - false - true - - 1 - - true - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml b/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml deleted file mode 100644 index f94a51e2c..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml +++ /dev/null @@ -1,2305 +0,0 @@ - - - - - - - - - - - - - - - - - - record - false - savePipelineToFileInput - record - 0 - true - false - false - - - unknown - false - fileName - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - C:/anne.log - - unknown - false - fileName - string - 0 - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseCodeInput - record - 0 - true - false - false - - - unknown - false - responseCode - string - 0 - - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 500 - 501 - 502 - 503 - 504 - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 405 - - unknown - false - responseCode - string - 0 - - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 500 - 501 - 502 - 503 - 504 - - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - responseCode - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - unknown - false - Content-Type - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - ; - - unknown - false - delim - string - 0 - true - false - false - - - - - - - - - - %/transport/http/requestHdrs/Content-Type% - - unknown - false - inString - string - 0 - true - false - false - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - responseCode - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - false - Content-Type - string - 0 - true - false - false - - - true - - - - - - - - record - false - tokenizeOutput - record - 0 - true - false - false - - - unknown - false - valueList - string - 1 - true - false - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - isbn - string - 0 - - - true - false - false - - - record - - - false - false - - false - rating - record - 0 - true - false - false - - - record - - - false - false - - false - rating - recref - 0 - true - false - false - true - true - bookstore.docs:ratingT - - - true - true - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - responseCode - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - false - document - record - 0 - true - false - false - - - true - - - true - - - - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - record - false - rating - record - 0 - true - false - false - - - true - - - unknown - false - responseCode - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - result - string - 0 - - - true - false - false - - - true - - - - - - - - - - - - - - text/plain - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - rating - record - 0 - true - false - false - - - true - - - unknown - false - responseCode - string - 0 - true - false - false - - - unknown - false - fileName - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - unknown - false - Content-Type - string - 0 - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - result - string - 0 - - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - rating - record - 0 - true - false - false - - - true - - - unknown - false - responseCode - string - 0 - true - false - false - - - unknown - false - fileName - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - unknown - false - Content-Type - string - 0 - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - result - string - 0 - - - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - isbn - string - 0 - - - true - false - false - - - record - - - false - false - - false - rating - record - 0 - true - false - false - - - record - - - false - false - - false - rating - recref - 0 - true - false - false - true - true - bookstore.docs:ratingT - - - true - true - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - rating - record - 0 - true - false - false - - - true - - - unknown - false - responseCode - string - 0 - true - false - false - - - unknown - false - fileName - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - unknown - false - Content-Type - string - 0 - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - result - string - 0 - - - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseInput - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - true - false - false - - - unknown - false - bytes - object - 0 - true - true - false - false - - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - unknown - false - encoding - string - 0 - true - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - string - string - 0 - true - false - false - - - unknown - false - isbn - string - 0 - true - false - false - - - unknown - false - contentType - string - 0 - true - false - false - - - unknown - false - encoding - string - 0 - true - false - false - - - record - false - rating - record - 0 - true - false - false - - - true - - - unknown - false - responseCode - string - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - record - false - transport - recref - 0 - true - false - false - true - pub.flow:transportInfo - - - record - false - document - record - 0 - true - false - false - - - true - - - record - - - true - false - false - - false - result - string - 0 - - - true - false - false - - - true - - - - - - - - - - - - - - text/plain - - unknown - - true - - false - contentType - string - 0 - true - - text/xml - text/html - - true - false - false - - - - - - - - - - utf-8 - - unknown - false - encoding - string - 0 - true - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseCodeInput - record - 0 - true - false - false - - - unknown - false - responseCode - string - 0 - - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 500 - 501 - 502 - 503 - 504 - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 406 - - unknown - false - responseCode - string - 0 - - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 500 - 501 - 502 - 503 - 504 - - true - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - setResponseCodeInput - record - 0 - true - false - false - - - unknown - false - responseCode - string - 0 - - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 500 - 501 - 502 - 503 - 504 - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 405 - - unknown - false - responseCode - string - 0 - - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 500 - 501 - 502 - 503 - 504 - - true - false - false - - - - - - - - - - - - - - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml.bak b/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml.bak deleted file mode 100644 index d62317f7e..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/flow.xml.bak +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/node.ndf deleted file mode 100644 index 86662c1b6..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/books/_post/node.ndf +++ /dev/null @@ -1,100 +0,0 @@ - - - - flow - default - java 3.5 - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - $resourceID - string - 0 - true - - - true - false - false - - - record - - - true - false - false - - false - $path - string - 0 - true - - - true - false - false - - - true - - - record - - false - record - 0 - true - false - false - - - true - - - - yes - no - no - 15 - 1 - off - no - $null - no - 0 - 0 - none - none - 0 - - - - 0 - false - false - true - - 1 - - true - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/books/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/books/node.idf deleted file mode 100644 index 82aa8f030..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/books/node.idf +++ /dev/null @@ -1,7 +0,0 @@ - - - - interface - bookstore.books - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/docs/bookT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/bookT/node.ndf deleted file mode 100644 index cdb77b9e1..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/docs/bookT/node.ndf +++ /dev/null @@ -1,217 +0,0 @@ - - - - - record - bookstore.docs:bookT - Bookstore - generated by webMethods - false - record - 0 - true - false - false - - - unknown - - - true - false - false - - false - @isbn - string - 0 - - - true - false - false - - - unknown - - - true - false - false - - false - author - string - 0 - - - true - false - false - - - unknown - - - true - false - false - - false - title - string - 0 - - - true - false - false - - - record - - - true - false - false - - false - rating - string - 0 - - - true - false - false - - - record - - - true - false - false - - false - votes - string - 0 - - - true - false - false - - - unknown - - - true - false - false - - false - price - string - 0 - - - true - false - false - - - unknown - - - true - false - false - - false - description - string - 0 - - - true - false - false - - - record - - - true - false - false - - false - thumbnailurl - string - 0 - - - true - false - false - - - record - - - true - false - false - - false - coverurl - string - 0 - - - true - false - false - - - record - - - true - false - false - - false - detailsurl - string - 0 - - - true - false - false - - - record - - - true - false - false - - false - ratingsurl - string - 0 - - - true - false - false - - - true - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/docs/booklistT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/booklistT/node.ndf deleted file mode 100644 index 11637e1ff..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/docs/booklistT/node.ndf +++ /dev/null @@ -1,57 +0,0 @@ - - - - - record - bookstore.docs:booklistT - Bookstore - generated by webMethods - false - record - 0 - true - false - false - - - record - - - false - false - - false - booklist - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 1 - true - false - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/docs/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/node.idf deleted file mode 100644 index 167a38742..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/docs/node.idf +++ /dev/null @@ -1,7 +0,0 @@ - - - - interface - bookstore.docs - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratingT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratingT/node.ndf deleted file mode 100644 index 62f64764b..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratingT/node.ndf +++ /dev/null @@ -1,85 +0,0 @@ - - - - - record - bookstore.docs:ratingT - MobileSupport - generated by webMethods - false - ratingT - record - 0 - true - false - false - - - unknown - - - true - false - false - - false - score - string - 0 - true - false - false - - - unknown - - - true - false - false - - false - comment - string - 0 - true - false - false - - - record - - - true - false - false - - false - datetime - string - 0 - true - true - false - false - - - record - - - true - false - false - - false - user - string - 0 - true - false - false - - - true - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf deleted file mode 100644 index e1e78d7bc..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/docs/ratinglistT/node.ndf +++ /dev/null @@ -1,72 +0,0 @@ - - - - - record - bookstore.docs:ratinglistT - Bookstore - generated by webMethods - false - record - 0 - true - false - false - - - record - - - false - false - - false - ratinglist - record - 0 - true - false - false - - - record - - - true - false - false - - false - @isbn - string - 0 - true - false - false - - - record - - - false - false - - false - rating - recref - 1 - true - false - false - false - true - true - bookstore.docs:ratingT - - - true - - - true - - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/node.idf deleted file mode 100644 index d8540add0..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/node.idf +++ /dev/null @@ -1,7 +0,0 @@ - - - - interface - bookstore - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/java.frag deleted file mode 100644 index 605200fcf..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/java.frag +++ /dev/null @@ -1,28 +0,0 @@ - - - - addBookRating - true - SURhdGFDdXJzb3IgcGlwZWxpbmVDdXJzb3IgPSBwaXBlbGluZS5nZXRDdXJzb3IoKTsNClN0cmlu -Zwlpc2JuID0gSURhdGFVdGlsLmdldFN0cmluZyggcGlwZWxpbmVDdXJzb3IsICJpc2JuIiApOw0K -DQovLyByYXRpbmcNClN0cmluZyByZXN1bHQgPSAib2siOw0KSURhdGEJcmF0aW5nID0gSURhdGFV -dGlsLmdldElEYXRhKCBwaXBlbGluZUN1cnNvciwgInJhdGluZyIgKTsNCmlmICggcmF0aW5nICE9 -IG51bGwpDQp7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nLmdldEN1cnNvcigp -Ow0KDQoJCS8vIGkucmF0aW5nDQoJCUlEYXRhCXJhdGluZ18xID0gSURhdGFVdGlsLmdldElEYXRh -KCByYXRpbmdDdXJzb3IsICJyYXRpbmciICk7DQoJCWlmICggcmF0aW5nXzEgIT0gbnVsbCkNCgkJ -ew0KCQkJSURhdGFDdXJzb3IgcmF0aW5nXzFDdXJzb3IgPSByYXRpbmdfMS5nZXRDdXJzb3IoKTsN -CgkJCVN0cmluZwlzY29yZSA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGluZ18xQ3Vyc29yLCAi -c2NvcmUiICk7DQoJCQlTdHJpbmcJY29tbWVudCA9IElEYXRhVXRpbC5nZXRTdHJpbmcoIHJhdGlu -Z18xQ3Vyc29yLCAiY29tbWVudCIgKTsNCgkJCVN0cmluZwl1c2VyID0gSURhdGFVdGlsLmdldFN0 -cmluZyggcmF0aW5nXzFDdXJzb3IsICJ1c2VyIiApOw0KCQkJcmF0aW5nXzFDdXJzb3IuZGVzdHJv -eSgpOw0KCQkJDQoJCQlpbnQgc2NvcmVJID0gMDsNCgkJCXRyeSB7DQoJCQkJc2NvcmVJID0gbmV3 -IEludGVnZXIoc2NvcmUpLmludFZhbHVlKCk7DQoJCQkJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGlu -Z0VudHJ5PiByYXRpbmdzID0gZ2V0UmF0aW5ncyhpc2JuKTsNCgkJCQlyYXRpbmdzLmFkZChuZXcg -Qm9va1JhdGluZ0VudHJ5KGlzYm4sIHNjb3JlSSwgY29tbWVudCwgbmV3IGphdmEudXRpbC5EYXRl -KCksIHVzZXIpKTsNCgkJCX0gY2F0Y2ggKE51bWJlckZvcm1hdEV4Y2VwdGlvbiBlKSB7DQoJCQkJ -cmVzdWx0ID0gZS5nZXRNZXNzYWdlKCk7DQoJCQl9DQoJCQkNCgkJfQ0KCXJhdGluZ0N1cnNvci5k -ZXN0cm95KCk7DQp9DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ -RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQpJRGF0 -YVV0aWwucHV0KCBwaXBlbGluZUN1cnNvcl8xLCAicmVzdWx0IiwgcmVzdWx0ICk7DQpwaXBlbGlu -ZUN1cnNvcl8xLmRlc3Ryb3koKTsJCQk= - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/node.ndf deleted file mode 100644 index 3dd6bd5b1..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/addBookRating/node.ndf +++ /dev/null @@ -1,138 +0,0 @@ - - - - java - default - java 3.5 - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - isbn - string - 0 - - - true - false - false - - - record - - - false - false - - false - rating - record - 0 - true - false - false - - - record - - - false - false - - false - rating - recref - 0 - true - false - false - true - true - bookstore.docs:ratingT - - - true - true - - - true - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - result - string - 0 - - - true - false - false - - - true - - - - yes - no - no - 15 - 1 - bookstore_services_addBookRating - off - no - $null - no - 0 - 0 - none - none - 0 - - - - - - 0 - false - false - true - - 1 - - true - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/java.frag deleted file mode 100644 index 2500b3b0c..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/java.frag +++ /dev/null @@ -1,35 +0,0 @@ - - - - getBookDetails - true - Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy -c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv -ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ -RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCmZv -ciAoaW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5 -IGIgPSBib29rTGlzdFtpXTsgDQoJaWYgKGIuZ2V0SXNibigpLmVxdWFscyhpc2JuKSkgew0KCQkv -LyBib29rDQoJCUlEYXRhCWJvb2sgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vy -c29yIGJvb2tDdXJzb3IgPSBib29rLmdldEN1cnNvcigpOw0KCQlJRGF0YQlib29rXzEgPSBJRGF0 -YUZhY3RvcnkuY3JlYXRlKCk7DQoJCUlEYXRhQ3Vyc29yIGJvb2tfMUN1cnNvciA9IGJvb2tfMS5n -ZXRDdXJzb3IoKTsNCg0KCQlqYXZhLnV0aWwuTWFwPFN0cmluZywgU3RyaW5nPiByZXF1ZXN0VVJM -ID0gZ2V0UmVxdWVzdFVSTCgpOw0KCQlTdHJpbmcgaG9zdCA9IHJlcXVlc3RVUkwuZ2V0KCJob3N0 -Iik7DQoJCVN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoJCQ0KCQlJRGF0YVV0 -aWwucHV0KCBib29rXzFDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJCUlEYXRhVXRp -bC5wdXQoIGJvb2tfMUN1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCgkJSURhdGFV -dGlsLnB1dCggYm9va18xQ3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCgkJSURhdGFV -dGlsLnB1dCggYm9va18xQ3Vyc29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElz -Ym4oKSkgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9va18xQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1i -ZXJPZlZvdGVzKGIuZ2V0SXNibigpKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is -ICJwcmljZSIsIGIuZ2V0UHJpY2UoKSApOw0KCQlJRGF0YVV0aWwucHV0KCBib29rXzFDdXJzb3Is -ICJkZXNjcmlwdGlvbiIsIGIuZ2V0RGVzY3JpcHRpb24oKSApOw0KCQlJRGF0YVV0aWwucHV0KCBi -b29rXzFDdXJzb3IsICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9p -bWFnZXMvdGh1bWJuYWlscy8iK2IuZ2V0SXNibigpKyIucG5nIiApOw0KCQlJRGF0YVV0aWwucHV0 -KCBib29rXzFDdXJzb3IsICJjb3ZlcnVybCIsICJodHRwOi8vIitob3N0KyIvQm9va3N0b3JlL2lt -YWdlcy9jb3ZlcnMvIitiLmdldElzYm4oKSsiLnBuZyIgKTsNCgkJSURhdGFVdGlsLnB1dCggYm9v -a18xQ3Vyc29yLCAicmF0aW5nc3VybCIsICJodHRwOi8vIitob3N0K3VybCsiL3JhdGluZ3MiICk7 -DQoJCWJvb2tfMUN1cnNvci5kZXN0cm95KCk7DQoJCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is -ICJib29rIiwgYm9va18xICk7DQoJCWJvb2tDdXJzb3IuZGVzdHJveSgpOw0KCQlJRGF0YVV0aWwu -cHV0KCBwaXBlbGluZUN1cnNvcl8xLCAiYm9vayIsIGJvb2sgKTsNCgkJcGlwZWxpbmVDdXJzb3Jf -MS5kZXN0cm95KCk7DQoJfQ0KfQ0KCQ== - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/node.ndf deleted file mode 100644 index 001c00ccf..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookDetails/node.ndf +++ /dev/null @@ -1,120 +0,0 @@ - - - - java - default - java 3.5 - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - isbn - string - 0 - - - true - false - false - - - true - - - record - - false - record - 0 - true - false - false - - - record - - - false - false - - false - book - record - 0 - true - false - false - - - record - - - false - false - - false - book - recref - 0 - true - false - false - true - true - bookstore.docs:bookT - - - true - true - - - true - - - - yes - no - no - 15 - 1 - bookstore_services_getBookDetails - off - no - $null - no - 0 - 0 - none - none - 0 - - - - - - 0 - false - false - true - - 1 - - true - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/java.frag deleted file mode 100644 index fbbd59e8e..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/java.frag +++ /dev/null @@ -1,31 +0,0 @@ - - - - getBookRatings - true - Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy -c29yKCk7DQoJU3RyaW5nCWlzYm4gPSBJRGF0YVV0aWwuZ2V0U3RyaW5nKCBwaXBlbGluZUN1cnNv -ciwgImlzYm4iICk7DQpwaXBlbGluZUN1cnNvci5kZXN0cm95KCk7DQoNCi8vIHBpcGVsaW5lDQpJ -RGF0YUN1cnNvciBwaXBlbGluZUN1cnNvcl8xID0gcGlwZWxpbmUuZ2V0Q3Vyc29yKCk7DQoNCi8v -IHJhdGluZ2xpc3QNCklEYXRhCXJhdGluZ2xpc3QgPSBJRGF0YUZhY3RvcnkuY3JlYXRlKCk7DQpJ -RGF0YUN1cnNvciByYXRpbmdsaXN0Q3Vyc29yID0gcmF0aW5nbGlzdC5nZXRDdXJzb3IoKTsNCg0K -Ly8gcmF0aW5nbGlzdC5yYXRpbmdsaXN0DQpJRGF0YQlyYXRpbmdsaXN0XzEgPSBJRGF0YUZhY3Rv -cnkuY3JlYXRlKCk7DQpJRGF0YUN1cnNvciByYXRpbmdsaXN0XzFDdXJzb3IgPSByYXRpbmdsaXN0 -XzEuZ2V0Q3Vyc29yKCk7DQpJRGF0YVV0aWwucHV0KCByYXRpbmdsaXN0XzFDdXJzb3IsICJAaXNi -biIsIGlzYm4gKTsNCg0KamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0g -Z2V0UmF0aW5ncyhpc2JuKTsJDQpJRGF0YVtdCXJhdGluZyA9IG5ldyBJRGF0YVtyYXRpbmdzLnNp -emUoKV07DQoNCi8vIHJhdGluZ2xpc3QucmF0aW5nbGlzdC5yYXRpbmcNCmZvciAoaW50IGkgPSAw -OyBpIDwgcmF0aW5ncy5zaXplKCk7IGkrKykgew0KCUJvb2tSYXRpbmdFbnRyeSBlID0gKEJvb2tS -YXRpbmdFbnRyeSlyYXRpbmdzLmdldChpKTsNCglyYXRpbmdbaV0gPSBJRGF0YUZhY3RvcnkuY3Jl -YXRlKCk7DQoJSURhdGFDdXJzb3IgcmF0aW5nQ3Vyc29yID0gcmF0aW5nW2ldLmdldEN1cnNvcigp -Ow0KCUlEYXRhVXRpbC5wdXQoIHJhdGluZ0N1cnNvciwgInNjb3JlIiwgZS5nZXRTY29yZSgpICk7 -DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiY29tbWVudCIsIGUuZ2V0Q29tbWVudCgp -ICk7DQoJSURhdGFVdGlsLnB1dCggcmF0aW5nQ3Vyc29yLCAiZGF0ZXRpbWUiLCBlLmdldERhdGV0 -aW1lKCkgKTsNCglJRGF0YVV0aWwucHV0KCByYXRpbmdDdXJzb3IsICJ1c2VyIiwgZS5nZXRVc2Vy -KCkgKTsNCglyYXRpbmdDdXJzb3IuZGVzdHJveSgpOw0KfQkNCg0KSURhdGFVdGlsLnB1dCggcmF0 -aW5nbGlzdF8xQ3Vyc29yLCAicmF0aW5nIiwgcmF0aW5nICk7DQpyYXRpbmdsaXN0XzFDdXJzb3Iu -ZGVzdHJveSgpOw0KSURhdGFVdGlsLnB1dCggcmF0aW5nbGlzdEN1cnNvciwgInJhdGluZ2xpc3Qi -LCByYXRpbmdsaXN0XzEgKTsNCnJhdGluZ2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFVdGls -LnB1dCggcGlwZWxpbmVDdXJzb3JfMSwgInJhdGluZ2xpc3QiLCByYXRpbmdsaXN0ICk7DQpwaXBl -bGluZUN1cnNvcl8xLmRlc3Ryb3koKTsNCgk= - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/node.ndf deleted file mode 100644 index e062e850e..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBookRatings/node.ndf +++ /dev/null @@ -1,101 +0,0 @@ - - - - java - default - java 3.5 - - - record - - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - isbn - string - 0 - - - true - false - false - - - true - - - record - - false - record - 0 - true - false - false - - - record - - - false - false - - false - ratinglist - recref - 0 - true - false - false - true - true - bookstore.docs:ratinglistT - - - true - - - - yes - no - no - 15 - 1 - bookstore_services_getBookRatings - off - no - $null - no - 0 - 0 - none - none - 0 - - - - - - 0 - false - false - true - - 1 - - true - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/java.frag b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/java.frag deleted file mode 100644 index 47f683ea9..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/java.frag +++ /dev/null @@ -1,32 +0,0 @@ - - - - getBooks - true - Ly8gcGlwZWxpbmUNCklEYXRhQ3Vyc29yIHBpcGVsaW5lQ3Vyc29yID0gcGlwZWxpbmUuZ2V0Q3Vy -c29yKCk7DQoNCi8vIGJvb2tsaXN0DQpJRGF0YQlib29rbGlzdCA9IElEYXRhRmFjdG9yeS5jcmVh -dGUoKTsNCklEYXRhQ3Vyc29yIGJvb2tsaXN0Q3Vyc29yID0gYm9va2xpc3QuZ2V0Q3Vyc29yKCk7 -DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0DQpJRGF0YQlib29rbGlzdF8xID0gSURhdGFGYWN0b3J5 -LmNyZWF0ZSgpOw0KSURhdGFDdXJzb3IgYm9va2xpc3RfMUN1cnNvciA9IGJvb2tsaXN0XzEuZ2V0 -Q3Vyc29yKCk7DQoNCi8vIGJvb2tsaXN0LmJvb2tsaXN0LmJvb2sNCklEYXRhW10JYm9vayA9IG5l -dyBJRGF0YVtib29rTGlzdC5sZW5ndGhdOw0KamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4g -cmVxdWVzdFVSTCA9IGdldFJlcXVlc3RVUkwoKTsNClN0cmluZyBob3N0ID0gcmVxdWVzdFVSTC5n -ZXQoImhvc3QiKTsNClN0cmluZyB1cmwgPSByZXF1ZXN0VVJMLmdldCgidXJsIik7DQoNCmZvciAo -aW50IGkgPSAwOyBpIDwgYm9va0xpc3QubGVuZ3RoOyBpKyspIHsNCglCb29rTGlzdEVudHJ5IGIg -PSBib29rTGlzdFtpXTsNCglib29rW2ldID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOw0KCUlEYXRh -Q3Vyc29yIGJvb2tDdXJzb3IgPSBib29rW2ldLmdldEN1cnNvcigpOw0KCUlEYXRhVXRpbC5wdXQo -IGJvb2tDdXJzb3IsICJAaXNibiIsIGIuZ2V0SXNibigpICk7DQoJSURhdGFVdGlsLnB1dCggYm9v -a0N1cnNvciwgImF1dGhvciIsIGIuZ2V0QXV0aG9yKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29r -Q3Vyc29yLCAidGl0bGUiLCBiLmdldFRpdGxlKCkgKTsNCglJRGF0YVV0aWwucHV0KCBib29rQ3Vy -c29yLCAicmF0aW5nIiwgZ2V0QXZlcmFnZVJhdGluZyhiLmdldElzYm4oKSkgKTsNCglJRGF0YVV0 -aWwucHV0KCBib29rQ3Vyc29yLCAidm90ZXMiLCBnZXROdW1iZXJPZlZvdGVzKGIuZ2V0SXNibigp -KSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3IsICJkZXRhaWxzdXJsIiwgImh0dHA6Ly8i -K2hvc3QrdXJsKyIvIitiLmdldElzYm4oKSApOw0KCUlEYXRhVXRpbC5wdXQoIGJvb2tDdXJzb3Is -ICJ0aHVtYm5haWx1cmwiLCAiaHR0cDovLyIraG9zdCsiL0Jvb2tzdG9yZS9pbWFnZXMvdGh1bWJu -YWlscy8iK2IuZ2V0SXNibigpKyIucG5nIik7DQoJYm9va0N1cnNvci5kZXN0cm95KCk7DQp9DQoN -CklEYXRhVXRpbC5wdXQoIGJvb2tsaXN0XzFDdXJzb3IsICJib29rIiwgYm9vayApOw0KYm9va2xp -c3RfMUN1cnNvci5kZXN0cm95KCk7DQpJRGF0YVV0aWwucHV0KCBib29rbGlzdEN1cnNvciwgImJv -b2tsaXN0IiwgYm9va2xpc3RfMSApOw0KYm9va2xpc3RDdXJzb3IuZGVzdHJveSgpOw0KSURhdGFV -dGlsLnB1dCggcGlwZWxpbmVDdXJzb3IsICJib29rbGlzdCIsIGJvb2tsaXN0ICk7DQpwaXBlbGlu -ZUN1cnNvci5kZXN0cm95KCk7DQoJ - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/node.ndf b/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/node.ndf deleted file mode 100644 index 257b8907d..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/getBooks/node.ndf +++ /dev/null @@ -1,83 +0,0 @@ - - - - java - default - java 3.5 - - - record - - false - record - 0 - true - false - false - - - true - - - record - - false - record - 0 - true - false - false - - - record - - - false - false - - false - booklist - recref - 0 - true - false - false - true - true - bookstore.docs:booklistT - - - true - - - - yes - no - no - 15 - 1 - bookstore_services_getBooks - off - no - $null - no - 0 - 0 - none - none - 0 - - - - - - 0 - false - false - true - - 1 - - true - false - diff --git a/assets/IS/Packages/Bookstore/ns/bookstore/services/node.idf b/assets/IS/Packages/Bookstore/ns/bookstore/services/node.idf deleted file mode 100644 index 2477d2e74..000000000 --- a/assets/IS/Packages/Bookstore/ns/bookstore/services/node.idf +++ /dev/null @@ -1,232 +0,0 @@ - - - - interface - bookstore.services - false - true - CnByaXZhdGUgc3RhdGljIGZpbmFsIGNsYXNzIEJvb2tMaXN0RW50cnkgewoKICAgIHByaXZhdGUg -ZmluYWwgU3RyaW5nIGlzYm47CiAgICBwcml2YXRlIGZpbmFsIFN0cmluZyB0aXRsZTsKICAgIHBy -aXZhdGUgZmluYWwgU3RyaW5nIGF1dGhvcjsKICAgIHByaXZhdGUgZmluYWwgU3RyaW5nIHByaWNl -OwogICAgcHJpdmF0ZSBmaW5hbCBTdHJpbmcgZGVzY3JpcHRpb247CgogICAgcHVibGljIEJvb2tM -aXN0RW50cnkoU3RyaW5nIGlzYm4sIFN0cmluZyB0aXRsZSwgU3RyaW5nIGF1dGhvciwgU3RyaW5n -IHByaWNlLCBTdHJpbmcgZGVzY3JpcHRpb24pIHsKICAgICAgICB0aGlzLmlzYm4gPSBpc2JuOwog -ICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTsKICAgICAgICB0aGlzLmF1dGhvciA9IGF1dGhvcjsK -ICAgICAgICB0aGlzLnByaWNlID0gcHJpY2U7CiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRl -c2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0QXV0aG9yKCkgewogICAgICAg -IHJldHVybiBhdXRob3I7CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXRJc2JuKCkgewogICAg -ICAgIHJldHVybiBpc2JuOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0UHJpY2UoKSB7CiAg -ICAgICAgcmV0dXJuIHByaWNlOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0RGVzY3JpcHRp -b24oKSB7CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogICAgfQoKICAgIHB1YmxpYyBTdHJp -bmcgZ2V0VGl0bGUoKSB7CiAgICAgICAgcmV0dXJuIHRpdGxlOwogICAgfQp9Cgpwcml2YXRlIHN0 -YXRpYyBmaW5hbCBCb29rTGlzdEVudHJ5W10gYm9va0xpc3QgPSB7CgogICAgICAgIG5ldyBCb29r -TGlzdEVudHJ5KAogICAgICAgICAgICAiOTc4MTU4NDg4MzQ3MCIsCiAgICAgICAgICAgICJDUkMg -Q29uY2lzZSBFbmN5Y2xvcGVkaWEgb2YgTWF0aGVtYXRpY3MiLAogICAgICAgICAgICAiRXJpYyBX -ZWlzc3RlaW4iLAogICAgICAgICAgICAiNTQuOTkiLAogICAgICAgICAgICAiVXBvbiBwdWJsaWNh -dGlvbiwgdGhlIGZpcnN0IGVkaXRpb24gb2YgdGhlIENSQyBDb25jaXNlIEVuY3ljbG9wZWRpYSBv -ZiBNYXRoZW1hdGljcyByZWNlaXZlZCBvdmVyd2hlbG1pbmcgYWNjb2xhZGVzIGZvciBpdHMgdW5w -YXJhbGxlbGVkIHNjb3BlLCByZWFkYWJpbGl0eSwgYW5kIHV0aWxpdHkuIEl0IHNvb24gdG9vayBp -dHMgcGxhY2UgYW1vbmcgdGhlIHRvcCBzZWxsaW5nIGJvb2tzIGluIHRoZSBoaXN0b3J5IG9mIENo -YXBtYW4gJiBIYWxsL0NSQywgYW5kIGl0cyBwb3B1bGFyaXR5IGNvbnRpbnVlcyB1bmFiYXRlZC4g -WWV0IGFsc28gdW5hYmF0ZWQgaGFzIGJlZW4gdGhlIGRlZGljYXRpb24gb2YgYXV0aG9yIEVyaWMg -V2Vpc3N0ZWluIHRvIGNvbGxlY3RpbmcsIGNhdGFsb2dpbmcsIGFuZCByZWZlcmVuY2luZyBtYXRo -ZW1hdGljYWwgZmFjdHMsIGZvcm11bGFzLCBhbmQgZGVmaW5pdGlvbnMuIEhlIGhhcyBub3cgdXBk -YXRlZCBtb3N0IG9mIHRoZSBvcmlnaW5hbCBlbnRyaWVzIGFuZCBleHBhbmRlZCB0aGUgRW5jeWNs -b3BlZGlhIHRvIGluY2x1ZGUgMTAwMCBhZGRpdGlvbmFsIHBhZ2VzIG9mIGlsbHVzdHJhdGVkIGVu -dHJpZXMuVGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIEVuY3ljbG9wZWRpYSBhbG9uZyB3aXRoIGl0 -cyBicm9hZCBjb3ZlcmFnZSBhbmQgZWNvbm9taWNhbCBwcmljZSBtYWtlIGl0IGF0dHJhY3RpdmUg -dG8gdGhlIHdpZGVzdCBwb3NzaWJsZSByYW5nZSBvZiByZWFkZXJzIGFuZCBjZXJ0YWlubHkgYSBt -dXN0IGZvciBsaWJyYXJpZXMsIGZyb20gdGhlIHNlY29uZGFyeSB0byB0aGUgcHJvZmVzc2lvbmFs -IGFuZCByZXNlYXJjaCBsZXZlbHMuIEZvciBtYXRoZW1hdGljYWwgZGVmaW5pdGlvbnMsIGZvcm11 -bGFzLCBmaWd1cmVzLCB0YWJ1bGF0aW9ucywgYW5kIHJlZmVyZW5jZXMsIHRoaXMgaXMgc2ltcGx5 -IHRoZSBtb3N0IGltcHJlc3NpdmUgY29tcGVuZGl1bSBhdmFpbGFibGUuIgogICAgICAgICksCgkJ -CiAgICAgICAgbmV3IEJvb2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwNjkxMTM4NzE4IiwK -ICAgICAgICAgICAgIkZlYXJsZXNzIHN5bW1ldHJ5IiwKICAgICAgICAgICAgIkF2bmVyIEFzaCAm -IFJvYmVydCBHcm9zcyIsCiAgICAgICAgICAgICIxMi44OSIsCiAgICAgICAgICAgICJNYXRoZW1h -dGljaWFucyBzb2x2ZSBlcXVhdGlvbnMsIG9yIHRyeSB0by4gQnV0IHNvbWV0aW1lcyB0aGUgc29s -dXRpb25zIGFyZSBub3QgYXMgaW50ZXJlc3RpbmcgYXMgdGhlIGJlYXV0aWZ1bCBzeW1tZXRyaWMg -cGF0dGVybnMgdGhhdCBsZWFkIHRvIHRoZW0uIFdyaXR0ZW4gaW4gYSBmcmllbmRseSBzdHlsZSBm -b3IgYSBnZW5lcmFsIGF1ZGllbmNlLCBGZWFybGVzcyBTeW1tZXRyeSBpcyB0aGUgZmlyc3QgcG9w -dWxhciBtYXRoIGJvb2sgdG8gZGlzY3VzcyB0aGVzZSBlbGVnYW50IGFuZCBteXN0ZXJpb3VzIHBh -dHRlcm5zIGFuZCB0aGUgaW5nZW5pb3VzIHRlY2huaXF1ZXMgbWF0aGVtYXRpY2lhbnMgdXNlIHRv -IHVuY292ZXIgdGhlbS4gSGlkZGVuIHN5bW1ldHJpZXMgd2VyZSBmaXJzdCBkaXNjb3ZlcmVkIG5l -YXJseSB0d28gaHVuZHJlZCB5ZWFycyBhZ28gYnkgRnJlbmNoIG1hdGhlbWF0aWNpYW4gRXZhcmlz -dGUgR2Fsb2lzLiBUaGV5IGhhdmUgYmVlbiB1c2VkIGV4dGVuc2l2ZWx5IGluIHRoZSBvbGRlc3Qg -YW5kIGxhcmdlc3QgYnJhbmNoIG9mIG1hdGhlbWF0aWNzLS1udW1iZXIgdGhlb3J5LS1mb3Igc3Vj -aCBkaXZlcnNlIGFwcGxpY2F0aW9ucyBhcyBhY291c3RpY3MsIHJhZGFyLCBhbmQgY29kZXMgYW5k -IGNpcGhlcnMuIFRoZXkgaGF2ZSBhbHNvIGJlZW4gZW1wbG95ZWQgaW4gdGhlIHN0dWR5IG9mIEZp -Ym9uYWNjaSBudW1iZXJzIGFuZCB0byBhdHRhY2sgd2VsbC1rbm93biBwcm9ibGVtcyBzdWNoIGFz -IEZlcm1hdCdzIExhc3QgVGhlb3JlbSwgUHl0aGFnb3JlYW4gVHJpcGxlcywgYW5kIHRoZSBldmVy -LWVsdXNpdmUgUmllbWFubiBIeXBvdGhlc2lzLiBNYXRoZW1hdGljaWFucyBhcmUgc3RpbGwgZGV2 -aXNpbmcgdGVjaG5pcXVlcyBmb3IgdGVhc2luZyBvdXQgdGhlc2UgbXlzdGVyaW91cyBwYXR0ZXJu -cywgYW5kIHRoZWlyIHVzZXMgYXJlIGxpbWl0ZWQgb25seSBieSB0aGUgaW1hZ2luYXRpb24uIFRo -ZSBmaXJzdCBwb3B1bGFyIGJvb2sgdG8gYWRkcmVzcyByZXByZXNlbnRhdGlvbiB0aGVvcnkgYW5k -IHJlY2lwcm9jaXR5IGxhd3MsIEZlYXJsZXNzIFN5bW1ldHJ5IGZvY3VzZXMgb24gaG93IG1hdGhl -bWF0aWNpYW5zIHNvbHZlIGVxdWF0aW9ucyBhbmQgcHJvdmUgdGhlb3JlbXMuIEl0IGRpc2N1c3Nl -cyBydWxlcyBvZiBtYXRoIGFuZCB3aHkgdGhleSBhcmUganVzdCBhcyBpbXBvcnRhbnQgYXMgdGhv -c2UgaW4gYW55IGdhbWVzIG9uZSBtaWdodCBwbGF5LiBUaGUgYm9vayBzdGFydHMgd2l0aCBiYXNp -YyBwcm9wZXJ0aWVzIG9mIGludGVnZXJzIGFuZCBwZXJtdXRhdGlvbnMgYW5kIHJlYWNoZXMgY3Vy -cmVudCByZXNlYXJjaCBpbiBudW1iZXIgdGhlb3J5LiBBbG9uZyB0aGUgd2F5LCBpdCB0YWtlcyBk -ZWxpZ2h0ZnVsIGhpc3RvcmljYWwgYW5kIHBoaWxvc29waGljYWwgZGlncmVzc2lvbnMuIFJlcXVp -cmVkIHJlYWRpbmcgZm9yIGFsbCBtYXRoIGJ1ZmZzLCB0aGUgYm9vayB3aWxsIGFwcGVhbCB0byBh -bnlvbmUgY3VyaW91cyBhYm91dCBwb3B1bGFyIG1hdGhlbWF0aWNzIGFuZCBpdHMgbXlyaWFkIGNv -bnRyaWJ1dGlvbnMgdG8gZXZlcnlkYXkgbGlmZS4iCiAgICAgICAgKSwKCiAgICAgICAgbmV3IEJv -b2tMaXN0RW50cnkoCiAgICAgICAgICAgICI5NzgwODEyOTc5MTgzIiwKICAgICAgICAgICAgIlRo -ZSBCbGFjayBTd2FuIiwKICAgICAgICAgICAgIk5hc3NpbSBOaWNob2xhcyBUYWxlYiIsCiAgICAg -ICAgICAgICIxNy4yOCIsCiAgICAgICAgICAgICJJbiBidXNpbmVzcyBhbmQgZ292ZXJubWVudCwg -bWFqb3IgbW9uZXkgaXMgc3BlbnQgb24gcHJlZGljdGlvbi4gVXNlbGVzc2x5LCBhY2NvcmRpbmcg -dG8gVGFsZWIsIHdobyBhZG1pbmlzdGVycyBhIHNldmVyZSB0aHJhc2hpbmcgdG8gTUJBLSBhbmQg -Tm9iZWwgUHJpemUtY3JlZGVudGlhbGVkIGV4cGVydHMgd2hvIG1ha2UgdGhlaXIgbGl2aW5nIGZy -b20gZWNvbm9taWMgZm9yZWNhc3RpbmcuIEEgZmluYW5jaWFsIHRyYWRlciBhbmQgY3VycmVudCBy -ZWJlbCB3aXRoIGEgY2F1c2UsIFRhbGViIGlzIG1hdGhlbWF0aWNhbGx5IG9yaWVudGVkIGFuZCBh -bGx1ZGVzIHRvIHN0YXRpc3RpY2FsIGNvbmNlcHRzIHRoYXQgdW5kZXJsaWUgbW9kZWxzIG9mIHBy -ZWRpY3Rpb24sIHdoaWxlIGhpcyBleHByZXNzaXZlIGVuZXJneSBpcyBleHBlbmRlZCBvbiByb2xs -ZXItY29hc3RlciBwYXNzYWdlcywgYm9yZGVyaW5nIG9uIGdsZWVmdWwgZGlhdHJpYmVzLCBvbiB3 -aHkgZXhwZXJ0cyBhcmUgd3JvbmcuIFRoZXkgbmVnbGVjdCBUYWxlYidzIG1ldGFwaG9yIG9mICd0 -aGUgYmxhY2sgc3dhbicsIHdob3NlIGRpc2NvdmVyeSBpbnZhbGlkYXRlZCB0aGUgdGhlb3J5IHRo -YXQgYWxsIHN3YW5zIGFyZSB3aGl0ZS4gVGFsZWIgcmlkZXMgdGhpcyBtYW5pZmVzdGF0aW9uIG9m -IHRoZSB1bnByZWRpY3RlZCBldmVudCBpbnRvIGEgcmFuZ2Ugb2YgcGhlbm9tZW5hLCBzdWNoIGFz -IHdoeSBhIGJvb2sgYmVjb21lcyBhIGJlc3Qtc2VsbGVyIG9yIGhvdyBhbiBlbnRyZXByZW5ldXIg -YmVjb21lcyBhIGJpbGxpb25haXJlLCB0YWtpbmcgcGl0IHN0b3BzIHdpdGggcGhpbG9zb3BoZXJz -IHdobyBoYXZlIGFkZHJlc3NlZCB0aGUgbWVhbmluZyBvZiB0aGUgdW5leHBlY3RlZCBhbmQgY29u -Zm91bmRpbmcuIFRhbGViIHByb2plY3RzIGEgc3Ryb25nIHByZXNlbmNlIGhlcmUgdGhhdCB3aWxs -IHRlbXB0IG91dHNpZGUtdGhlLWJveCB0aGlua2VycyBpbnRvIGdpdmluZyBoaW0gYSBsb29rLiIK -ICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAgICAgIjk3ODA1 -MjU5NTA2MjIiLAogICAgICAgICAgICAiVGhlIFNjaWVuY2Ugb2YgRmVhciIsCiAgICAgICAgICAg -ICJEYW5pZWwgR2FyZGVuZXIiLAogICAgICAgICAgICAiMTYuNDciLAogICAgICAgICAgICAiR2Fy -ZG5lciwgYSBjb2x1bW5pc3QgYW5kIHNlbmlvciB3cml0ZXIgZm9yIHRoZSBPdHRhd2EgQ2l0aXpl -biwgaXMgYm90aCBtYXR0ZXItb2YtZmFjdCBhbmQgZW50ZXJ0YWluaW5nIGluIHRoaXMgbG9vayBh -dCBmZWFyIGFuZCBob3cgaXQgc2hhcGVzIG91ciBsaXZlcy4gQWx0aG91Z2ggd2UgYXJlIGNhcGFi -bGUgb2YgcmVhc29uLCBzYXlzIEdhcmRuZXIsIHdlIG9mdGVuIHJlbHkgaW5zdGVhZCBvbiBpbnR1 -aXRpdmUgc25hcCBqdWRnbWVudHMuIFdlIGFsc28gYXNzdW1lIGluc3RpbmN0aXZlbHksIGJ1dCBp -bmNvcnJlY3RseSwgdGhhdCBbaV1mIGV4YW1wbGVzIG9mIHNvbWV0aGluZyBjYW4gYmUgcmVjYWxs -ZWQgZWFzaWx5LCB0aGF0IHRoaW5nIG11c3QgYmUgY29tbW9uLiBBbmQgd2hhdCBpcyBtb3JlIG1l -bW9yYWJsZSB0aGFuIGhlYWRsaW5lcyBhbmQgbmV3cyBwcm9ncmFtcyBibGFyaW5nIGhvcnJpYmxl -IGNyaW1lcyBhbmQgZGlzZWFzZXMsIHBsYW5lIGNyYXNoZXMgYW5kIHRlcnJvcmlzdCBhdHRhY2tz -PyBJbiBmYWN0LCBzdWNoIGV2ZW50cyBhcmUgcmFyZSwgYnV0IHRoZWlyIG1lZGlhIG9tbmlwcmVz -ZW5jZSBhY3RpdmF0ZXMgYSBndXQtbGV2ZWwgZmVhciByZXNwb25zZSB0aGF0IGlzIG91dCBvZiBw -cm9wb3J0aW9uIHRvIHRoZSBsaWtlbGlob29kIG9mIG91ciBnb2luZyB0aHJvdWdoIHN1Y2ggYW4g -ZXZlbnQuIEl0IGRvZXNuJ3QgaGVscCB0aGF0IHNjaWVudGlmaWMgZGF0YSBhbmQgc3RhdGlzdGlj -cyBhcmUgb2Z0ZW4gbWlzdW5kZXJzdG9vZCBhbmQgbWlzdXNlZCBhbmQgdGhhdCBvdXIgcmlzayBh -c3Nlc3NtZW50IGlzIGluZmx1ZW5jZWQgbGVzcyBieSB0aGUgZmFjdHMgdGhhbiBieSBob3cgb3Ro -ZXJzIHJlc3BvbmQuIEdhcmRuZXIncyB2aXZpZCwgZGlyZWN0IHN0eWxlLCBiYWNrZWQgdXAgYnkg -Y2xlYXIgZXhhbXBsZXMgYW5kIHNvbGlkIGRhdGEgZnJvbSBzY2llbmNlIGFuZCBwc3ljaG9sb2d5 -LCBicmluZ3MgYSBicmVhdGggb2YgZnJlc2ggYWlyIGFuZCBjb21tb24gc2Vuc2UgdG8gYW4gZW1v -dGlvbmFsIHRvcGljLiIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAg -ICAgICAgICAgIjk3ODM0OTIwNTExMDEiLAogICAgICAgICAgICAiRGllIFJpZW1hbm5zY2hlIFZl -cm11dHVuZyIsCiAgICAgICAgICAgICJBdGxlIE5hZXNzIiwKICAgICAgICAgICAgIjkuOTAiLAog -ICAgICAgICAgICAiQXVmIGRpZSBlaW5lIG9kZXIgYW5kZXJlIFdlaXNlIHfDvHJkZSBkaWUgU2Fj -aGUgZmVobHNjaGxhZ2VuLiBEYXMgaGF0dGUgVGVyamUgSHV1c2UsIHZvbiBIYXVzIGF1cyBNYXRo -ZW1hdGlrZXIsIHZvbiBBbmZhbmcgYW4gZ2VhaG50LiBOdXIgd2VuIGRhcyBVbmdsw7xjayBhbSBo -w6RydGVzdGVuIHRyZWZmZW4gd8O8cmRlLCBzY2hpZW4gZGFtYWxzIG5vY2ggb2ZmZW4uIFRlcmpl -IGhhdHRlIGVzIHNpY2ggaW4gZGVuIEtvcGYgZ2VzZXR6dCwgZGllIEJpb2dyYWZpZSBzZWluZXMg -Z3Jvw59lbiBWb3JiaWxkcyBCZXJuaGFyZCBSaWVtYW5uIHp1IHZlcmZhc3NlbiB1bmQgZW5kbGlj -aCBkYXMgQWJlbnRldWVyIHZvbiBkZXIgU3VjaGUgbmFjaCBlaW5lciBSZWdlbG3DpMOfaWdrZWl0 -IGJlaSBkZW4gUHJpbXphaGxlbiB6dSBiZXNjaHJlaWJlbi4gQWJlciBkaWUgQXJiZWl0IHdhciBp -bnMgU3RvY2tlbiBnZXJhdGVuLCBzbyBlaW5mYWNoIHdhciBkYXMgYWxsZXMgbmljaHQuIE51ciBt -aXQgc2VpbmVyIEJla2FubnRlbiBJbmd2aWxkIGtvbm50ZSBzaWNoIGRlciB2ZXJoZWlyYXRldGUg -VGVyamUgZGHCrXLDvGJlciB1bnRlcmhhbHRlbi4gRGllIFNhY2hlIG1pdCBpaHIgZ2xpdHQgaWht -IHNjaG5lbGwgYXVzIGRlciBIYW5kLCB1bnJldHRiYXIgZ2VyaWV0IGVyIGluIGRlbiBTb2cgZGll -c2VyIEJlemllaHVuZy4gQmlzIFRlcmplIHBsw7Z0emxpY2ggdmVyc2Nod2luZGV0IC0gdW5kIHNl -aW5lIFRvY2h0ZXIgZWluZSBtZXJrd8O8cmRpZ2UgRGF0ZWkgYXVmIHNlaW5lbSBDb21wdXRlciBl -bnRkZWNrdCIKICAgICAgICApLAoKICAgICAgICBuZXcgQm9va0xpc3RFbnRyeSgKICAgICAgICAg -ICAgIjk3ODE1ODQ4ODUwODUiLAogICAgICAgICAgICAiQ3J5cHRvZ3JhcGh5IiwKICAgICAgICAg -ICAgIkRvdWdsYXMgUi4gU3RpbnNvbiIsCiAgICAgICAgICAgICI1MS42OSIsCiAgICAgICAgICAg -ICJEb3VnbGFzIFIuIFN0aW5zb24ncyBDcnlwdG9ncmFwaHk6IFRoZW9yeSBhbmQgUHJhY3RpY2Ug -aXMgYSBtYXRoZW1hdGljYWxseSBpbnRlbnNpdmUgZXhhbWluYXRpb24gb2YgY3J5cHRvZ3JhcGh5 -LCBpbmNsdWRpbmcgY2lwaGVycywgdGhlIERhdGEgRW5jcnlwdGlvbiBTdGFuZGFyZCAoREVTKSwg -cHVibGljIGtleSBjcnlwdG9ncmFwaHksIG9uZS13YXkgaGFzaCBmdW5jdGlvbnMsIGFuZCBkaWdp -dGFsIHNpZ25hdHVyZXMuIFN0aW5zb24ncyBleHBsaWNhdGlvbiBvZiAnemVyby1zdW0gcHJvb2Zz -JyAtLSBhIHByb2Nlc3MgYnkgd2hpY2ggb25lIHBlcnNvbiBsZXRzIGFub3RoZXIgcGVyc29uIGtu -b3cgdGhhdCBoZSBvciBzaGUgaGFzIGEgcGFzc3dvcmQgd2l0aG91dCBhY3R1YWxseSByZXZlYWxp -bmcgYW55IGluZm9ybWF0aW9uLS1pcyBlc3BlY2lhbGx5IGdvb2QuIElmIHlvdSBhcmUgbmV3IHRv -IHRoZSBtYXRoIGJlaGluZCBjcnlwdG9ncmFwaHkgYnV0IHdhbnQgdG8gdGFja2xlIGl0LCB0aGUg -YXV0aG9yIGNvdmVycyBhbGwgb2YgdGhlIHJlcXVpcmVkIGJhY2tncm91bmQgdG8gdW5kZXJzdGFu -ZCB0aGUgcmVhbCBtYXRoZW1hdGljcyBoZXJlLiBDcnlwdG9ncmFwaHkgaW5jbHVkZXMgZXh0ZW5z -aXZlIGV4ZXJjaXNlcyB3aXRoIGVhY2ggY2hhcHRlciBhbmQgbWFrZXMgYW4gaWRlYWwgaW50cm9k -dWN0aW9uIGZvciBhbnkgbWF0aC1saXRlcmF0ZSBwZXJzb24gd2lsbGluZyB0byBnZXQgYWNxdWFp -bnRlZCB3aXRoIHRoaXMgbWF0ZXJpYWwuIgogICAgICAgICkKfTsKCnByaXZhdGUgc3RhdGljIGZp -bmFsIGNsYXNzIEJvb2tSYXRpbmdFbnRyeSB7CgkKCXByaXZhdGUgZmluYWwgU3RyaW5nIGlzYm47 -Cglwcml2YXRlIGZpbmFsIGludCBzY29yZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIGNvbW1lbnQ7 -Cglwcml2YXRlIGZpbmFsIFN0cmluZyBkYXRldGltZTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIHVz -ZXI7CgkKCXB1YmxpYyBCb29rUmF0aW5nRW50cnkoU3RyaW5nIGlzYm4sIGludCBzY29yZSwgU3Ry -aW5nIGNvbW1lbnQsIFN0cmluZyBkYXRldGltZSwgU3RyaW5nIHVzZXIpIHsKCQl0aGlzLmlzYm4g -PSBpc2JuOwoJCXRoaXMuc2NvcmUgPSBzY29yZTsKCQl0aGlzLmNvbW1lbnQgPSBjb21tZW50OwoJ -CXRoaXMuZGF0ZXRpbWUgPSBkYXRldGltZTsKCQl0aGlzLnVzZXIgPSB1c2VyOwoJfQoJCglwdWJs -aWMgQm9va1JhdGluZ0VudHJ5KFN0cmluZyBpc2JuLCBpbnQgc2NvcmUsIFN0cmluZyBjb21tZW50 -LCBqYXZhLnV0aWwuRGF0ZSBkYXRldGltZUQsIFN0cmluZyB1c2VyKSB7CgkJdGhpcy5pc2JuID0g -aXNibjsKCQl0aGlzLnNjb3JlID0gc2NvcmU7CgkJdGhpcy5jb21tZW50ID0gY29tbWVudDsKCQl0 -aGlzLmRhdGV0aW1lID0gZGF0ZUZvcm1hdC5mb3JtYXQoZGF0ZXRpbWVEKTsKCQl0aGlzLnVzZXIg -PSB1c2VyOwoJfQoJCglwdWJsaWMgU3RyaW5nIGdldElzYm4oKSB7CgkJcmV0dXJuIGlzYm47Cgl9 -CgoJcHVibGljIGludCBnZXRTY29yZSgpIHsKCQlyZXR1cm4gc2NvcmU7Cgl9CgkKCXB1YmxpYyBT -dHJpbmcgZ2V0Q29tbWVudCgpIHsKCQlyZXR1cm4gY29tbWVudDsKCX0KCQoJcHVibGljIFN0cmlu -ZyBnZXREYXRldGltZSgpIHsKCQlyZXR1cm4gZGF0ZXRpbWU7Cgl9CglwdWJsaWMgU3RyaW5nIGdl -dFVzZXIoKSB7CgkJcmV0dXJuIHVzZXI7Cgl9Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIGphdmEu -dGV4dC5TaW1wbGVEYXRlRm9ybWF0IGRhdGVGb3JtYXQgPSBuZXcgamF2YS50ZXh0LlNpbXBsZURh -dGVGb3JtYXQoInl5eXkuTU0uZGQtSEg6bW06c3MiKTsKCnByaXZhdGUgc3RhdGljIGZpbmFsIGph -dmEudXRpbC5NYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4gYm9va1JhdGluZ0xpc3QgPSBuZXcg -amF2YS51dGlsLkhhc2hNYXA8U3RyaW5nLCBqYXZhLnV0aWwuTGlzdD4oKTsKCnByaXZhdGUgc3Rh -dGljIGZpbmFsIGphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gZ2V0UmF0aW5ncyhTdHJp -bmcgaXNibikgewoJamF2YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiByYXRpbmdzID0gKGph -dmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4pYm9va1JhdGluZ0xpc3QuZ2V0KGlzYm4pOwoJ -aWYgKHJhdGluZ3MgPT0gbnVsbCkgewoJCXJhdGluZ3MgPSBuZXcgamF2YS51dGlsLkFycmF5TGlz -dDxCb29rUmF0aW5nRW50cnk+KCk7CgkJYm9va1JhdGluZ0xpc3QucHV0KGlzYm4sIHJhdGluZ3Mp -OwoJfQoJcmV0dXJuIHJhdGluZ3M7Cn0KCnN0YXRpYyB7Cgl0cnkgewoJCVN0cmluZyBpc2JuOwoJ -CWphdmEudXRpbC5MaXN0PEJvb2tSYXRpbmdFbnRyeT4gcmF0aW5nczsKCQkKCQlpc2JuID0gIjk3 -ODE1ODQ4ODM0NzAiOwoJCXJhdGluZ3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRk -KG5ldyBCb29rUmF0aW5nRW50cnkoaXNibiwgNCwgIlZlcnkgZ29vZCBmb3IgYmVnaW5uZXJzLiIs -IG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiQW5uIikpOwkKCQlyYXRpbmdzLmFkZChuZXcgQm9va1Jh -dGluZ0VudHJ5KGlzYm4sIDMsICJOb3QgYmFkIGJ1dCBvdmVycHJpemVkLiIsIG5ldyBqYXZhLnV0 -aWwuRGF0ZSgpLCAiQmlsbCIpKTsKCQkKCQlpc2JuID0gIjk3ODA2OTExMzg3MTgiOwoJCXJhdGlu -Z3MgPSBnZXRSYXRpbmdzKGlzYm4pOwoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnko -aXNibiwgMywgIldlbGwgLi4uIGdpdmVzIGEgZ29vZCBvdmVydmlldy4iLCBuZXcgamF2YS51dGls -LkRhdGUoKSwgIkNhcmwiKSk7CQoJCXJhdGluZ3MuYWRkKG5ldyBCb29rUmF0aW5nRW50cnkoaXNi -biwgMSwgIk5vdCB3b3J0aCB0aGUgbW9uZXkuIiwgbmV3IGphdmEudXRpbC5EYXRlKCksICJEdXN0 -aW4iKSk7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCAyLCAiSSBhZ3Jl -ZSB3aXRoIENhcmwgLi4uIGJ1dCB0b28gZXhwZW5zaXZlLiIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgp -LCAiRXZlIikpOwoJCQoJCWlzYm4gPSAiOTc4MDgxMjk3OTE4MyI7CgkJcmF0aW5ncyA9IGdldFJh -dGluZ3MoaXNibik7CgkJcmF0aW5ncy5hZGQobmV3IEJvb2tSYXRpbmdFbnRyeShpc2JuLCA1LCAi -RXhjZWxsZW50ISIsIG5ldyBqYXZhLnV0aWwuRGF0ZSgpLCAiRnJlZCIpKTsJCgl9IGNhdGNoIChF -eGNlcHRpb24gZSkgewoJCWUucHJpbnRTdGFja1RyYWNlKCk7Cgl9CQp9CgkKcHJpdmF0ZSBzdGF0 -aWMgZmluYWwgamF2YS51dGlsLk1hcDxTdHJpbmcsIFN0cmluZz4gZ2V0UmVxdWVzdFVSTCgpIHsK -CUlEYXRhIGlucHV0ID0gSURhdGFGYWN0b3J5LmNyZWF0ZSgpOwoJSURhdGEgCW91dHB1dCA9IElE -YXRhRmFjdG9yeS5jcmVhdGUoKTsKCWphdmEudXRpbC5NYXAgcmVzdWx0ID0gbmV3IGphdmEudXRp -bC5IYXNoTWFwPFN0cmluZywgU3RyaW5nPigpOwoJdHJ5IHsKCQlvdXRwdXQgPSBTZXJ2aWNlLmRv -SW52b2tlKCAicHViLmZsb3ciLCAiZ2V0VHJhbnNwb3J0SW5mbyIsIGlucHV0ICk7Cgl9CgljYXRj -aCggRXhjZXB0aW9uIGUpe30KCQoJSURhdGFDdXJzb3Igb3V0cHV0Q3Vyc29yID0gb3V0cHV0Lmdl -dEN1cnNvcigpOwoKCS8vIHRyYW5zcG9ydAoJSURhdGEJdHJhbnNwb3J0ID0gSURhdGFVdGlsLmdl -dElEYXRhKCBvdXRwdXRDdXJzb3IsICJ0cmFuc3BvcnQiICk7CglpZiAoIHRyYW5zcG9ydCAhPSBu -dWxsKSB7CgkJSURhdGFDdXJzb3IgdHJhbnNwb3J0Q3Vyc29yID0gdHJhbnNwb3J0LmdldEN1cnNv -cigpOwoKCQlJRGF0YQlodHRwID0gSURhdGFVdGlsLmdldElEYXRhKCB0cmFuc3BvcnRDdXJzb3Is -ICJodHRwIiApOwoJCWlmICggaHR0cCAhPSBudWxsKSB7CgkJCUlEYXRhQ3Vyc29yIGh0dHBDdXJz -b3IgPSBodHRwLmdldEN1cnNvcigpOwoJCQlTdHJpbmcgcmVxdWVzdFVybCA9IElEYXRhVXRpbC5n -ZXRTdHJpbmcoIGh0dHBDdXJzb3IsICJyZXF1ZXN0VXJsIiApOwoJCQkKCQkJSURhdGEJcmVxdWVz -dEhkcnMgPSBJRGF0YVV0aWwuZ2V0SURhdGEoIGh0dHBDdXJzb3IsICJyZXF1ZXN0SGRycyIgKTsK -CQkJaWYgKCByZXF1ZXN0SGRycyAhPSBudWxsKSB7CgkJCQlJRGF0YUN1cnNvciByZXF1ZXN0SGRy -c0N1cnNvciA9IHJlcXVlc3RIZHJzLmdldEN1cnNvcigpOwoJCQkJU3RyaW5nCWhvc3QgPSBJRGF0 -YVV0aWwuZ2V0U3RyaW5nKCByZXF1ZXN0SGRyc0N1cnNvciwgIkhvc3QiICk7CgkJCQlpZiAoaG9z -dCAhPSBudWxsICYmIGhvc3QubGVuZ3RoKCkgPiAwKSB7CgkJCQkJcmVzdWx0LnB1dCgiaG9zdCIs -IGhvc3QpOwoJCQkJfQoJCQkJcmVxdWVzdEhkcnNDdXJzb3IuZGVzdHJveSgpOwoJCQl9CgkJCQoJ -CQlyZXN1bHQucHV0KCJ1cmwiLCB0cmltVXJsKHJlcXVlc3RVcmwpKTsKCQkJaHR0cEN1cnNvci5k -ZXN0cm95KCk7CgkJfQkKCQl0cmFuc3BvcnRDdXJzb3IuZGVzdHJveSgpOwoJfQoJb3V0cHV0Q3Vy -c29yLmRlc3Ryb3koKTsKCXJldHVybiByZXN1bHQ7Cn0KCnByaXZhdGUgc3RhdGljIGZpbmFsIFN0 -cmluZyBnZXRBdmVyYWdlUmF0aW5nKFN0cmluZyBpc2JuKSB7CgkvLyBnZXQgcmF0aW5ncwoJamF2 -YS51dGlsLkxpc3Q8Qm9va1JhdGluZ0VudHJ5PiBybCA9IGdldFJhdGluZ3MoaXNibik7CglmbG9h -dCBzY29yZUYgPSAwOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBu -cjsgaSsrKSB7CgkJQm9va1JhdGluZ0VudHJ5IGUgPSAoQm9va1JhdGluZ0VudHJ5KXJsLmdldChp -KTsKCQlzY29yZUYgPSBzY29yZUYgKyAoZmxvYXQpZS5nZXRTY29yZSgpOwoJfQoJaWYgKG5yID4g -MCkgewoJCXNjb3JlRiA9IHNjb3JlRi8oZmxvYXQpbnI7Cgl9CgkKCXJldHVybiBTdHJpbmcudmFs -dWVPZihzY29yZUYpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgZ2V0TnVtYmVyT2ZW -b3RlcyhTdHJpbmcgaXNibikgewoJLy8gZ2V0IHJhdGluZ3MKCWphdmEudXRpbC5MaXN0PEJvb2tS -YXRpbmdFbnRyeT4gcmwgPSBnZXRSYXRpbmdzKGlzYm4pOwoJaW50IG5yID0gcmwuc2l6ZSgpOwoJ -CglyZXR1cm4gU3RyaW5nLnZhbHVlT2YobnIpOwp9Cgpwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJp -bmcgdHJpbVVybCAoU3RyaW5nIHVybCkgewoJU3RyaW5nIHJlc3VsdCA9IHVybDsKCXdoaWxlIChy -ZXN1bHQgIT0gbnVsbCAmJiByZXN1bHQubGVuZ3RoKCkgPiAwICYmIHJlc3VsdC5lbmRzV2l0aCgi -LyIpKSB7CgkJcmVzdWx0ID0gcmVzdWx0LnN1YnN0cmluZygwLCByZXN1bHQubGVuZ3RoKCkgLSAx -KTsKCX0KCXJldHVybiByZXN1bHQ7Cn0= - - - - - - diff --git a/assets/IS/Packages/Bookstore/pub/images/covers/9780525950622.png b/assets/IS/Packages/Bookstore/pub/images/covers/9780525950622.png deleted file mode 100644 index 9f72d8acda498fdb945dec7f75f781463f60c645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62742 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�T59-qO`cs;-jN5CAlmpiayu? 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 Drmm;2 diff --git a/assets/IS/Packages/Bookstore/pub/images/covers/9780691138718.png b/assets/IS/Packages/Bookstore/pub/images/covers/9780691138718.png deleted file mode 100644 index bc0962f192260d06ae9b302b1134c8ae876767a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70504 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%0DEYVG|(B zI&Li_%^IOjAjP%`U{ux0#jgZf2%9y*wIZ98DuIP;Z}bAuf!b?UQwK)_0@*>)$bI*9 z95j`iy9x^M` z16B34aWr!2(#vbv7okm!t^oD%=!Jt;Gykoz!d0PgXGyB68UlXo{_{jY)}D ze5_@*P`CvFqLnx}=&1VaF(@_MD3X*+~gT+n~qLo|*0 zoKqSyM1u-!RY!g%dhFvf_>H_=Iyx!kxFIh?JgluN$n8FM$WcM_wqiZ5D& z@$cXA4yo%9!*y48oBCL-kYQy-RN->N{<~a|FASWWvA{{x$6E6#p~mF;BtRmFRrh*& z-|^i`3RAVQ!Sf#XaY`_{pLv?OI4iY=E{-XB*I%Ea5eR%ps`;c@P(CWSiO9G@D+%6Y zbMFePu0FU$BRdlP`(3{zHccB2Y~@N4e%89hdgZtA%4o!UNu-@L(oo9^sEnAN;VzzH z_{riO{nW*AOT$-^HGvk@CLs}n&k)JMhaGR~exYp>8OpZ|O>sQH*O*R}SxxFbze5r; z20zwa10EL|lO+%4o+vJko*s%`2$0mcny>V!vs@IalrPyphl%SL6zPPYg*MfW&QOU7 zcu6u9HRa{4i9l7>8j(tV%?%Uu86P~i-1S

Ux6RoJjh5({aW1m<2c;)p~IKDW1*bPw`wRE()-9 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 z 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 diff --git a/assets/IS/Packages/Bookstore/pub/images/covers/9781584883470.png b/assets/IS/Packages/Bookstore/pub/images/covers/9781584883470.png deleted file mode 100644 index feced866dd2fee9c10b409b54ff40b5d2031de2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79675 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 z 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 P00000NkvXXu0mjf0kSR3 diff --git a/assets/IS/Packages/Bookstore/pub/images/covers/9783492051101.png b/assets/IS/Packages/Bookstore/pub/images/covers/9783492051101.png deleted file mode 100644 index c95d7c3049cd2d9c6660b44b5afff0a566f03622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66070 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

NoViU_#AmS?-lvdWkLDViNQu>;j;xW$9Y zb6?@0_z$2)ZV`enuTjFpSbFnyzj}>52b+#lV>S?8_|FSWKmPDcRD#!LU{26&*3|XW zRDfd>BXlgLW<9Iq8o&;q&ew!ooZUL#UfjgPCYMVahRH5@!f+yPn*B8e7BY@Il7mhQ zsM!9R8KA*wTV;2l!gDGsGPhx@n@)0eRx-dVNQ6USEIW~aoCC}G3wq26t;u2FcmeKL&&tL{)^YUE;i zFyyz?45Px=BpsFPQ<-Xe*nk2$)aLJDaPsMnl}_AJNOmhZQwS}T;D(dQISEYX?`l$G zI;I48PxA^-aSTarfqga>nM#cJcD&h-^01j&DnpPDT`nXZ1be|L_W{DJ5r&!z32EmmwpaID3)16%E}bWpGZL zi$zSLs*n-+{s8;lQXPn(xveeF3K}nwsza7XL!!!m#h@3HqPy01LtTouo$vdAq5qR? zmFE-r@^F#ZH!t#ycvTIpV*a8fAa$!$SdESj+ussaQUReUPW?MwS*n5jvD(z*mS3n0 zxIQstLnG5yuDwT@J7>T?@A{d_CtiMPmtw8}ixzB5jR+=ut-XlFU?^9PE3~1u=c!_w zyy~OkFLTDz!$bMg*xtzDr$){7kf!ypO6UoHzz(y+qewDLfO(@je4i4&j`EURf! zU9>81J>)v4YJgKtuc_ng&VFbeBxORHc$$seP7agLEThSpqx@->7uPU(E`23EPXQk! z1ZAAlI}Zq*9OVyl>IX^GY|jbeKpmMz@0$Au5ZO( zEnedEIONwMpA*1^-}8^djt~r7)L15@-@a0SwW3wwUZpY>S|TG#jnQcCbHhWI*uBvO zV->AN+Y5%#Zp9+cvKix>h}kYIDeDC05r7w%&9W(e3&H!Z$;ES31gug7iVV? zoirVx)`_@QcvE*_&-w;3C1wD?V8(rTcS z3L`1YnuE2XB%(>NUU=p`u@;mRTkc*GyBO_1MrN38Rr2 znN|Hx!~Kd76KCs`%qJ-Ew(%k_vEef*p95g3|9O=%w&$1r)1Pfggc~E9`%k0#?GB1q z@1V?5Gl5ldP-?E&NkeJ2LPe?DxIg;uSZl?}fI}2wbI5h1lN#cJqJN`vL~fm&dJm$~ z#6pjDaGfK(b{)Ci^!gDV3@=3k-86T^>tEjF5M_Zd7dE^seGlcz{c(R(yZ&{c7eUvj z7_O&li>tBP9RCU52TOHcaLP3bPQjeeMe6IW(+qg|U|Em<`I#6cd*WYJf}BUW;Y_t@ zK(^pF_4M?l9m(-S4NkzLSMP&jFtxJUc9@82vr#9%(Z{vl(xtC>O(j|dqYmpT*e#R| zIrcc!HBdxz3a}8at&F%hV@FV=S;T-}18)2K6}CnDxdpm!e~hyjkn)^dZ)4z!a)ABv`{$My?zuZH0S`b3acLP3F4_S!hlRd4*fAo4+mz=^y> z=nv(UWxbq1nudj_4*xT&`KEV)OQ|8EWD?TLPBc&PeBB^IGK_b*F)5bl2E2b;;o=ce z);_jdDwxaXDR19)$elwrR~EpGk9_}dpAtt7XQjYjk3ul=x5~JcMG}ZvncbucjDEm? z3UHJ2dlm|82hB&*P>Zbdfso3F@L-2-gU2=?ExQvd80#d#cbg{J@|`F@j9N>aMW>hP zuKsk1s-p=c;ugl+KsM0JWi>ZF3VA>__${ijmgWXj2-$(Z%ze|R2 zwG>k8h)V#sFOQ-Jil|EOU;tv8>A64i027e&?)-{2gY~4lKNQAS?GT`-;gx(^hP#W5 zn2)p)>rT}NUsC6I@ieX=O}TIufS^3`IjX*QF4FZFXRLMqE zPZpPuW2K^{t`?_3-m+cQNFj{((_Z%3Zi}aG{*Ar#+Gbhv+>$!G^^ZrQbQMO1h((>+wXSjDD< zI6)L8u3)QOy0{%sjBnDwTeK`3+7LMg)YdHLESIg6EY-i2ei>ehxj^X344tX7L#j%y zP2U2G;m{PjW)L_7#9BpH)8GHWtfCR4Qiw6r!tm~P%|%MKQm131-5&&7ygkCGW z5WHEZG@0D1#~@K)J%4e~%T#dr-lFJ6*rxf-%46XyaSK?)nA(p=FQdfU0zm4^REz}C1XOU=+RA0WXzBB)M2?Dlkl37Q{9ekDp#|vvX;BmVaKpikGads zZE>E{$QA#|m1Bl7D=QK*(rtZ4jT{9#puDPWti~K{Iz=OhxJbu;8t>t^v=1PK=( zW|b~d%-}S34(^%l&sA+-bVCfS>Bv#PO`nunL4OHn+lkTS_842!vZ8|tQ-eNqAQh2TVK;ps0D=)b)@1yN#- zH0RLYli>o+`x=`JM(l;?!h79?cJI%=g%d0b^A9dy`?kP&6?7H0@4BE^FYPQbb=+m2 z@8m95xd3*Y3964xZ5N7CVnK|67dJk>-X&~|uxzLafwt4SiLw?up=o)tOcr7pZWdo+ zDwuqtxAd{Z_`-+@Bm+*|R?ipY-FL?IW`G_3ZR-(AC`Q_(lL; zZBJi*;69W8A@K)U?OTzS_kp_C)6UepRkR`$jX4D>WLd?V_bq0R?#?Mu)Pbgst2|lw zDP-Zcf3k?4thwVt6IY^WJp$Sg4(`DbPv8MVTu?q}uNv_9=f zv^s~Ky^u}mD`zz$#3E-IANFHaSLxxN-b!7}KrPk6_P6Bk9HYrQ>f|A5#(9AR`Rk52 z0dr9rJM5Ji`@vvGfq+)aIp&yC*g~5+Md%H2Ra*Q$+@`*p1HX$at)QDF|2I9StNRpn z!=OWh)rHvBP2ZH|-0Qm~qr;EqIpN(;C8*Q?gEhIf>|El37CG&Lf3XtR&8)5_v|;?z z@K`-gLBQgTJFS!2A?c)4tz~K}!1M(j=858(j0D-U=8Sca0vujLRh8cKXMWKt_``8p znsgD3JNyTuFqx45sHsa50(r6=?j#%QCwr^FX#Bib>ey-Enu-Ir*fAXS^q6h7P#Q}TH-yDVXBl=?z@~i3`Br|$<=;XRYnb?? zX*%|Ak$ImzWu6fiJdfR?9jLT0Nb%Z$M}m~}TDebu>#BA0$*=qAUQa-W)o0#*x$_Ed z7=nVM{&!KMTlaO)$5-K}i2R+WUtZ2UuRT233+32Wl;~7zcZtNh15#0{uv4*@T5z%7i<`QDWTo0o9 z9w0t=Ja{Bqj6(59Ez-D>+MzU_D=XN?mtkmC&@)Lx1%tI!&7h?W94sx=VY8W1x-^Ko z6Qr?$)Dfd3^+PQevyqphtN2oZ$WUABQoIuHUHq@<=dDXwbq5eZ+_YReRM|PflC!dC zIt5lkHJ|fadp-_0{OI@>9+$C9DPg|95NgOG!FP(C7y$v{UE#nNk1s~KTV{g~7%!bi z+CY0C$YacF!#Aq-eaPr4Lb+$u$|x`k<2h;CDc+cpFGR?@zqGIsPD@cu-i>f;;7pEH z45>wGf*FHrJ4aH-*li?ZZ-rW(5Tv|9Q{;VjJ7e|}L$=efh=R_ISwhlJ**@L9>@a+Y zXvLktN=-6igWP3xFPiV!1a%(qv-`a$2Hts*BYz@mvb5@ZERpMZosRyvcMGF5Hbn%Suw8HZDJVh}tEmyXTkG;{`lP z@HZ1NnHjGTMce|UPjQE;lJ*f{$hZzVX_cvbnn^~p{@>>$SR{U3&k33W8(@c0Jmd7) z#R?&Ox7K4nd2AH^U=)7)9oP9-fsa+za&|o{Ca45m!_J^RFS1lMbHiB*UJeUT(Aocf z-42;kUonTc7TGo6K_n-yrj_o#UIj?C=+CRfz=k_hU=50qK-EUAKnEkOKHOHiqyLJ7 zEq!Psd8O$-MO{>o97| zuv>f$)#T@5P?=4+>1Z5w@zG2%v?VG*NZ#_ppyS9#>imPdHoEQQFSTs8kDo8|mdb7_ zWoy>n!JxL>3DwlTv_}3PS}1r32Mw}HmCI7U`|BNfH7sNgkz${N(a8dOgC3uk9=HCb z3c)p9%+y3VmXT?xmcoeZTpbW!T&4-XaT@x4dJ89w`K8QEx+$5D-icc-D^4igMLm3F zr+#t;pClbg)?wAn0Nb>|iIlx9JU2CA_F$o|x}rb$&6x~uFZTcv_{+oUK3)=BL0?Ri&!flf03m8K!n%HP@g*%*4Udyfmqk z5#K709xSF`Wa>~vu1s)T-_c^BxaXrBCbHi+{IT=49QurIQ~sj5mxTF!k_9CIA)0&q z;XoFHt9qF?f1-}3THM3eSM11dP)y%w3m^G;2-c-b%CvZ1#v)vd)5AV`O?sTa{^;iq zqKt}CNlH_hKJnx>ho*e!@J!;&7#1}=nxC(WMt|tIQkmjpSV!fHtuZlpHPH4i{?xrc zDJfJx`4S!lgjLA%Z(?>{o_`~|Y&CkJtsFM{n>w+B;y)-=f*?ySK~6OL4CSLU;xTs} z@6l{WpzIzVd92~V6Zny~bIY+Zs?;3Gv8OL^T$g2p{ z%cfuEW4WTZ!BXzwx#yzxm+prjyG3Ts{Rgk9cSDpcfSOpi#9pMAg)RIyzRQ`Iqvfa*{v;Cb)S7l;-{H8&$gj|&+n zC^1^AQ3QC0b$DDFxxLph#LcJ0&6@*aCz^v4T@>*#&tQ7(U4-^JWlaV;-0vt;0yiih zd-6TQZ14T}Uq8FHgFXy!h7JlC!iCaWA@HKc6v-(=9GgK-M1Nf+xqqrEm1&brw+y9P z{6<0Zp#SBsw$K!*QA4wYPvdKS zWvmdtc1{Ay`_DgZ2vn=6X=->V9+POM;r;6hIK`u9R#J{RJREEplHJjd1!QJsXX1Ws z=0~t1!1fGH+k z(L!Odj{~Hs*WERqZmkRt@;?@xF7=GwQO`H|3xIjXsJ19SFR)}`C+^f$_I$J~6$v#F zg$n8m&jbS+MGdmPb5_vF7_PuHrs(2fHI)e!VhVYr#RQPI*!eH1<^;z>Vq-y>MU0!F zw#!NlFPo8<6Bn7Z7Ep=LGMt!`Lxn|3kkqx~2^7gi%VL+#%mW52$kzt<{0LKIDZys3 z3JpHo;G#q`_#3)V7SaXtP@=*!{sbpd>?H>xtvOC)I3>KMH&~@_Nbo3jK-)q2UjDd@ z;&nMaQ-cV&u!kg8kxM31eRMuli!3aZ#dZbKQ~(G)D~jB6BqJ3?)FyUReLQWrHk($# zgtW%o-A02-)6+`q(*7B3vs7tuQAbWoWtoyiXO{{zhTasQEUM_iwXfco@w6m-+fHMWQicx1ryiMH=pY;Pa3{;j)_o+r+4u+Dq6Mk1~bhNPZP#0r+;*D6ei5 zXFts}QFtq!M@&!~Q6LsY_U)B4f8%D5u5xQ@P{1pa*ZRtrLtrMvazeZ&@=w5&%0pE> z6AO^Ah3hM+d0C=1Zuh107HX>JQefP&^J&2^$Sk*s?wKN2_iTsopAJ(fqBd+&GdtNEm+$yazrI&ksP$@174Iz z(MXu2G6*e&=J0{^ZzXZdemW6cL{1W#GYX~4W1*(LN~%h#J~4tT_6bm?9^N;p?Q(78 zX3!icwDR%@pc|ViDI4+mtztYb%Tcox3+B;c=3M$wS2Wp}S;oS0W~ZQcmX;irtf(3r zb{z8?q;J*H7NSl98%)47I?R&jEN?LjO2D7xMN)&t&!?N1xoLS*_YoJzkBdO)D(GJT zGP5aZ``U=)KG>UZS)h4A(WooNF@@Y=^U#QzX}-(Pxn* zFTTU0utR?D(CZ_GlzpNc9TmcWrAF;Mj-OL8tFwa%EABj4#M0DX&;he|)y7VhSXRb? zfl^6Y?%f&A<;-<|U~wY(Ih$U%o82<0wen<9A}5%WdJV%VM=<1S{upPB9BqbSg3NJC zvHcJk3J0ylkZ^O;#}e52SZQ$NebS36Q3R(<-XXZNLbJp`r%l@@*D9GxaQvY#Rk-Pv zX}#S-;>00i43dm91nkKuk4=f?O?AT*)J8y`$88@3#suXw)kvGK+veTmlM$0wW4m;Z z28x>=d#d&A>nfQ*nJ{!rZ0@Y|SO`@V;m0rdx=kEy7}2_)|L#WyuBsIQDMrAfJD1H< zLZI^p(S?8_-Nu3k+F>U`?y*o|!7PG@MEb>Tu#Vj*M_iwA>d+pcl+`0fJ%i2(COU}9 zI!8SnH{$zkU!#K^(bAkp$ma~doS{POqfHFIp3z;sizIt{ln@+IMrePQ2b%bLsAMp ze+)*+YTQ*@B(tMAZMPE6CXVuXRZ6s#z%7(Qc_- zY9+`iebM`h%=(|jvOBxfor#$!iJ%!XHfJJ@Q3=G^LBYuxU#0AjXdE2o?wVTd?(sAJ zHgOwReti)e=EyIMgDPPb4MBaW4xgJT8)mdV7P+Va3q=c=lq))G!_kHb_?`h@Y7? z$MCe4V5Eag79vWB3GF>&Aort;?L$ z?bvqaBuT#$GFW~0`TSMSjX~h;h9B0$iG&x|d=Re9Gv_Q1>P65cWKM^rZd#j$-XyTE zGCEQ2q@QQR9QKJCM2ogBP>&y2qeL3aIrHt<^8W!nLBhU888<&B0vtT%=wOw`>Rf8b z#*C|Sv=Z~1+z|Q>-R$X`hW*6_*Uw+DeRaW>h^tD<^T*83J9Ji|Ef53Nb~PdQK(GJ+ zAOJ~3K~z$v7%qNDA!-Dz3DMKmEiOh}iWi(&;gn|m{EDnB$QD!b`HXzIpjw_%%;%V5 z0@|j|MImRXj|6DISS{2mci6-1-)fGtX*5BSbg z*ByN$Oa5%K;JSWBxVj~_ja+nN=wf8&p&2StDIU&?oFbRlOsgTI_oI&(3KIb%WV2)P zsZz)35Jtpgq~hQtxl&3CrZNO>gQM*`y5LhkyuccpytXAoa9TpA+j>XuJs+ODq7RXm zx3~QJKmAi~)@yq2lWMd^TZQYo#5ZLr^PIYC_}Nc>%FBxj-g*1;g5Zzfm6ohrS(K8M zQ!82VjLISNs7$&`g*7RGaw+u>3F;Wf^B-(;P(O{S0-{WI_?;2hlj7Rg6MbNJea+>I z=XB4X(eL(@-V^hJtq&LqUy1gbi&*`)v&n#-cLbVNL-;ou_C=23HuU zPCYRw`h7#58GiJ=AMhXkuWvD(E_nLzoZtdpN37KeyPYT>wXA%~$Qf%Rj>KyXDoRc= z)RdDO4I|fr=*9Yw;E*X~Y$S8RqOcL6N$Nc+IKt|Z)vH%*Kl&;A+gqw;&r~U@7`W}g zqbR+{c&W9LuC?uA!1oU09GO;3hgx6=g4k9{6g(2jNuvm<#+GBD>p)8(IrNU(y5{P| z3$llgc<{M5sh)n0tg3LXBPvZanG}eF8fDE*>ihS-5XIJY&2lNdX74?nlg?3|kU9}z z;Mni?^v(&5dQ}Rj#CcrXP%6lXwCh`f>zPj`%&Q5}cuC-X-RMn~He%#4B$;)UjNTJnJn)cthqVLW6nLv?y=UKcw4H~}6KqaU8P}^T zp0BsOcy+-aU%%k}k3Z((W`*}5aZ?GFX@oo)@qQr&+Tba4#l@>v{15-*|AaLezyFPI z^5pR&Vl;GJNTVQ<3~HtDA<}oP)RZ%wI0Di_!7$)=FjT3h9##?^(>NB2E(SUiD3!*= z2%S_N`u&cJ=g-(b`;g6QMYg`gq9}>j5Xij8D6lbNV@zy-;=Q#}*!}Pq2rHg4f)Gz-u&SEy_S>HaV6|E?nNB!aF1cCVaB5C*-cw{rq(F&?!fv0--nbAbtwWeHVQ5fnJzpu9`;-Fhs&ke2DrDPhhV!Y!lGh167)7r=^7 za^FMaLurLqNOBc=yi3a@L$(Y)v-Bas+O(1P%Pq=CCv2k(&(=GBdhv>nZnnI*S#fc@ z_B%NBX(F-L%{n$y^}7`cfYsczyG)Ymhb%4xA~`E|2n_( zmEYpw`8idYN#f=LI;OHi3sT)q_b0$@VcMcO}?#ges z>~>qM4;0o?W*I8ArSmLDh|g1h-Z>%CHBxpdvm%8x2fS(M9bM?e>ysJ_X#ybZsZDo)1pb+pMCwC{O(u3D)K-NmrN$5 zEd3ff=gF+WIiDWF!F>+)c!*BpSiqO&jZ4X#)RzOM?}=T@ZoQ#?@q()lKO$aTpnYJP z8}N_^;Z%*mOZ7qxwRDN=5A@UWpjgh{Af{knYlDrE$$pPo-O^oOvcI~bzq}wcHN9)m zXo`NIi;;GiSiRI6ecyrCGJBpG%IN8yeaL#fMm>GX={xVD=ch!KrIkavNp0J*TCI3> z@d~4pAp}vKwo0>FtvEY5!8aYD=~+(Z%%)Sk7jg+gF9v^gg{y1M=W`*UNDxA0G{LK} ztfP%)S|qVBFX2zDd&z3U&{+{Lnk&#&@ChmaE+(?G0RW!btfWrN@co#UEh0)~)KTL- zv}VH1zUFT(Uh$*n&-t4dFZt2Sm%OZNHoe1Zjqh8c4@~yGfKj|-Ox%)JjS;jmBbB2x zku)Lo$3xReBAoYp`+MK#r$76E|Lsryn6LciSNP4}`c1y{8(-q>H=poexj;EbZYP9< zPcZpNwK0~ShAoZdOY-SG42*q5qVF)P2}Y#nQ3~r-hRS3%yH{ym##pjyLb+T}oSo9nCaf=B(cfGWTrXKWLXy>c zpOP+x$)$+vV}u~36O)1+AJ(jZtgM*Z9P%kDi3u2Om`+6%Wj3GDcfu^vw;fegF|8(8 zV{o0Lb~`5Jl*x30@8m(rt)acX7Ao-0Gu1gW8}V&Nfx-1&mTr}j2m-zHG+ih3 zpYOl_KF{_oo4&_oInjlrswdt&1T7q?{y@vF#yX#z%P^AVkLI}}n%r1XlkR(bh}3Pz z^=8daKmLe6{mZ}Lop;~iAN|AM;HzK#9lrd|J7h*PHCEUIhqYZD_ITL27mA=DO#-C_ z$ldSvgzcLC*~i?xctLZ!qH;aPcVw;=`lL*(+^4WfTC$2hL{aWbWXVxWqiNV|uOu)I zi5zS&RArs82v;Tfv?5FjYS&P&R#-i75P7`v1Z4gt8VRhU4+63X5$hvmmZPnu+ibXa z|7W-W#jl<)nNCnz3*^m%d8*>xU+CUnU0gdSp) zL>DEA+|cS7Fa|LaqEB5u#w;GCiAsPqI4_z_p-+Ojk#@IX_hG}ct5^K>U;n@S*dB;h6DXl~o$qX1L17lh#Fb<8PLZMxU*~>V4e|1IIG^ps9z597M znG#LTuHA5X^@_{O8+M&!`DLC{7CG(umep!S`CDJ%$@D3`6s9 zW%vGjG;N1-9eI(VgQNG3Cic|3gn_gan($ zLBcDLssln_?t6!iJ!p-w8OBbf$MR1m9D7PaZv) zk7OvK&WTF1^O1l&ND9zV9EtH6`#zwQL)l0)Y0@~w-*!-^FmlDm`Sqw$ElnFRpvx)w z1HrQBKiqH*B7N$ozDQUgV%NW{WA0 z-*}ADmWNr1&2sje4MmY-&rW&&gZFvx=m91-2}N&MZ`bVVJ=58Ye3B9OdtBE`+zfPG zL$}}3MTg52HWLkiq9}#&$0fuUVz2`eN($76HsNqRj`fhz!k)5wgSJSG}#rHC`c}UO{5qmhjfqQQF zPMY^YrU$jnV5&KN^G$5uvf6Ekl%S2c@+hr2lu32cbP$oFeF_dT^p5qb3(Dn!#bQdf z%Ow{)P|2-$B$Mw+%z>#qD-073O+R*!olMxb0iuu#Et3>Q}mrJ#t{pg z{C)yuCrs_|vj8dzZ-7#co{sn4|A24*@JD>(_y0MMra3xBavh1W$Gc8yo!%2yJKW_J zo1guR&BZHpb3>*TdF&;0) z7zc6JsL~ug1~r{Bd-Ry)%_Tfrjd4-%GHe`Tr0?7j@_YD*soxf4Mn@a=n+^K%nyD^u zO7rUZ4ZVx3o1SMcUT}J{L@QXmddZWgZ?LcT%;pQ)y5V-SW-^&FpUudOL3Iuv#f#PZ zJw?}176m4+@W#+(O2o`mMw!cqOFo%mvkaZ(f*&o)bfLvSrBpc-x?978b z#28sOEp6Y^w2HQOOh0@bQi|H&U+LZt)+!fpc;;t@?sm1!wMXpK5MW%;?c*r;gwK?qecCnZow?IW)nq`ag4GJt>XZ6@8*IH<^s{~sQ@sFCs=BAI@3v%>d|65$>& zt|PQN;_8Ck%jc|~KSRG-VS3MLOf)_&2sAI%ibG5+08v)y@u80?*NcZfzE9;nr&Yop zsPUW**7(|)sX@-=_-T+DomPS?%*%?&`9s2khg@~fX<9L;9Pz*cPdmDikO&|IMrV|w zP|!3j&CQC~w79xvT9#N_uowX~_PZS_L>7w~c~PJU)NPI3 ztfZ#r0+V8b36UO6muF1QPMN*=gvFyb(bWu_7nnjYn$ZW5@UaqWM|EKBi-&Qm)F8QQ zsH5j36}`ne#`7Ndo`MIP6=VxV>lMqzDY-4s9-Is4fqPLYiQi&mz`cecZaeax=?AGq zrVkEkM5_&ko8sGqi&Mh^D&&Ds;`xH}WI@0&v958u9VX1tuEnocbk`TGUwzE_#dG$n z8|GeG>77wvjHttCg$XjuH{?8Gl&S45z3FkB3GTkebo?SIbhyrgu^uh`$7Us;`4Gl( zhffqN!5FXxCKIZsZ<4LIxP5~I`rt(&WKsbz^y8rUPt9@eXufh=W0koaa`BCbG1@+K$dPep7BR3j8a6e=|Z5KOqkD4 zP-w}{Lml-#7zR&LB1#Yt<>~~C16gDF|M-#ln`iT_Wg1A0EKtUm1j}gp5JZ**eeZQBY3F=4Vt7-(YpS!Fea~RTL(WAyXX- z-=t(t#5M7KPf3pNI_m3d%F_p&EEe3>4ZF4@I8WDfOy^Tpt2KF%v8!vAvjwHHXk)=g zHk&o|e#?W|0=L=X8!6tKtVB;IoP7RWs;5t3zQF68Fenxu-QV%S8i<$fUdz!CKY96% ze?FYI)GF0zsnY5sk>zgI4Ie#wChCOR(DWV`rF*8eMnxlRBi=E%r#lbLa1)J@#)C+X zjPdc<>Wp!uWREHg@t0)&Duo##;_DqI%L%)dDnDWB9ZRF=t}l50{U72luh6|icL7XA z(3)4hBiamewq$X(WU`o1RV8`bvAw)v{r>yV1@iPTW?Jx90Y#T$et&FlA*oakUS5$N z;Da&S*IoQEAsesI;ldA^?-+wBN=ZnH0veCtHHLAGA%u{f9FUs_PADG(+G~902)!e( zEN`B@$z;>ec8ki}L(??W`#pJ{kr_+pz0B^1NH!~2K6*rX zdWyTEV5}P_H!*omJINC> zx5q|}+VAj92a}4}$*MR!GeJdyj)xFsxHeI&YZwO|36JkR?Dp6)4;Om)>~Jd?l8J~Q zxdCM@d0ELo+4_(W97QGvw;YazX@&S$nUS6?ocZ?E* z*3f&$ZnpzqI-AQ|v^`DJkx!<0=O~s-^w|<;G(AFtC`d1HSfrl6+;DlE58#f07U+;z z9-Yy62Ct6=?wN9gK1kTqILEjCpFii-#ii)IDj_d+-2kjPctbtJN_TSK`)?J;>vGq@ zq)FOD`leFoa+qC5LbQOC-y-zU(>lj{AN-6T{PZWh`*_KN*@CkNQ>L>S%ZKNf>4Z3) zKsim2p_!A8>3ACK;w?5K+-%u=H(1-*qgXJf*Vd1fO$z zyJ2~<#5>Q-F3IwY)3XPlHQU`9G|Xow9K^IVJ}UOT7v}2af>@PwxnTSPVxiHA{CNn0 zh}05I5<(ju(SvCWzENlokF_R_t0J%eUOYHBEpj*?UtjTme(PIowtMP*L)IyQSf-?E z2%EHusH9OE!lxK19E|jM8!~4lURn|FR9uD!FnEx0lvFRbmaM9HwOR9Ov!yzF!s#1t z@aX)Ud^W*U1<@EF5M@RjYcv7y!Q(?j2aU%jH5O^_MlCa8Q7e?yBV(dHI_$xq4}4u} zba=zB+2JvZLku?>)iGgMS_BjIbt?5G#8i$caspxiR-T{ZEBA?;DkHUqE+iEUrP-`+ z@fWYyX^ra)>)S2uzQ=h-XChti$g`ZLYiWGPVltzsO4_c&W)@{KqOtTqF_|zsUE+gh z+eg6Ry&~@ox>d=OhB4{UT7edEV68PaiLhlRAB8OjhUhOP$t2L9G8-UzgLN?lJe7&xZ_P9B~wx0i7M4Gb&_+`$xu}Sp?WXJ zsWVHDXVTVxV0M2kt?GCDB?16Zq3IwMP3S`n#|#7vSt zm-quxG>HiZBSjz9?mH{j(Gqr8`d=5L9({Vy9~qhf$ShQ5CC(xxB{7Xc>-6-FeY>Nb zs>4lot_P!Onwn<2Wv4ZpRY#19>+5T#vnf}r8pGgvj(v#adBLQbP)w>jQkVBG zPx{7Dpqf_VVFmKQ<*O^c{a4>+eY>XK?ujmmic?C2eHDp^AjK;J6E`R#UMrjncoS)yXJT`nUtaP2@|GuWzk|)hs=S7%r36=a zQ7trP;FXmyLZAUd9dzh2rGzSqQgxQj#thd;jgiP0wu~P~+t}+@BM#>{GqB@D8V1*f z*et3@ryA4*^yw5mE$Lf}@jW&u8P1BHUJKy2OGZ(6n+9xz3n|1%?gI1440HMbW^;bb z1zBEl{<*ifxw+Q23wUB-qUqGbzO74U6FM=^t2?eDsr7XM%z;48Vr>PoQ@)$&jIlPH5jtrBTk~Q~7M2%W>yH_zWyEojSCT1^eI< zW>txy9>-&caPofoa5oDZu8=UWB{}Wm!fiZSD(~$E1Z@?9#|H&AXLWsp$|tC%i!<}uQ zYLrCHj-IouBD497uIp&qmg~)iu-|aDSdwQsDg>IYq0CDN9;F5@fOt6HAm?~}eZzOY z^BsQp{U6ZnYjSOIFe<|g8E=dTD4N5oT=paI_K_uy#r=ERNL~JON@_=$14BmRU0}Ul z^QV9QXMFwZU*qZ1$5e@{OC=)@W8r=<&?6I3!|C7Y|YIaj0W^NuM0G zP=BFF=CD|IQwYZicYe!=UxXyF?;*yJ>eazgX+m1$>=fZn5l$w+hgFoJ0mo4j~>C54D*oU>2(~}dr-f?qt!+x{HDos(9 zIOoW+OlZti%8KKVI7k70f4igIHt3+pO-5UH(wa&9oyTp?qm*pCR*^#z@`-Etci7}% zkaxJ7`o>Y3zHJ)z+pTbGr4`brdac&>&O`s&qq-Ak-Z`Vs*oIo_(Js|N`+`$wPn zGT#4&NnSP0%ibY-x$jX2Pa~T_r#6~gHs?G|-O%2y*=%+Kbg656@JwbCZf7XK0xT=;X)(42sUbHJ)!Q&qM-{)I+#ky^^5vwSx;S_W4yo}OFfj#K5J7) z|KIuUkb)@L%Xk^mo5c_$h43;%rc+3#l|G6xKI^>?gN}E$dzggR{-xqxzyGs5>T4g= z*H;WxGEnu2`1Q`O9eom0Xq&W}l}@j6V6AgB>ox05&3dyVYdgUZD7d=5X8XpL^Wah1 zu-RNFum9GkU;o3t4?hwkjbluGsCO%%$aAtRgP7R+v=Tl9RN_oMyu~kk3_o`}80dY! zXn+3MzJ7lUyE`h*-VdOUe)Z0)ECiw=tkL)wIXOKeJ3AwfK(*k(c|?^3>-C!X$%6jz zW6mEw#AF%U-ImQ}LseBwCX+EC@=3DNdoL_1sV+Liry?>dEYm~i(6%jgUDNkHWm$4^ zB6x!1Fd#-53*OwWxw^U(y2zs7_I8annrbVWdPcSBJKq3?FPrE6QEBCmIY-kpD5bc$xgkd30+>uD z7$b?AF$V8F+wGQ{o0~C7+U<5sCKHy+<>+O#7S&`q&cite@0l%6L?N$f=$Z}{BJFxd zoX%xH5YcfOM8h0nw4$~CYK0f(in}B)~AY)8Q~C!L+C_O z<5owZ*k@$+X$DL%{YRDrl6eQ0>PvQHp6-Jq%Y_=UZCkWbWY#7cd+53jjNl>eTSiFx zAI4;c@I|_n>a|BYq>2Zu!d+)KOvBov=yy2&BZInoC_`WPjz13pl4lsx(xY%hsT2>5 zftxHf+8A8g%Y3n*IyqtEdR&aseX3jhix)h2@PMxGg(<{)R;$$=&*{C4pM(%tEEXch zd(X=bhMDI%4<0<=`udvd>+8|8I_E~i9+v*`stj?e)>M;8!obR0kLzXH;C6M(+1VK; zsjPrPSt;4Y7&t#W|Xt=u_omlF^IIVG7(tFg3MV1kRfPqMz$JZL!-ywqh+iagQ$~bJJV;;Z0`xFP^W9-@k4l>^P z)8jPiC{a)ZtrIhb!juIe&*)L;JfrPm*Zr>-qj4-N0$Dui(HO_ln$l6XdFLf zG}3W-k0|d6eTQqCM4=sys;Yy#m&!m?=_AelN2BSYCm4+>Wi)rQx#i{6B|mxpeO&N7 zd-k07e)1mQ`R;eQyu9Rkb%RohuIng@g86(tdcot(q_O2=Z`${Vp}?{%N298$ip63v zCSb=#J{YWkXe{>Vdl8AfY*7$YWV74Sv`vyn)aWE%qkW(Zfvl-{`}~~${OiBRlk*4Q zd!e+%ry;^*s7mT6X|#P1Wx1D4#qr;#ZR*~?dp|rpfOZ(l6awF}DEPt`-sKzL_y%u% z?sKDH-56?pVtA3eneyM0XZ`eKD&GC#?s61?fC?Vp_qetjVQNCPc)z$Xd?in>2f7&O zQPNwVO)2J6&Z`M*cc_>%oz3|5-}rUD_r33OvOHlro6+?>z3Z7xrc_lmCQ8R1a40wR zeJ=>8l)-mhhxeYvVnLqgV?_YOD|cOYIM&pex*H#gHwn?9jKL$zwJCB;S<<%+o4OVu zH)WE*Z4{QocF)xhe$3Pb{(4s^ya6#+71rMz4xc?41^aEQ{?1%&L92JAM*SE{P+3Yul_dk`3&zx!EnHO7<14>iJ!gu|D>B8 zW~Yx^w!_f-(fpM<59W0|CNV$W;nsEO}W{Rg%c47?>{> z6lTiFa!H;SJbm*`irZ^K2t0cDh}m?;$zlOO(==m!R4Fye+6>;%dq477)pac;q10U| z%MyUyZbwy#1p98c8!H4pDO(T8)If?5$7>@bztM`Ynawh~zQs8w(<>2l2)M4Jzr1Ai z>VjEb;Paj*k00^y!5Q0^m-wzvqbiI^(tyNN4AInm&lz9y+5Ig_mNO(}_mUWE4caKd zl6pr`6ny;~U+3TaoBx(Cy!&~kl_dn>PL=A}q0@J8?#J=nC&Rum{2REj06wj5eCLer ze<*C-ZLwCAGpy2BFFZ`dNQcMkn6&CachWVX$Z&Os3LCoh1bjOV)0i<{6%`ku z#R&>R?AX#{GmD9eyewGkrvx9UHx0#NO7y~bXPcUv5C4*K_W^brIJX(Udph9<+iR|@ z^v;{2!00J4fbKfzgo7$GisoLoZwz98jwcnP=wRR)H3l_4Y!TOWm^?#UjW#*TL>@hU zz{5u;l$FNnPWVa@zEYjkXNG+bY%EGeVQh?&_92f)1-ZX z;0ZbqRm59x(X)3ORG!lX55|yH6;Yc+Z01szC`flFcru%Ddb*@-T84VtFou%nIdxr+ z1~n}A$L-P(0=wOgqA14Chi=u-W*y$wIq@uds39hU6{8p4&}bk;&p!4NdIU|q+0$>D zRGaN6j7%@&P0PiHA94NS1%188!~)m0Jbw6)FTV46KKkj0?0uvo3a@O^$0AX-ciz7y z-A!TDFVK=?KvxY9-LS6+y2wX`Z4}JrOTPBCf5K!k{q!X5m$Alw%4YLCXSdst*^II% zKqoGGBAF=&8WEB;784@gIgy_9mT=wR*IR59Hs?$!tdb>OXOZBwpx0v{%L<&2G*M&n zj6So>PfsaNPqC8;MejI!a8B<7ebOlDKQ_D_D7-}~Cvm`*CPfi&md_V<<1zvjU2eSn=*6WXRFGlnuR#5YID zIEBG3(8ivq6+HomL-!F^?@_BQ;dVYT?J6RCHRCEtj0V z^)}_%17emFeWdGq_WOqQ>XyY~LFZbouCBRR-ICdii^~g6mU9*-bAUSrH^B6ckx|2v zpQpa{PzgBh^ACU1b=_F-AHoT1MH$c-gH0_&j64)NW+Sx?< zB_q`_ineRogc_HS=+sHw8jWx-Fr_Y z(TJxQR%ip{sdNN<=RX+xl>mi z40YK0zP}Sr3~}kOuc5P|7_N)LVi0cqfDVus1wUAS+szsRN&iI&zQMd;vVhxqtsFKzuY*8bP;-!k;4L%{VtHp>qO7gBe|7(AY+ zJUUa@He$P)aJ{1Hgiwpb{O04KWfoAVC@Oxr$_Z$k%CPeZ#T#!BW>b8YfypUs$@zKU zba_U9e$HevWxcy)d3q}2DtQ3`@*-okT2a?Er>Cc*S3HL00V5*HT01rahHdy8I2dWu zG|Xl*X0zEHg9q*cFw&-nkvtDXMV=RQv6HGo-Lt#6!d>1l=>vM-QfLKvpmmO@8s=5O z*M9rA_{ZP;CV&0%n*Z*9{$F@?bwfy`7Ya@A0hRa=#(47=z1?b%(L5xC9Gyp&=RAG# z24DZi*Z9g;zD!jLXKY#IB85JbAYgnt?!5gkIaakQN`buZI(p~O#-O4}Q;f*a92%le zgasCrIdll@)*HEyDiEAdbW0YO#$;WnO6C5y#^EXzj2%=4TWBW)|CqM>|s42A~A z7*|W9)96h>1|Hed9Vd4v!Hu6+Zq)j+uIfU{hr3ROeYhf(wv{2Qxz3`E7|sZKBs9K zR;v|V*NyGaAz2y>b+K67X{8R^;7RMcW;&g6dU`tkY(P%|qoF(R=$)g;a}li|()2Ai zs}&C(JRtS~)klh6vwwL@d$D2e47n3JoX|O3B`C42YjMVM`tSh{-*`;;=q1*eR5y(% zo1uDP>K>RB?=Qf2Z|v)~C_DzrN}cwgVNNxz`0`i2%zyod|B7Gv;upwsi&iO#R)NeW z+Q{J@jzb@H6tXJm^Ne3`u+70C$UcXhMT7gSAp1Chx?7gBMIj!jCvB)odX_WGK$OoJA}GfPZ{B6Bx3ff<64p|@=a=xN2`;X}+~fhsFJ3a=~! zz+!oFg712k^9fDc;BcIto^pA0!*aRgWPU1nBI{ojmBea zhE|qZMYOd-IiF|DmP=xm5w&1)J)(JK6hcYabqq!CJNeA9XZ@@tcmUNT3zP6v4B^4q z1KxP!0khczqlH>$7&!^YrL14}cDMRJZdMzM?>maJV7uKCoJXf&vjB3=tPS zH`h0)($I80yWO5VFPLUiCewA6)PkK41TPYw zqA&x4Ca%_pfx}6G2RrpQXB)tq;q&as)ng`UY|!gjmm;^KnS)6+W;y#YvVjG^!Q(HjosspD4a;7JEC z%Img4Hb*Pbdu{f6cHNHoY(iOSe7}eNmj3D$`s$LZ-ja1S*7rb*E{Tb%j(%nOx-ZeGqex%ZHu-+ z`oT&(PjCTcGK!+$d1!G8mTx_wcwmX#X^>TPtRtv8S9?6w^DZ3 zHfxPYSqJTy&ZcZux9oR2%Gn7)B|%yr>Gn11*-QG%6?xZ^WjS6)9D!^QMlgdavGB2X zG0@El=I0M6zW65oWJZm}pvfJAmRG_H>UxLk9evl)^>t$QI0)4?`-aW!n)y;@_J`W( zd_JeHYxes+Afpnq*^EU3u5?{@r*{vGVZgB6M_>)x@zNUmz;;*DZuczaGs;Cpj1K2& ze7!?mzaZSaqS#!Mg%%q+jB*&G@V-Fnj6O!na!Ro{Wp@4;pOrY*vgKpQ~zN)=X-@fD}DaEdPyZfB8_u0GlSF6^yhX4Bi zaaQ*%(kX!t5ob#pV7=WkefeeXe)^NtvqOSb=p_9)Z44NLN#J85hRD;WPh_AhG(36w zn1g0b;R@bSvpK8fiW}EYDaIq}c!~EdE_mwIl5lZGTdx_agw>it8$y(Z zg-@QMD2d8r%97#i06m!yts|tGx@~CMR+LIWxV)4XTt!ZjQ`$!$?Y!lcBklbx?e_^( z??t=Je=?pj9u%mUXcf2^^G>Hfkk6#Oe|xikF5<|MT>qRMUUvVt_N@E`Z<6+Z+`V9j zo@z6romY;e6K--uvs$uVtr-;t7d`rNfqws6@c04K&4z(>#2DB%7mP+@+S=m-I8)(W z!6GTns}fE|Okepp>f|=1nxN2_XfnD#WmW2gA`<)tlhzY_~w9W zQV75$8{u?1<>KOk<#LHqis^JpUDvGF>%Q1;t?kED&>!5|wUusINRbqF9xR4HQ#Ufm zSJyb>I5{~W4jrwD=oWMna2IQMJZF1xL2Mi9)Ch7cMYJnXs$k)_IICG#L!wDsfB98n zIb!2V7VQPk&dy0qi%UpM8Z@*8Iu%3~88ErG)#pDlyQFsy?OBwf%iI;pIU!*)N)Y_R zF()UdxN?9-q<5Sx#fw|HnRP$BC)VE)yTFdVQqxhQb%Z@aLzzq>nUsYx5=o_Aqb;B5 z-d7!=QD&)80YNN>tlB4^#ftE&%A~IfR}?t!Sgu!?Xqh=jc=CkJlP9FrLLgl(iC8Wr zP1B;2^uo2WL@g@8R2A1>d4uQ@n4;Nak(A3N!is$QrRKw<}{dF;`Z?HHBh&ct|-I z3h+cJ+T7~(nP)3@I;SCIiPmmzD}AtR^ZYjaT-B;8MRf>%P(6NjHk(owA`x%Yp3lo( zOsN-FLO$}bbA}(`iTnS)_^^2Cmz$7DT?<2z3fAq4&}>;<&e`0*N4UJCG=f=;v}h9A zIHHd@WkES2hIJc>qX9>E?=X4!E_OW0`kQiRX`?euecbC3>3&#mv)S}qQZYsbg8>g8 zJ`{lSaKNoww{Urz-XA%EUF>O$;ppgywryFj*AnAyxA@gcnB%OYC>&NBVhA!{pJblB zYk0WAQC1VmvdoCAMB93ziqy@PxLRSAqTQ@%R!d@CW2`7UbrTLgCef8GER7FnS8#B8 zouaCQ6jwo$LEW-TWM0v{XA5pKCwuHX+LfbA!mlJdT_~1z<*B{SoU@kW<70}V>`Ut; zVY%K<9{<#j@8UhIh^8j-a6nLzfitMdfcXA>9)9&3@a}sIeV{N>7xZCEY$HZHj4laY z6O^S+nz||(-@MJ?tFPmZj@ib%NpxUl@{QKR>~@}_C<@B5B#~Gymz0InI!{hc7*EE` zrZcvi4aG#zQ>)cV1ljU)x}TM0iM5s@v(R-}f8$$1Cbf+|&?cEI)rm|5VKCNER3$2F zWqG0?kCdiq66?!LLhwvuWKa}bK72q}Tr$)N)ojs0WGzBW1f%c@Rsm`Z#bicxd`i%+ z|Jc6utXFGdlo&c{Ba~Eqtf=>FvvW}|aIJd=D&3>l1A#!=v6NIaOW)zJ-AT!3NQBTzH-*T0vEc0fJx236Lu-jeK$9>|ktEhfqiB61IR&od^!6Qw zZ+sj*osnFDRz{epGi6L5k2D~ikdzgX4-RI1;=CX)#<&zF1e zsp}e$mgjId1YogPP}emN9z0+$7;tiO(wDJ@gP~L=f)rm&?gy$Y519)V5|bfuYfOpt zc7ykc#pQ;kUNDtSOrr{W2|rHBoBvu6F?yTrHO;8*G#&B#Y4nQOk&mEX+>OC&u0EeF%Yv4^C!pI;gb2F&Mk zUViyyX0s{x@89neq}gmnRaHGb&u}>G>!{xQ9?=g7safeLj72NG<0TCNybSI6AY{Bg zMe5+$G+TU3SXWVuhn&nxhJyk6>3z=LdYfXihPK5-q{eg4{vknfoeP?n)^oZ6vYJbk)(Sy#T?=_(|M@a2joy zjE0nj!>K*q((Hx%io*9}Umq53ru_$>e^Mv=^y0$``$-~1PmC?fH*C)5JbC*a+J_H0 z)QZAcwD&aI22>)oQmEHX1PDwuWN>oA=#`f-$HzpVbQN3Qpmf4$5tOi|%n1zn?(PQg zT2i7nzHV0k;^G49gif+)o1Xjh@nS($Rl-iP$7wnmiCRb7wv5MPKnN#{G1PS}t<{yn zDxvKuwM8qT_tr|0R7>MqR`r%9c#_dnqanjVg*63Q8wRnV-E83DW1c;F$PH`RZq~HE zrYZ-Rl&RsBmiDkQ=(1uoJ76%Gfi~H5i2-fbYc{JDzG;ZjXM%?)2AB3PtLhC?;!4$j zy(<9aKe>6K^Rq}13GpIE!EjhnI47^8_IzF+Hl!{1gzw;fEsWvu{BF;v%_tX#WbNR>LV*2PAHiBt3Xd<>WI4ahg4Pg;5wj^SqC@JpT zrhMfU)X6cSs=$^I6oswCYej`|B`GA7&fx0YitCW)T5BegF{9Cli;D{pB@wJb|U zL+LWr+q&Q8H=9jQ#j}s@-yh8DAc2FyfI-{R1}~_hC{v_uh#6Hc6y3%ND0^Bski8O}8~~a&552Y9hSlI_vWQt&wh(%;EuUTB!Ae`C3gw6-W(DN8-q^~=BVUA>RBO706C8vNy)?Slu@kDqYR zGz^@@2TkogB#kaBtTJp=B=|&~T261?VD|D|hS#s-%YxK#k4H&bx&m|RL#s35L}F+ZC5hu1zK*EySo2fk;eD4qsIpLUj;m9O6i$XHQ;ITwMZg&&+rBY-G%zVI#? zoX(}(gj9>Qv{_ZhR-6DdMoZ$*G4Qo*%XYh^uIrvOqLVzI&1RHUiB>ym$qp&ip`iBR zdhnd_Lf)41U7q&RhLrk5Erz_c^)+85vP7XJu2wvI|9#5E0v7@*n=m>jw2+on3M)18#GaC>2)DQju|L!mRJoleG=KV(x`Nki=!ymu(Hcua&<6BS2 zalKZW5M_EcDe|a_lA?OgBb99~NCp;S#Fhn733ZUM7HbWKvp8#ZvY%auu~$$1-V>_t zA(8qBPqnl)>0(a&*1Pz3-orh4Ds9s&mgQr_Cxa_Wf+<d-ls9FB%P(&_Z{R5;`Z17eEIW>Z0C zdCy=lAf?n3`gRDZ=Yb{rMk_Jdb5lTRcP`4AeBnAYZXdKs5x?0G=4aGTpD@^LDI}-K zl#GgyNqUnKZyL3x7!DauXXv7o@_z<_G;PazxnMjf`OHuJTj-)-?He9EJ>&oSe}03% z^S}HW@4WLa#%h{OTo$u+PXOSPusJ8moaL(ob&kociFu2F75o1VT^P=6{R%FN?usE0k0LsV9e;|ZEn2s zD(2`2%94oz+tjSR6vPG5bb-n3Iin4_u#oGD3NTUk)H^99Hk%Fi@84rSzwALGv)Qbt zKcCK~OvYm=RA&UfbB^(N%yzqFKA&IVMeX9E&Tysp-3{vPiaklO(;m&9UUtKnlT5kD zE_s^uisiFs_{~PjbUBF8s$hU?d^^*3$TjgstbUkdd5J^tiMRQCKE-(-3JA(Q*hFexzA8gCOD)evK# zC`xp4thXM2Fyi{1JCr~01DK;DYBYpIiD6_bhB}h0l8l+$eX2b%#q3EHwU!I)w52Si zAde!m=`}q$@1sYLST2`rzN zp5HSBl$LPBU`a8GY*ZK@^ zGBV}c$rJ%81&q;XEhw{3f9jL`{LlYY{_GEbieV<}{nI)A;ksOtO{7BtIdF4pa&OwOO&6pVKTB6iRyfA^1LYPX4NC4~Iwh6@vOc@&_X%-t&Lg$tsTQd#`Af=945hGTn{YOFXq2Wc48dAz zrC2*dd3?mdD|b1#eH$|x5tSAR>m<{u-A<G2MqZFPIM7H)N#^Q49NY2rY}t1y3J7 zA$m`0JkD4iK6t=nJi(RHO5Lp1G)+U1`}Z9Rs+)=G7^gb{iLPqU)meg+6d*kv4TxVM&bJeFkgbK zx^0}{=Cxyf^hbY`kG=jnWl;)RN~Vndl{@-YFS|xVBw@=4R>sYxb!auQu++v-oE|ZI z`6Y&T?qJ4Zq{cc_(zLDb2f*M(5sCWn@022GLr4LV!e}eNl7l0n_soW43hQWU8BwmX z2SOVbmkVZ70i|?GCi}pXj(XBs+fz_EUcPgeKxDC4aCmsw zkEC?*XqVx4fa$UM>Ifkt5~gWm zIXE~HxlGlO!X@$iMvHJtR`-q_MPtl6gOYkg=?sN49338V>*h^L=g>(8_;%OqgV*U_ z=J8>tVq+UHg{6&=HYLj0jKjNk8Nd26gVSRuOOmz%JL^a;b8!5kT3g!tTlJDHX%|Q* zDY}OoCWIJqTG4D9=FiTdY5C@xZ?ashIKF#_@pOtRtKJZ&qY3lnCG+{b=R5rXtI1vq zbubuERTXtzv)XRhwk^rGH1(Fki0+ii-7V!@Kii&25L!0#IrFn;)awmZOu306pUP*o zmb$5FQ$Q6Z>j-)<(CPznTrSQRHY=J@x=sHQQSpX$@t(4BV0~yWfxLc>wDMeL~ z>d0oj#TI!mF@{|tq@@gq)_FHDXcaLAoGZ9?ddjtH*ZVv{R8aoa+xNS%pR|_%cZa>y z8kG|B(lIzb;rO-JIl6n7IGxfMOHzj1z@tFA8=^7cu^CtSp>Morpu1XKzKJu#bczW= z!bKSP#QI`M)h4QP$gP_<8BeFAYJgE9XRc68CKJxj&si)MJ?^xt1a!x~@oKFZjYgEi z0c{BQrlF~8HcgFREoqXJxJQ!-PAdiqly52O4eKY5sGmKisB5YiXxD3k_q1)u698J` z(@{mLDr`|QxPFttOSehm5veRGj7Z-2wjm`b%R+A06wqpqAqDX$F+`#QYb+{zQf0(I zwRN<M)n7GsYw>$&Nm!d-p5RKwoB;tUJlX zfFp7+9^(!UXwEKh+Atc97!3v(C0p`(v&MT*VI^TYJw4^(;)08di=O+mD2gl7rQN)K zhbb`Hh?1VM49W`cMew1{@!z(op^WcSZITCGS?EK$3u_X=yS8w`$2{w4Cr6 zG0NDjuGaZ=WTiWG7H1s?vze5_08+weeU(=7do-$DdcMmFI|t_>BEz z7lmC;Crl0wn7r~a?Cm=+oMn``g(SUttM*!tIpD|2T^sjC8~~iwJ4gmMmy#Uuks5xS5l3sEH^F^Shx2$`AAq-FtV>Lw?ChNKg^ zC<$KTSnaIDr(Ka#sT`FhxnA1P)LRZG6K2yXg>}8@^klx@#$eP7zS(y)-QNP+%+5jY zG`e&L0!Q_oGp)7Q&W9YGW9h{8bOzfi6t=v3m(x3UDGsj@TuDqCr5pyc`(WLc|@$TN6GgFdF3?rwtY=6rj}Ab5efB{_57THGfc)qhQpGV@7!j-T5;|Z+x3=e zG(eeMi?8cG?N6eXW!Ybh=Ub@VN9aC$5Ms=1Y~(Uq#s@SFaXv?_*NkGM(xAP_4WSLe zOGsfe09;v1RKovSjK?VJ2xwwVxD0aEKuAI^p|yb|!;LZIiO~eU4J;Q+g0)m-#nJIG zWm&RmYAN*RxL@YHG}btjGnr0F+O`pK97AUr4Tl^Z9%79!*eJe#Z~B3w^L~kbty3R< ze>cI!F3W%Z=l1ktAE!7vLYW~cDH0Bq3^7QrxSMoR3WDA%@T-pcC077DbW+;UY9=yMe8KwYuZ5DW`$9$WkMj& zoVme(;dF{F3xd`}l}U`dmB`*NrAUlk1SyhC#Ksu7xVU7q-7-Eo=KA&P+`j!1+E|)) zDUAqg2(91`5{zzCc85AdqBmGqki3@p_n50qdUq1By9%1K!+L{z1)nPR?fw-^PbD=Ll+M1EQD5eV68H&Qc7CKN5`BT9qmG&l&#@U(5vpV zx9mCBKhZ?Z{`ddG-_9tU0+kHD1?Ma(A|3`|drC)_(@(zP^z?+E{+XZQ^yE}H z`&BpYD^C_9?f%M5zK^S9sT{@ZU6e9Lq?rZI}6<0Hb+5eJ6{ER^Hq+9?M| zhq<$K_2`iNWm&S>Y*?*UJuP}Sb7gb2qHhI4FG8&PyDEYA)Msa$KYa>KgHu|N`zi~h zX;}|4E;Pn`D=LjG3aaT8J*cFfNv3i%fKe!w1U9LBuAX?->lO84O|xw&ivib94$!V( ztK@SX93B92Bgif#us&rvS$8KR*(rNdq+nh+hf0YX*RL}>H~{21TFLXipQ9fwp{wld z8>;mB`w-xTTlt3^se6sR&S6f}?SKBC{TGs{$1HZ+l3k4SZDa66e4mK|s4PY>C=34e zAOCSa`2#=1_2W}1HzBoFMJJ@y?*dnW52g6=L!Vs}?tYnjbvG)>cU1au)nVM{^r(|N8vN=De zUM!iWL`kCXfn?<>Cq?#ZnPDZ$*V-7$N>m7wu{)Py5};905LO`sf{n!1vtBQ#R~t$U zv)KWo;e=oeAw;4SMj4I9^7~4OaVH~ee+bKqGFn0iWQJeX1d6I+=-}4PTg)aStOUsY z1?cLie`0<$J@<#5p>;=>TzzC;n}iDj6t-;|p`7#rn?nmw7nOP#n93prR(HzH!cN?# zz&12!r${Og+8~LNwTM6Vy#R#@9u*__mgF0n%O^a2`)%g;AK;f8%HVmnxa9oVQ<~A3 zTNjrkRq^!fjPmdr>$>I|j=|{(NvA7Sg_viG_sJ-X5jDMzg(PJo(MmW5thFTFC4iEF z6ITE{ZH=jGj6O{&uyf z@oh`#49ABjjEbr+QOTYzV>&)YtZ^7^F=c_@Y>6qLj6z$3(MFmo5sY@EOigW!#wf*T zI^z1xYm}8k6HzM1wn@BupTS+}B4!!T+(wkxJ@w#}eutzJ#q6p5MMY+ZD}vO*p@xUd~xPexKE|Gs;cFSQ*;w zmV!uf7B!h+h7*eE33}1cYy$1ZGe`~_br)6iH>}cnw;d(%EJlf!v(D1CExv7OLqi){ ztSKlciQ1sG!Ma3>p46=Hm(NJ&PZ)=mVNBShF}A`x#a1iI&_awx4gogWF&Rx! zc0gz~$vLz#Y?cj;x}=Q_Z7WHnH3P=u5u>8SxU8F+Kay!vMWprQK7K(aHf5V6{X3{&9p>N5seUP zD5OqKuaqK>bn|a1MU>Bk#&LzF2Ia9tToO&!HU)z23^m948MT(QA?8HTrwCffbCpH~ zg*91A>G<@7f9Dr|fuH*;f0=~DIHW||#(oH{w2tj|%YXe}{#X3N|Lq@w_mn`tkK$Mj%I z)Fo(zs~mecm=_)$xkXn_GuogEg|ily9IbC4$nr+-Q95B&BKnrN-LknjC$=>qG_=Xf zR!<@-lX*j<#G2V7v?kGL2u?)NFp3a8tK}uhBVD4xqm5!Xtb|U;NTMEx?Mb{ zjTWvh4Hxr^42#QmW{jW{${383Nm7+`FViSVo!r1Tuixb6^_zWSEIT88tlq=6u9imu zaNP^4{hdRMvXh(a5OZB}N(#A+-TC0o4@Xo|=%_^{T7lbZ3`7MwKw}~Li188SBgQ7d z0n+JADGAI^PEYvMCqF5u_>`#1iVz~sXjaQLr7c92q%3IKEv}R|-Yza#pPgevgWqnc z*K4+$4Q<^JHbOXNS8HP1QZ_9rc?KG6Qk1a^$Q8||W}6aaN-XA=y#MH&&34Ohb}U7F z)y1SA9^>o_%c}l+4N7?HjL~Rhw+OA2n@nu*bwhjhj3*BtVpl857^zz?>Mlz9??DO2 zozjA#j3KZMux@Iev@PLa#^%vO+~fc|m@q6yBJ)!ulm)GYYDi=ElFZoORKjN}#qtyq zAw=H4cTeV|ay*)HZO~YYv6iN7B`j1bcc(%gUr~&QBMuJ^NipR3I?q~l>!)@m2JKYp;EWy<@b~CMDWPu_pmAUMjlb16*emB)^q8`{vwz@Lfu&|<%XTkW#VD}lV&0xoyl0E`k)W(twAuGw77iI;P1 zY>92dwryy#zwotGeYVllF_~zkXk0~W3Wi5hPH$gl^zv=W(E(nhQ?SO-icc2bk_740 zQpdXgYiGt4Wp4$x!b>d%v&?5kg*CpJXR68NC&gCk3Brh=e^mM3qUib62X{81}A9 zhZuuI2n{js%&KEg(Hh%qw}3F=efdjY=J$T@_r&6j;V=G$zrcF6;x~WeH&`u~{0INu zzfaQ&C^F$qoB(4~%aX^I;M{b*g~6FT((PyM*imF;_D# z=NCMA_7rUd)UC7zYf0Lmtp%-RF0I3!8jXrF+($~BU(9)W_Kd^nwOz)Ya>n1aH?y^f zom?H3-ru)&UuXUTI{d7H6osCttqE=0b9*VBTgBa5=WQO+&S>*%1trXfZS?q%iOsT) zPAbVB6jOHJTA`w3jqBBt^?J#tKlMre=70L1u-R;Q;gm2->PcsgSA)R*se6A4M@O{pVri!I65 zq-ITMHkcUcUOE}@QXbeFTVhAqo`Kv!1!||+sFpUhkQrrBQopxK3kaesddDD{<6CdN z#TUQ$MSk|PpXIZk{Vd)1@bCQY@AA&O?-0C4VTi34f-xU3A)r$r#WwTvtG=&n^Ndc^ zDtib;)6`Og9y->m4NU^C6wAdDRkswXU@{$}mB#13_zv;%ZS8eu2wl*xB;!^<(i&|Q zDn)z@Sgqv7yu1YOh5aN-s3POgnzoI^6hKQoSvpigjEgoTpYXNE1j(i&k&r^p@=YG8 zmi)PkLo}Tgq&?J;#Hc<>c`yX2%5*m#S~`f@SbRt_VW7k?gBOm~7(CV(n$U8&TFN$? zZ&=;ce3Cd1kEnH{yJSvGT0rD6|852)<+V(CT?|nOpmW?CH*1>Z65B>>NGKIEV@`Kd zb`qfC2>Q|W9OGI*hd@}ZiA_t~)+ig%rNwG%2~C4C8mojxJjTeIUwM;X`TVc2xV+?* zyDu{sR($>IU+33;?eB5#-u)b0B%z4WT8z|tp`Xt%E!AfX-Q2s7Gz70ON>daAe1uIK z@k%p2J>vSEyR^sGP_AH`4Aa?^QR!IB=M0BK@zBq?B%w@H{bGEm(IP>8Oj%S|B^gsr zf%S4hY8xCPKx|^dWUewrqQDYU!iT)D)`3zqNEgpwi9QJjRg_sJZFJwI>+9ejII^Mk zo?c`g+cq$rPAH4AS98(Y5Tc;}wK4b*bC)TSLJ&bUtqCDgx`H}*>d@vLa|Z!bom=-} zaUHpIL^QrsSG7{P3ZYc4nbIeG!ZafxoQf@>sac($vAMWl4KT$}%2Qfv+ImY{H+inzvfXU??SJ;${P8!w$>G5v)u80w z{rfz6^oWFFJf6`kE@^cVckT=-7DPOSt9s9DLN|XTagi|)k|IV$ih^$qQ4_J)vLc{Z ztvBd0F_;{(m@im_hV6F4a99$Dk?)JPJ9}fL6v}E;tKee6cDcZWh|UYEl+K9!mTp7nekAQr@vb375(#4zqv43x zUww@S4<1UK?gPp=jB%aWptVEeK?PJd*8`BmxQ#LW{8WGBZCj%YPO8O)*-q!!nDZxN(!wXvk*0A;o~Rmbz|v=bd*c$^sP3W(Pcd`jkbx zq9hk>W9-K#LWr!}Hj{AewwV}%pxk33B~3_%#@Cp#q!?7h%^DvfjrVM}Th1OoVR}?k z*IU}nn(b!IcvLYOPq4)aycvi903ZNKL_t)GrDZ;nk@go$77hig^K+Jq1qZPcH@NDT zV@x@jE3oAN9|P+)kaR?kM;y)$7~Z){ad-^nAd5giC(Wt%Ua#vO^{0{>B1-Ro=m|l! zPbMRN_(y)2H^25ZE*?C%r<R)z|JsjW0p#Sw4P7 zT5KqzU{hmM1f{4o0@E{!KndEhv57W#mIK3hHe-DI4ujKc3~s(etSWr&lBtBKqr}vc zY+Sit_U?r4p&fs|Y>QP<@NfLtALDm^`*-=~d-oVt1Fm1c!L@5Qc<2HWVaiFdg|;QsTl}^rww{n= z`e0kHY3drYTH?1g)4Ijz3Uo=t6IG6bQbNT}rCi3)g(tSVk{S?A+%k!Mw3{tY@84s& zUh~?m>)5g^SudB6$XHGxMo@V*H8MLMLd3ZeV`Ng)w}Cb#8t=30xuOX{G&W;C85A*T zOfIye6u|))@u;E2RTa~t1EzOh;=*b!*DIQ!XuRm17S0L$&dOM_Z(B_Hy>9)g|2w5X zY8yh^vbtP|bPp}&)cjfvN1#i6Z2Cu&QI!*0)=iPTj7q)F^TaQuF zHIvLfQLi_&b&U_6QacG{kg9-oI>(twyk%2!d2zvmckglb=rQHGmbP+grOOy2CdzAv zkoi%hPS3!%@_4>MYcCAf=m^hY22uyW#(R{tT+HWu z;R}CUn3TJjs3t@eNG8xzTJMdCLn4@(gz(R%q)5r&g2%O<7&S&0RAohD4AE+A$l6W5_59Jl z_#?jZ2Y-}79tq#Hy|hkMl{AePTAT<*D||A93C9u6b$PDgXt7gy5~w%>Z+&uHb+!a z*VGBLl9A!$1F0OdUe;XLLSiO6Bp3~q!;Xd&qao9y>x?D`=*bW@7@$U#v?P;7B?Pyc zlM|Z~O69g?K1Hb;`n~u!k$fa1QDe!jq{sRiE7($NV7*#nQli9aK?J{!s}tE|bxQgV_OE*}g?c@>rY6d7VJl+NR~vgQtYxDXRgo7@<#ZVs73MiXTJ| zz@(0ROcIFLw~w@14{@UkTMbc8D0?tkwg#nhaFjKgdf%Cu zw2jX7+tB|U1zL6E8Z9wILNLUn2mzFW%WJ!ZrDDRlg>M>?la2WV}jXgWk*U-MuqnQTMV!X@ZK|?&iE^z z`y8MBna^UKu%P(1Mj?gvrl}bY#%woR{>Q)lKk-|?^_%Q#gYXabP01;W*_7GqcPVe2FfdZt z(8ge@0yQYXS&~k)i04sS6!$vd2f0chjpBVUOfG8YH#TITcMvZ{j3gh?J`mbQ05Hm8 zM+TgtRhn(%x%3UMe)0__fA~c?n*?# zw?y9(yoc6{NA;1qO}KIwe<#34&$r%vn|lxMGaL_DY*uVmE6U+OCRYQ{cuW+10h`NF zbt}~JqroY+Zr+q3%kRMo^pv6~ zdM+u^MIE4&Vzb%wk~~FG?7C3j!7x9#4tXgvop`II^{BK|{bJh)ZH(KA@s_tk|}sw$0uvqLV@=Es0Z6f-zDOBT=_C??1W6Kl!cy zn|n{6;fe~cz)gmvXdnntGEGDDEy@TT&e7z6+qZ7=LvOsw$6k3Q>nU6{Ea^7w5CADg zAqe&|CzpKaKUvDLY{y!%+bz>`U*|8o>DJW$)vucBuAACD)*UJD-qIX0C}qVVR1v#f zt*M3s=I0lD{_~&b^S}H*6GF=`{^Bq4xBk}OMd46dQI2)&6#r|4k_olFxbrhK|8rKUY?g^5)Ki_Uo-A3PeTm%H4olCQ}QWwUBNg@v3-i zm2(4&QWj?|YETia)DyjLIX^$==E*f)xpRldXXj}0)T*&y9r(bu^#ZUln&=aU2Qz-| zXa5pE^%H-Nm#&SubNg2Q;2Ed8he{$B+O@VMYb04R5<1{_6iFTQa7Tm;JJU;7ysD60 zU#-mSey6+Maqp4c(XFTCH8Ce#3PQlT!bwhOG;Q4wbHKe>uW-)siBG)2PkrVy)OF3B zJ9qG2l%G)w>qKRvo0%7dj+Bf29pHA)YEyS6S0QelsBVmrgM$N+EJrx{LkM^;5WoG$ zzL%q)zU&N7A(?-^5E?RRa_paAP^j2_hHgSKUzB|iJKg6Bgy0Fj5fZiFvEECpCC&1k zD>eq@3QSQ+3}~J3swQaGHP45-|5P*?32B*xZ~%Nl*^ny5>MT`cc1s(eUBgc*ZvIu@!$9x zXsww}4*145zQNn?zJqf`mb=MBWX5EU+~?nXXB6Ghaea2`&;aA{xTlir7IQQb5wvdX z`NKTvM?L!cg)Xsz&T16w=oq_&%tXW8C%Mx8>qJUpx8Wu6q`~8xo%B#5qS_$urG!rv zYkF=~v?Umu(NF>mH%90ooz@(>3UlK&({jT7M~`@PvA`B3n1an_%bZB76NZwZ)!e>$ zgWI=mP->}>`Vi!OdLT}w=ZrpY!w6%Im)Kk-kzwzY0lO7by|Iy-7@hCy3^l)2qSrRq zt#L9AODi7~vIjR)F2CH&kVXD@syK)V17c^Z6ye@++U`H-GE@<<_m6gcx||o%eb7op;%6 zH;je@np%V)VmJ4L%2eU$#b?pIan2-TjJ=52`T05L=jVM~+6kg{EYi#6lEcHp@A2dJ ztFSwV5B^A+6^LO51Vo&>)ff{xG--}s#XwbTg?xCsA^28CvZ2>}4I!azfiaF$T2xUG z3Pa2kKuT#WmVoMK`2k96xqf)S>1>8?t}}nB;k9cwc>mF3F4s%$KRx5&lgB(R4HxG@ z3hyLb3Os)IJwEx`D-_vf?$VsDGX%Xm1sQYhsug*>B<+O;FI>PEe!u_oZ({?`qsP1R zx$>I3G&KR%D8VmoFE4RL$zU)dk%%!cpI`E&FMWyM|AXHrc#qbC!7Pe`)oM*uI>7~~ zUH!1*w)}QpF6L~w2ozuTi%FX^hCYPV^1 zr9h*vn(rRQxQnp*gertU@C~VLi9u?iF?5_zQu-09ON}cktP?}k&Squ5E}_Y5mpyC8 zlNw^AX&MH$q;Qs_nPoiu7$5ui$5?LGeC@5b`4?}#NlG54WDw8+g|)o<)>~ZsnNKr2 z9%Y<{AlFnD2$7H93HpkGl2LTs_MFs<3@v>`SNWpf{pdb+=MGdxqA6@uRd^pbI5^8ZqHQ9h@tD8+cYmEf`0|(Oh`PSpLvDn~ewk@F9P;qt zL*9Guy*|tDqmt@USQcuFrU4NH}K7^uCiG-4tn@fj;bs{A{vL*h; zG4*Tqd8(r`+-#&B(5ve%eYk(D6?V8?Ww)dK zAXi8DrR&XqL07aN>~KVP`K=yZ9Z}KIpTb52fs z?|#@j^PCF;5Hz@zj7!|%40(30Tzd`Q`aU5&*eN6h8X(Uzrf24O<&{_X-QWFRJ!h!& z-9nFQFEQ58NSf^I?s4(LhrIv(d7nSjcj)6EN>-{MuKwEI-ezZKhl<*Kl=Q6Pk;?P@ z=XjTqkMD*CH@Y15{@bjI&7AitYQ&s{AN;DBUTmKG5gb$Ejn4BENGXxZ*IlL7C>>*U z6l%9a?@etm!JCF8qVm>Gih#55)di_Us4DnQ)XdZbXHK7D;lMooK}wdFM0h|-Q^rh< zPt>C>GIY_b8y$@fCR?3Q*a-u){{hL+!wvJ7J3bxdj-;pcyX(6B>4sU`jT<+)d+!d1 zmJYCZV1aAbuCcPZ!ZXi&CX7P_BzVPKT-Voz^|?pZQG?-B?=3<&F*7q$t3_LDNs@$q zzmL|MG)?JrIzRW;{~*sgtN=31@Ew6b){AM#P_hcT)t-gAEU`t7EOJCyBAlrc4HszM zt#s%(LB=ssM_~ZZ58;*0`O=s0GCjJ|S^{4&C`}-W@Hc5ulpuAjhvk_{d{Mlacv+s= znJJ8QWO?bwWsIXC1X@K%Rmn^Gc-UA^X=Je|cmG8i*>HvL*^m5baX~} z{@@S1Xo2$san@SDn26vIhK4&_gZoc}kV%S~?5r|W=N$chzb;+v?Cb#EOZEGGCMG66 zwFLJY;%FcO_HF_ ztehc967oThC`x>7S!&`|8xzGio#3Jb1C#>tJf#sQ80UGHgb*0#CjgAIL|XY_z0fJF z)TFb#Pa{dZ=7EnVkRjxXg+faoPc|E>2D+=@DXf63$caUhAr+5L^n?pU5w;8=UQS6K z#=#Y(x!&Q@0M$hn5Cq!%E$2C|K7FAGc2bSxe){mqYiPI#;n`qxMClwlFG>)C zD31L!qHt_(ZF2F_C0<-v!IYNO)ithPyMZYTN=lMA@?M}KQ48s^s~YIl=62s5TgQUd z*5lKaSKZp$VtaeL7V(W^&&rbLIYJ21G-Y97;o-68ea2e7|0t)w383B0tt~dUHkn(P zr`2lF>+R8QwZU3+lwhqN%a8(!EMs+LmG>^Z!^+w{KKGfkJaObOHZ71^c$E@iFj%yf zI3>`DuXE<$1>_Ly_Iq5vafAM#&w=>`=4a<>)o5p}N2T4n$6zo(5_XvB8Je9Y;3$jC zQ%qW)gqkA9;+3Yg@{&FRAI{`?P83HV@zop=49>znE|A64p42(t&5!}- z;A_4CXIlxn;ip&Y88+c(uRJREA;%*eaw!C*hoRMi#7g;CRZA%`Wl5H0T)ldg?|%2Y zyz|aG^m==|_S$P$Yx&@V4;Z8a{`;T(cMcsq#GN~L$g&iz;yMiQw)tsf&O^^PJh0lz zE2U|zHJwfe@SUlmC}_9a?Ck7#&845gl3c~U4>}5CkSgNhM^`v^?pk|c?}K|2@tSV8E> zhZ_DT%G4WYQ5d4QQ5S}bvLMULAjaVvCQ|r>Zx}0kqjXOA4wVF>JY|rIBBb_TH84j8 zrj_7LYw8{mJnBdj;8VvV9E}9x(DCvuXsA55)>_kQwOC(Y=a2vRk4fT$UT=@x-Cb_p zyvcXI^Bqsy=p6s*U;QhhC}L-4hd4=4LJ@^2R(}${ZisW?PJFmANjXfW0OscAu%RTQ zlp>B}`u)CV;w#HADjiq_e?}Yi{;j_(%TQ&I><#+dxqFv;_g1-b^(u#!4wEz*e#|7) zgq^eGS&qpIiaaBUW9H}PSYE#AQRi9CM7Kjx6r_WccBexUH!)d;jbd~XVQjU7_|G^u zJInOc6d!$bh07N&^442#(QUUmymTm_*P0wX_9W|@8;nm(aOCKb&^Y&BMQP~u`*b>; zFczdKU68tzGVoB9UREiJJdRWOHBOQQ7hVG(%Pm@ZVUP+iR2SNvH(V7(;mgO`LhE{H zv4Wn}90de}a;`q#ha2jnE}R?Yb$BSHkJlBt!h9+f>TURm)K0hS#liv@q>^#eI;!Kz zJk9HiTb-*6am%AT>!=|aHvI!ndxa-pZgqZtE>F&tFQ9XOD{1qGvfiw*3p?5 z$L;QtniA#wm_}N7Ju9I!h4E#*yzn=llgf|hONA**qBtQh{kl2}X<8sPByr;Bs+30S zXb89o6Z;MgLS7; z=mIqxOy*i+9%fn7gS*J2%%|(E~=4K4>2BV_s6kW zmXRb0)6>&F#)=~HJZF4-yw;COlH_Lsr$@K``z6!&_IfPexy$s-EbVTWzkBsnZr!@g z;@n)F1m0P`%jHWKutmYag#|jD4&&V}k&e9FkWgqHQI-y?9BEOqvAKd1lG(XAI^$y@ z)$ns>Dr}cUSz^nQIF6a0pX1=cgS`Fr+r0k98$AE~^GwgoP@2*cok>yuixcejdTa;f zmrl1!yVYcCYn!qxX}8-npdsK}x|BONVH-+H7y{vT|>YL7LHQHkg{6 zq}ysyYc+)YLP(8L!ea@NCWM`jItve`BZf_$(GLDddh*cY(SNQwo5M%CPy*Fa(7`)A)KNfIvlL4 z{NMwUC?ZmdvM7kuP+Tm}3bc-qaf45;U1z61pw(*AOZ!~AeTQexKEvX|yr1-x{zCi7 z07=sDBQ#MIbL7Yq?Dh8e;KBvodiNc^@cGX(J2M-wpS}`cfsM^g&YwR|tJ!3IeVx^{ zHI|l^n4FkkcXyZd^>t34KF#67M|k_4cd01U`@J5WR*O!j!$()Hkfk{~ir859(m}08 zf>tpOiLLldrS?qLaRO0XU(@^RzE#=if!A2v?_ck~@Q?nReaMcfl~xo*!C)|8Wo3m6 z7cOFqVQOlMBS)Sf&oi!Hzs}y?9#230G-G39Xsx}>p(2!+Y$yPXlxQD$wnOQdO0cZz z_g8&>=NvmbJ2V=NTHU0=qE>ar2LV!yF?HDssNW~gbC#Ev+1%LRsnH-dx0I5xPKVQ{&k!dG@4WjiN-4hh#V?X(1JB`)*GpYpT_w+R z&YnF>(r9qy-R>Bd&YeeU%~PjO(`>ewKXiyJOBoyMdX^I5Gkx&zx=1U86`q;U_zBS2 znHiEsLa*QFt+(EyG$lu#c!JV+KI@(S9!pD0oOtpHWR$SFy2{4-1|M9wKv9;=%*^na zvuBu`oJL4V6vzDOpZ+PYyz&YsPo5%AbEc;zF{S0lKmIXFDNaBA6pcos?szHTl@`m= zlckBk5;$sF;=b$opey_H^r{~E*ii$%-%!)RfOe-tJ8m;KzreS?^)3F%Klvw|Jb98x zE57iBFL3G7C9Yn*%3_$mDT<=rrhy^ToDkt6J^HjOZ&!I!fcg1(;y9+;?bcqfLQ7ST zt3WJ|3I(c4f-$D%UUJT{wzh^TGESX1#?16IkyJF!o@V*RC%pN0Kj!!ohq1=c&fM&ac(-DOL)#;E~!=06T#LWiNbJISa6M*ycM=J4Kr<4*W{eYvhegxf> zhIBBX(QGo_>GJ#+zDSuDT)23FjkPtNc;YAx>G2i1p}F$W6;@VP*xlJ>e5}itpZ^jk zPo4A(i4O82r`bsOt>63_iwpDo@Q2^$^5skX&%gaUs7UkGmtN$Zx8LE-H(%%W?VCLR zr7v+{VIG8|aE83du~N`zHc>kEJdx2z8F18fRzEy4*nC8J3V0xTsy-fEe$Eq-}+tBv4AxYPE>tn7O$*TCLX4eBG*oQ4~e(4VRafQL$#M z+ac0eswGqa03ZNKL_t)FLBCI@-KN!SaBXvg_0?78CZ{O#f-Fr@LNG|vF#Zx_ai}Pw zKS*)L&~CRVt>vQ+FEceYjtw-LNgUB?HhlY4Yp@1m0#&6ctCOT1YQm+ljE#-))fZpH zTEm-fy~Wa@!#Lp+i?`l))-3X>dA;3H?A``H^&#g z@Oe(2Ji)*J5C5L6?X6JJk-YS^m-yiQ_c?$5JhyM(Vs?58mBd8a3(8qj_->{2tT!Vo z`oML5coFL7tI9m^g&*)*+LK)sBuT=|%rse+@xAZ;i2wK>|0C8|{+ECHPkHXyXBivo zvV7+b|LH&dC$3((;y;ua#)2@cTS8^H4>^}ma;xIWs`DhJq}%P*FuyFzP)gBkHbZX2b!Pi}H-@eV-+8RrT4`Q+&RtegPW@BZQ@m7PTR$O}jJ(_1fL#NZB+iJ0~ zxyj8N*I8UxpeQmncXr6E!zoEWOL^khlN|lzW8Qu59R_KS$*C#Ytrl~$vvh)?nz9V7 z*pkv1Hn+As8=`Z}&dxG3JA*O)bG4ENFMRQNOkSXcz+@SU#Lrk+!@ax9IOkYgoaff9 z8&qB^j$;lSIKbZSHuvr>`#3budE)RA%~pe*?QJeyy2P<#$4HWhLx&cbpPwa)l~0tN zMJhp@#6+la9H<S4xNC4o za0~9P!5xCT!xA8{xVt-d{)hVn4=mrzPEU88sycNp+l&elCD+hdQQ)Be`!sN~;J0(H zr^lW6M0M92kWw6(sB-7}{{7jSVUK?XP*dqo;es?_{Y-Yfa47zolWNUtV8a53(o3KY zfmLSdoty%<27_6^=oJwITsXFl$NfQdKR}Y6zo|N z)w2aWemIt$RP15M)kGH|5N*G+1|9j#bCs+)?tI4@iCdcdp|PMrEa3iKaKeiK`MD{R z1s4|&pNObv?a0~hi6>N?OoPzae~U>f(aP5T;#e#RA9w73jQKasSQ{&>aLfw6rNsQEC2pgvv#0f zi!9v}kFeWj`d-0PoA|!_0EPa$3Q+c}2*hD0!F%^?ebQ{MA1C@{Id*>j+1}oM*T>ka zjFyhh-UbXD{hpp_6%`d77-~PSKy`xtQ*+mN=wA)sYspnKM0HH`DQk`{PUp@%85)Gd zP9!2~sX4?@E&Y%)xP+mb?hWDf(lCb9a#Y7vz40hjmEcl(6MC3-8y!qqD!+a!(Toj9 z;8-+>rLd)@uNYM_UarfM51mg#pkP2`O{}FN$z=*aHcTUbRZO1GoX^}^l-4B+Uarojv<@fz3ZzR=ScqE1 z9*53SN@!E#C}nm{Y70)pv{u;WyZ)2${VCQ%YCbIxx9XOx1$=@r(j$2gCMJuqW4=SW zh5gkP1Di4od(dUqRxR{f2O4>U1{tf3k`2iTi6FpCcy$(SBz3X$)zXKah`x1wc}jtXcpT9pfmpOhT){fAw2M)Z$Mn|MEm^ZmY^7=a6wSN)3&TyA@3X=;$qjswzXx3M zk5_d>#9<5)`w&PzBXdT4f~`iYA*NpCTuYJOIykvBGwfWTVC_yfNOjY6H(v7BPfeGn znA76WphyC?6+Jz@6`eXwg}I9d+h%=cX68i*915u^EG>dfoBfY+^CmS_3{`w{03tW7 zeXCQ+D;?1P=B;GTY^P~&M}1$5JJ-2HQ4_}vOhfHgR+ThgALWEbov(`(lMB~ejo(9H zy)}@}(oyv6NmpSrmd&-=?F_hXp#Jey!E8=mf|*zibH_C_5!N=hFoo8R+j$!98eWuk z-nNAulwVRvj|7*sW;V+zi6CAyS3KuXkSg;@JSbuQ;voP7j0`!UM!Z$5(~e z%Prq3IgOVv-x92rP_s?w>OKY6NMFlF1^==Sr!9;3_VcZ+Ze zdRg;mFTeinTO4{rucA*ffSFc>$0VPWNnUfzr&S=6Dx_sp=?mcvW375shgjZhkmHtn zQNheE9ZZihAEP`P0aNtc;%F#mflaZ4&;(aDo8u^1qLTjRx%@q^xeBvG z5I5_dL|@g===hyhdb@d5DM$x#1Y>0}k^(c$XgKwmsu+!?%OT$SLVNzFMA=&kFcD%KSzG7iKxgRmIKaQJH@X)6xVb(&71_&E zy8Jteanof|;(Q7uCG)Y=2xwR&1WrA$T2GoC;F{oiQ7 znGOzx_c^}A_-xWX9(e#ZFI+LTawOGD8)cR>mv17|k%tdRP*U+WQyA^8Z)>>al9)Dw zlSX&EK@Js&W*`2VO%q47(Ye=7W?YTHwT*9^qjP{2SWI*<3uzm9CvR_TWwWPdB}N{H z#Z~h4cl}sSyr{SpKO?J4;VreRd`Q&m(-#V;&_b12A#UG4McVAvnWg`&x2~&UBJQJs z{|588ygs^gtUKn+YK|#crWcLuIJ_01OPC`Ar8vN|vW-h?aYI%vXJ=<44;|W_bdz=R zsYklu#>`OHFw~dcO1c(i+IUe(n28)UJkoY2U{+9u&67@@e@AZxwfgNT56u=a9hGo} zH@h2r!^OiR$Rf6`MSqPHeGf{{$k}^x3iw$TpHu9fRvI_z3w{3_&`_Aaa5j774*3%^ z$u(gfgpqv4!|rV3m>WAJ9r!$aa#~yCcKHV~m*3+@P7aHJzGPZrDKt03=%&mmE;k18uwQ%F8LRo&&6-h4lfi}m?_ zPfjy2?|bQLWrbToZ5t#edS>o0Hu#rsP}PFJyIZ)r-hK5OEg_4htz4_8?gTv#I)?iPC2)`eAP>n+Q6!O3Vwrh@19&QL*>mQ9 zBRm6(3G%i&DMu^_u*35vBE_c6t6oVda7r6`E2XIV!^-E$v2g@%0xo!7mFUI!cD{U8 zc>JbqD_yoALn`#$k*Cdd53%gmFQ2P zj|rgJF85V}6v`GXXHT}O_cpg7Yhm7gJH4s|Ga4aQFlGJ zihi}XpGekCiKq)aqZu9<_P&!9{c7zOd9E7?=xR6D6Rd8>y9|ydFJV<=L5jpQLRX6# z)Uj}6IfAm-($zJ!*NYWpQ43HlzFjwOI_>vkBSId>wmt9TOaMD**zOxHjQqyDbIWP1 zYp5@g4plV(GO@gqK*;skCwQOged4`Ckb^xhAJU2k_Q zi}M&69(JAvP>aMvS#vx``S4v>cUz$KiS^|~!kNx2r%zsnmdiISk!BD@ij+JK97!l% z&DyuZK-dclXg4EWG!oe!_XA>eKW2NH^<*yLgG!hd9v+6DA!m0efw!R-3o7uFET0?d zJCuXG(Aaqoz)G@zH%Rp|lMV=~9?q|}_9n9V16DO=n1=SB;fM^f(pdw8fwDAoszxb} zR8S_!I`V8vDJ-;m-AFl4VCeZ+;MZs4-CZnMpW{cD&n6v{&#_s^`rp1%_}t$Tyn};2 z=$HY2_WV4Bp`PpGA4tL}IMK%~w05r@TBI4_k^OPTVZEN`ao!a@@b)?{cspA13otl2 zaco~PDJ_l2+{2lJ;fpsI{@t-+e zoD(b)NqtMUG5z1;C7f zgUHnIfhDbH)HASmL$*0jyr2@D40lFdkVwru%{se?F+@(I_Cv}(iMn9P4ofTAsd21+ zK(_5^%wrmu&{D5iU0d^X+#jt$Ee~BnwM}nk_jNop+kNnS8dZT2q_a#9M^Ki_H~e@@ zopWTXneK^GBCbP{cYFe>F?c-#zt_kT!OG<|rvd1DESb({D;zI9Gt;-4@78SO5QMf! zo`iUmM=fu3I&+gPQzVWp4ZtoZh9cw6ID*Lf3T~RxOOyUpF^xv>ujew*k*-nN{J4rS zqSoD!?8Y<-nV{mngt?eKT&JJK(Ra*|<7dM4wbnMz6WTn(moQH2yse+C{wuuNNl_fl zO(UJ|w8Oe9x;x`{DtvA3QE^#)j7P~y|Dad3%0g{;2(q&Fo_-l`%ZffzTy%NGmE{Ez zR&goY&o@{c9jXD8^~~DAhWXJYreL?o8?*IStB7j)SJXnPXKC?Iy9l0*G20-P_x&Xu zpCfx#_U1M@MpNF2l_NCODcU!#0R|-o*iIm(k31=uta^b$3I5hMAj*8&|K1HCW=ZfE zO7RZbowq3KdhckzME(L)9(u1<5WD_7C#=jDz($>-&k=A4LH4h0I8{Z&Dw;}{Cc}mW zVk5c|`~j3fqKr-?LpYxC=41w^(9I;LqO$V!f1RZNp}FYj=#FXM z5ABaOgCHC*DBxOE33vngOvUP!tH>@4S_!7C7Jij8QdLqZIY~q1GqXuYPie$lNf@ca zup{8bbZwl!&1fU2oT5uh$%p*FBFoc0Ri#>IQxoRJuSDRDa!$B=NpINw(+3@+qLe@+ zi9JHh=N^@;A}sCa8p8Eu&Si4)l^B3(872aU6CC~Q{DNPsU6FI7bZNxp;oedv_4a?I zr5osfeV(NlE-Raxf|Ku5vUiAShlbY${!e(3?2+fl7!U^1Ik5Oj$*648A`qjbJV%h1 zFDTO2Um!_+hMLUDsW?5ekdsru4=UjlmiF?^tUqF)EiIK>WudjUwpCH&;N~5f+=g=L zl$<~M?fuA>e1mi-6FQcmM|-eOpVCjMt1B=%pDdeUY$!#I0hrhl{2?S8Q5qfd>Yv;d9;VBa)SAxQ+RM&^NVYF)m_#Z0aVq0KG=ciiG-A$(-@ zB&!gR2-=*&9C)p0frN_a)&+zy#I7%m9U6S_H3QHqDAZgkf?a+9@{| z*1~laxJg~~HgWOh@D+J7N|-4ry0$_y_GKuj;EH6-rP~9h6saNhSQ)74M7*@(wG!s8 zdyRiK-dkP&m=Z>&;B4#S6)~lXkIqhKfh;&4T1Oh}b~>Ik{bVUbg5RGQ)$#3ZW)#&@ zBE0>PHL%O+Lkg*nTErRV#q;{Hd)z2!D3vtm!pgCV5Px^Iv<#oEwc2wh0d>@3&6J({ zlXyw_$ojLa^>fwpx702@d%)*op$DhBqh?TpD^JzOpQpz}V9^5^1FMl#`|W$PRO);K z!gf=?nu0jP>u6M(h#KPrCKHu=HhMGN8*}G8A2TSe0OG8>rQATb2VekDSo9@9WDr!V zw*@COFi~B%!p{)ciTW=q)MsYwaAJ&M+VnNTO>DnEfWFxQSQhat#Naf{m=ZaSV$RdE zQ+11gjvUl_?Q*NoJL7TCKJ892mZGBK<6UjEsDBlQJfT@62EIn27SMu|?@zRZAKH(^ zCwMZ;czvB_N#N)ZJd3G82NnOxTEth}ifxS3IUyPgFI|!o zo!Bz7o!+wBkB2B#8@Ij{H`M-GAMP}yZ%+ShDeW#6raa%R)^l)R^>Z+qX}N_>&T@D^ zJvhY6v_u*|p6xo~^a-BrG)9aqeJIzeMedB+-yZgv+w|mK5Oh`DxSR?j#nIc$(amt$#)&f;!m^ilRqNJOv zVsAh&m7YC0!{9c^9nsQNFt2YR|A7gUdn?IrLg*mHjwoLTE?c+p&R0%UPsg-oIkO7+ z9k)L9t-&|~L`nma!*mZ1tHjIz2!d<6pliDSl*F^MGhZowB@LiFc>MKoZNhR@2ByR46VLXrtI@g-2uL9{4H(BCS) z6?52YRSuI?4X%43+!5o`Uq@9D@=3XI>K-#~m96I`kK+=Yc;Mp@9&sB{nTsP#*hjZb z8JH>h6zrNNCmYpo3dfM><}o7AO~@5GAKNH?sH{-joT6^_P2NC3(dp;9F&c@jeoh(~ zl4Hk7@uVwI2TH;Ay6?Mo8kOspjItOdC3Fh<7z!`}xnaa43JQ*A+V8@S)$6L~LqI9` z&tquxU$tdl*DaHK;D2HOE?ly^k`20*6>)r~*X)uUZeBQI6BahQ$)}Z<$Slnz z^$)XL#imh@%ne+cM;2aN#3 zPxxJ~sfP*gJ^dyXXJ)}?3*ZyC$3ylekm2(t6wvW8x%;0%VDdopCwg4-otE|mi}{U6 z;*SjcJX1TzKCj<7H>Azi4x1NE@uKhPXd;i_spXIJs=oCWE>*17_KvcT8>{2IG3_NA z*Nse1E9W?C=C=4MQ$+{7?stiW^w#o}C#Sy%>A%HM$?OIt)qXX?Bo}J6k_|JB3}SR&1E{jL1YP(yw;F5MTRyGA@=Am)HAcinksF8auh#8S%NH6E*Ymi=+dj z|F|FRja`#yftS$#rS#VVm|U>RAlqjj`9FAiM;8yIdGw5qT$q^J`z6=o_4Y?z#U&)!_;R4dC*7?7l0qeXM=GHp!_W89@Y0nB}(hstaBNONAMFtDb z?NB7LS#&l*-ia)yS8N&*!K@R2DFN)$!ZU+|$Q@gN_X)>98}=hM76r7t%ODNkqP+a#m-+dwm$swmO#j=?siBBvU!=n-tQC&qhW2EhrKqqdmkDual`1;U-Ua@lh z&h?b@0yC%XJU$0`XJC!QbF#B57gGTTM+-B-g{RN{?ZV^?tMl2h*1U1N#z_1Ecw-AR zR7ISgWA0}j8k?$h%|%02eCl{XUR=nGGSQkg$MLnAQ-+!wsqrTu4!XP@d%*b#V^$>M zJ`4KclVgMk5wVH#4(v{1U-VpQXgh9L6t3-U$m;NW+a$*Q7*m^6R!pQc%ZnaERmy(9d$EAcGFP2XOM>Pq-dwUH?Yx@1nF(2^>Dkp_g= z@Q-ub#|baxDh!VUq_2hxN(M9T^$jQ#x=ANmrr7FhWbM38reRas6lvGH;eelmzQmNB zU~G87rpX%3?YzhU_`w!vnt0t0J00YjDjxJFm#sQ2poxBT1oPaY zbI>*mbc_Gi{Y~3x{m&hI%+RMw_tWZcY}`CsS*W17%nTU|z5PmUn>5S+=+xIclMikc z;XBQ5)Hvl&e&830zEcTQa-`9L*NK)&B1)t2(cXOTxQ$))Oy>i>*UG?H~mq ziC*GUBm<{PMlII$Kh9Q!BXLHB6EjTgQbw2et}f^Bz7)9dJDShte^*uqabeZHPb)F| z(Fi~xn2shAX**fysf#5Z-f{FK-pW}l7iKlk1q@1kBVaGaOVD#Y2>~( zALttxyLr_(e9wEpU%zLnGlW#H{07$W8M(u*Zq9wCwWUU|kJy+ebkH+ZI!ZmL{GH#y zAS0;y(m>FkcEKH+U^aoq7h;?i!eT2ExY*_%LT#&#ZMmtABK@e!=ON*po{t`AF%bS- z1Qk7~8yZEWZ?5rIsE8RU?33c(>1FcBfUUWqYZ`i-B>5xamft;bRd0XW?6^Yxfoz_w zOAR`PVkvvDA^uOwQdHI_!fy#U0)K7&-c~Ppgfyt2_oVl%{jx{kJPkya-| z>jZ0|yGdJIRFds=w+nWDZfUh$>L&kXXCOw;ehSz*_3htJg5K(y*3QJfcaDHSxU5~5 zP|3;3y(x*>vU_S(`22A@0ypqz3H6|P$5#1;ru}QDR()zUnDh=N3#FshppWqwGpfDTgm>g0JKwcfH7D^L_}PKD1Z^x z(z4|9D;iv=@9ghNBJJ9FICGq(roK_>_eDSPKdGn(MV0O9k>oS3g>o9ZuxnWcd>X&A z?xVv@t$cImz3-CffBap)lW3PdN<|^@4wvluV_3|MD!Ro49apeq^SD}`a5(zqIz^B0 zD-b4xdh9nvr`_ilzFYC^hC|o6SrhgnWIIQSj{P$lg$(xcLb-zUovyoHq8!X{8e>LE zA{k2ENM+5P`tk5%H={E#0wjpg#5k>|)@XZdS8)kB@xAK{UIaucrB~1Xw{a+kvBhB6 zp6hF;`p!nlqLpG!p135!6&uq5rBbHPWsEoA_4OhC5vTWkr}NHH1&058q-6_F*eXY? zzM3?(3YTA9U6aPf1o95*^% zmxi=?+)WMx3r#eLo`OL^k{YK*Cb?$no8!N>Q1pd{rzQ0&Y~nQf3Z%qpP9M(l=%iZmO$E4WkJP zaBS_%R17%-x+m7hp_@`3RNk>HPAPh6RH>5k@tB+iHO!V_I8ZxbI#i4Ao@x5khQY`BQ<4@P5yauJCU)SsTT;dNnYXe9Wm843Pk(iO0?%h-QKj?QO(OE4>8 zD9FCcsX)XNz(;-r%pi|f@j;US;|i4i+}_km8t=g5hwSihSioC(n93t_oG%)`rEL%> zjq>STCaN%MZ_g626)qe(Uu*~ihcNImT4dzevrhCo@o#PO3+`%QYL)#+WbPFh@?8Ui zi3q=CR5x-`d(%ci~j+&f(BAj!LikYw3;)Iz4mJVug`ZXz$Ywd_2;^tu}M3*gH-_3!31$NAWIoc&*X{3c_gsZKUigC?Q2KUii zz`9Ht{3IyY$+e1ELjAzwbdxcYQ$Ww5z@hoCuM$&I-gvioEdWlBjD+c$qiFpbmKSA{ z8fgn{4ePmmtOg#S@uwnVU7 z5_K5GJ0+UA%^Nxtr`l3#_=xc734a`VskGTOpOCLNeUxTsKJ<}OSsS7T<1mEefWSEA z$h~iQ7kPuRv2jKWRJ=2m{#W+mVRV{LO4b1+9!=6dr+?Xd-p-s}K>B4G$w#Pg(8fV; zcZBiJZH+Hz0;F8s`b%2CtZsXMht{!Uz}e zZ>G=L?yCvPlTN){Z()%{TDZ*UZ%KF@mf12?jO;wq(G+zxa&6b0B~Vv)_Y~lRAG_(| zF}@_d!aKWrx!DN%y6)KeIY5hh6@Zu>>!0<~>btwo*2-B}+xedN#3|7p^B;oFJBU0? zM%52kbD2;{RjFOv?=JlFhqYX&a-p_b0v%e#`aLbsU*;XDn__{C^*RI;ID)4^0^ zaiDo?=jex(#-$+a{tic6+{MzVGqwc$=?%zAap}t;?$a#sUMv9)160F@BKJQvAHeO~Qk7m@3IE9`28HzzySGC3+ z0(zLspEsafQ)$%5q+SuF;QP?34F)Ji34h$-ja3q zYht_xH}ViMW5j-C!1Golnd{BIQqR+rlk4Fu#rs+BTdRYE1K>{kP<49d8`d`}uUu8_ zHlg8BBf&8V>RhiqqI+19lO;adaqt{q7yA%Zb7Ilr*gE+!ACT$N&M~M)D`6fp;<{~D z+ELk~=fe|S{`7d_rpmZ!XjE?PD`9M4$JQf98U-hGwo@h&`4LppPdqMF%j_awJ|SYk z9ykZ{c!kD(ohO=TXJiP`nl&H)`{JR)tPX!gUh2=zcBi+b6aEOm)P}kpOfRK~n0!1h zKVARoodki>$~MnEPZ;|K&^6;19>@Y>K$-vXh3)7gF0ryX>FMMXuivxKfOb8rSA0jU z(_YV)#|8-V33Q@kGdXl)PrfICFeFg@y^YvWxn!c+HcuVvP!v2WyMgIwvRW83cdhCp zZ7Rw?<>Lacym*Vs2bAyU3g-(da%Uz5BM9+<&5UPlivQfit`FZ%XC&z3{iiM%Bl`Y(}bkMb?gqG(NeG&yWq^4u;+SV^P; z4O@j7Uc#hba()Q*2}UK zEXzy8y(I|=EGwP_G+r@v$t7Vi?F7RO6b-f7zkK98Z%rR}pg%hsKBfv{pdQZpOYwUX z)zb${1)^Yxs3=lN-#))|nz*sISUj-+q7xkDzqY_bbp)lPCRMe8k#d}9C(Gh0psi{X zUewgbC&QrCvA(f!V0)Vq9+lYC%q(~y5^XtKwf7LdPQgqpmc8b$S|vXN0}Ur9C%{WT zA1$!ysYbtT1ZmzL#OLU;cb!xjKb470edHsmtjFL#_4roJ^{#sr#y@Qr)jggFR3?o0 zbp3ATGyel4>k2NC?Y6}sd^(DzK7E!08aBsQ#KA>%s zGa?i@u2?l$sbBR5KK)pzTeOjeNY@lGz!XXUaMi-AtmHcP+aJ{fsa`&NZ7M$t3A@XNV4Tc+C!d~<`cg@8+`>jft&(P46^xLLY7T} zavnDP;sLoBpdSOd$!PJ94*i3Q=E_Hu8SQTEX6qDw%lrx@ET9f7t=t+w)8Sv-I*9=5 z?3;Y-{bK)q+;Qf2fB`;O_z;LDswhbIs(^oN+Fd?TlN`iJqPLHECSUsK01VUqI_~zd`1l~xm?H2A zU{}v2Xb+Ylb?bewpr!@?B7V<|%N$?u!7oC3g`e*DJD3$%i!rlxkV=!#zkYRRTqR##W&H+N+||5eND=(;4LtiIzIQU0=Uuz+WU?Z4Isz-IzDmWD^@jw8Yn zD6`9kR}@II?7WBk*Xb+AKtM)j4IHyGKy+)@>-7Wz#j(2Dn|L7UZb~z$ ztulSsjuxM9Hz}WN?g8?1K$2CmXPJ_y5Vq$cc7~tdy1O$NHp{GoW=TXd zwfLOiw>f#W{~u_@hw{!ZCC^>FSjDiJ9!u)j`k6)Mj{{WfZqa{?g_O&@ay1))xn86G z=|gQ;(BWZax_*_!c)KbmhObCQ~P#^TyDo6$TRzg@$a83~xU;fCu$<(=09N z$8~+GC`hF9!t@K~5&?U-tzEq131&AYSPmT_n6X@{*!i}p_|Cwa z@gT+p`+cghk@NL(0IjX7Yw)5MK=h5A5Z)=KLDVSR6}0J#fYIs^1KF%R*-<%?T?t=9 zA_{WOuX;yStDIj0`BTDj^<3`E`Ws2>S<-|AdS2iFm_#UE;x$@4K=r9Y_QGk}Wc1z$ zKU-s+rTf}>%oF^nIgryDm>Vy$01u4*4R|iWe!X9FdffYEa(PnMtBo+47x?@Mz?R+* z=SF9k0WnoH@Xl$3&=hI-iCj?59sww{k53+M_0hUtCQ9CQ58z% z{sOawXH>V$=l6tJ2F9*NMRj)fFGijr9bq-zd_G15XJ=1Rp-7RlmbfY^XRec@dCQjt zIHlxUxJ-vgKjgL@A1WueE?+*7IKq1hw^HYHzl^_5CRH@-IGq$+pfcuq3hjh9pbkKZSL z{#?a$_4kiy!<5=(peZg!a0!_EQuEtIRc7WqkeN8`*qggdUc!WcVn)(9Z001Tj^Kr> zYO;J0Afi^FOrJRBZrrls8~(+ z%r%h*<+@TWG{I^wDYdA&d3;?BY&o3b{i;vD)wI@Fb3=!|)QzTN{H3u_n&x!pV0%8g zzC-(Z&*OxS)xh3r{WF=s$cv*mTC`24__UZpNKDO)_>aDy&c&WcQ5jWsSG7}l<%y6p zTy`qce%{`?!4#(!p=tD6p1U;x7$+%XG1u}GvQZbKnpE)v?vV+~aGKY7IaH!ug@c#}GhdBLBq zak^8d>%gI&>du-nvT6&LFR8Jo5atL;5N}G()@Yu-kC6WBW@PSygp(hcq_>q=-6(Wu zCI8)|?}k>kLfHgMd2$Mq8}$`C`@>hHn-!$~QIhPxh{?`G3S#s^|Gggfc(H_2>hd!v z@R3|gQ~pt#-#QFEJPSyV34s!6x`|$v+Xzh#g*<>#V$uiYTD8Q>2fvy$Xzw?+P&|-b z;_ryiESIFrO|>^d9y9El%sV-i(^z>eK;tb>XCKg-^D-^`hHI|4z3IMRIx)y?Srep2 zvYfG+>AJvK4CsHthhmDNrRFJ3A_LCMo!3|566~(G7eU(}8VK@~{pc`*;!WtSEYn@? zEEe=4;$Qbl^s`{42eHNs2XX^Veg zvCZfnA*oMW9iYRneA+Cg`;hPYvod**N73S;?OkH{7D7|*x<2{|M@rJUclSw8__*gv zh!E$yrGHd#@h0A{UwDu1ZlU;;Eo%nV5s-aIm1MdQ=n^sXLMpLQ%ZFQEu}2V!V`v+_ zAZ>n&c5Bn5eH(>Y8WC?k#tQSrwTp)M7C$b*TFZWBhr9T57Pjby*Ol@hwpRFf{}O%8 zeMYF_&HEvPMkZ53fB@CB;G8P&!0bw zO>bRaV=i!QZHoqN?yV3gH+eic)fsOsP5d(5&g@Qb#F(2TRrkWQ#j z4pO0N-;N>L6JJZw`2>c?+S!RuiFNl#o&5m?1%03Sj~)d~HL5m#)5h)XEjAq;UHV3^ z?5zY?-4#RbLcIwLBV`BVtuN$d6r9%kNy2uDQ<6*g%W*ns$A!zQu&)(5eU}>RTvl!peM&`?$FK)Hz%_1V*Z&a9AC6q zY1-7?r(FXk{M5cJ+R0|UDV-U5$sOO=Xv)E+@}VXPwXHi`j`Y6A0t3$=Sh(&10e7{q zK}0~x5Dg(zG0SWklj~hxEIJ>7952OXkSF%oQCi9YBc)3m6?0!GB$PEwlJ7G8&mL|z zf-byi!Y#8)aFON8tb{Q0`d5-qdQx$gdV?L~_(E~{Qz#K!6pW6QOju$`8RJ8Jkx|=S zMqXy~P*1xy5;w!)*zplm=KKbLT zM#gVupM|OG(d65|yoFd}X-+tx}E2_3R(v|X=z$o|D_O&lVjZik-9 z$$>pI*lfpS1JUOL|LqCp7jsy%Z4z7NLAVJGC%s3-;ROO=@j0!nixi7BbwtDcr-n}l znyrfNF7}~Smm-DV6Of7$zF!EC&GuUdB~q-T1RFxdxb_rROP>r2g*q0b>0{8+-v0aA ze8sP^r`P(9F2TZrOtDC)Ls@W6QMd{gMV9==>|k)78z}|VIL-be1eQuN8zjd8FO{^Ys7YO~f;YoQ=Ox4ug2(XjiX(N@zw z<9ww=L*cIjPqX#-bE~qlGUNBPtt~=L&8$;{Z0fzxD98N=S=h zn_^n1rduZ{m0|-=ICMzI)B~-eGnhdlul%WxJA3z|^qllqrF=8apT1=~V+NH|uhEb(D zK+69GV5stUghYsJezMK(qLEY${DO9ay|&Rj}U)Tm`Q zVQu<-C`<|QH}+tx!OZo%I>MK@B_54&8ACFSq{$z(neeg*Pjt`RmyF}VQcXaWGGs&~<#m2Ki8cVh>G4+aA zDylBzT7i-`;-$-<=Y88Jin^t&gX*1P!1eI7$xkk50XQj*kAjJ8p>C%H4OTWEBcPKsd(>~h!-?|;>I`RE$ov2<)?caa-9Al6$pS@vyd z#gVR3T&lPvw~Hw(mEsj93$!bb;Kr6BLT^#S5fFR&A(~H$hE8aU(dJ6_cR;Uw=YovS z@?&}lPshjq&N6Ef=^!dBrewl@fMjt+yALu%vhwfiP|jT&S2R1D>28!5ni&aM)Olw+8>xj35E$T{bVN|F%@Crof;ICBM;Z{jJxD)07-XV^8Dpu~vhu%13;K*w2 z;24GZ_%Zd@4%#Zue7nmi*|n1$NK9iqZv{5r#a4hAv35S+pLPfvsp3epi;+eIJFxQCOpk8kWfpM$+{Ha~&sNW}lq~dZ@|a*3bS~@?l4rxb)ei{rV{=P$sjNESVj$$D Lm8EJWOhf($mN4M# diff --git a/assets/IS/Packages/Bookstore/pub/images/thumbnails/9780525950622.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9780525950622.png deleted file mode 100644 index a7cd5ba257988a52945f13c4c79ce62865c5065a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5011 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 diff --git a/assets/IS/Packages/Bookstore/pub/images/thumbnails/9783492051101.png b/assets/IS/Packages/Bookstore/pub/images/thumbnails/9783492051101.png deleted file mode 100644 index bf4686fd8ae5c6d5f7455ce9fc2e5df51367f0d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6001 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 - - -Bookstore v1.0 - - - - - -

Welcome to the Home Page of the Bookstore Package.

-
Author: Peter Nevermann
Version: 1.0
Date: 28-Feb-2013
-

This package provides RESTful services dealing with resources of type Book.

-

You can use GET requests to retrieve information about books available in the Bookstore. The information is available in two formats: XML and JSON. Use an Accept request header with value text/xml or application/json to specify which type of response format you wish.

-
-

Example: -
Use a GET request on http://localhost:5555/rest/bookstore/books/9780812979183 to obtain the details of the book with ISBN "9780812979183".

-
    - - - - - - - -
    "Accept"
    Request Header
    Response Body
    text/xml<?xml version="1.0"?> -
    <book isbn="9780812979183"> -
       <author>Nassim Nicholas Taleb</author> -
       <title>The Black Swan</title> -
       <rating>5.0</rating> -
       <votes>1</votes> -
       <price>17.28</price> -
       <description>In business and government, major money is spent on prediction. [...]</description> -
       <thumbnailurl>http://localhost:5555/Bookstore/images/thumbnails/9780812979183.png</thumbnailurl> -
       <coverurl>http://localhost:5555/Bookstore/images/covers/9780812979183.png</coverurl> -
       <ratingsurl>http://localhost:5555/rest/bookstore/books/9780812979183/ratings</ratingsurl> -
    </book>
    application/json{ -
       "book": { -
          "@isbn": "9780812979183", -
          "author": "Nassim Nicholas Taleb", -
          "title": "The Black Swan", -
          "rating": "5.0", -
          "votes": "1", -
          "price": "17.28", -
          "description": "In business and government, major money is spent on prediction. [...]", -
          "thumbnailurl": "http://localhost:5555/Bookstore/images/thumbnails/9780812979183.png", -
          "coverurl": "http://localhost:5555/Bookstore/images/covers/9780812979183.png", -
          "ratingsurl": "http://localhost:5555/rest/bookstore/books/9780812979183/ratings" -
       } -
    }
    -
-

Note that the services return URLs to retrieve the book details ("detailsurl"), the book ratings ("ratingsurl"), the book's cover image ("coverurl"), and a book's thumbnail image ("thumbnailurl").

-

You can add a rating and comments for a book by sending a POST request to the "ratings" path of a resource. -
Use an Content-Type request header with value text/xml or application/json to specify whether you are sending your data as XML or JSON.

-

Example: -
Use a POST request on http://localhost:5555/rest/bookstore/books/9780812979183/ratings to send the following rating and comment.

-
    - - - - - - -
    "Content-Type"
    Request Header
    Request Body
    text/xml<rating> -
       <score>5</score> -
       <comment>Best book of the year!</comment> -
       <user>Mike</user> -
    </rating>
    application/json{ -
       "rating": { -
          "score":"5", -
          "comment":"Best book of the year!", -
          "user":"Mike" -
       } -
    }
    -
- - \ No newline at end of file diff --git a/assets/IS/Packages/Fibonachi/.classpath b/assets/IS/Packages/Fibonachi/.classpath deleted file mode 100644 index 34b13e630..000000000 --- a/assets/IS/Packages/Fibonachi/.classpath +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/IS/Packages/Fibonachi/.project b/assets/IS/Packages/Fibonachi/.project deleted file mode 100644 index 55e3f6658..000000000 --- a/assets/IS/Packages/Fibonachi/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - Fibonachi - - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.softwareag.is.vcsintegration.ISPackageBuilder - - - - - - com.softwareag.is.vcsintegration.nature - org.eclipse.jdt.core.javanature - - diff --git a/assets/IS/Packages/Fibonachi/.settings/com.softwareag.ide.eclipse.pld.bundle.builder.ui.prefs b/assets/IS/Packages/Fibonachi/.settings/com.softwareag.ide.eclipse.pld.bundle.builder.ui.prefs deleted file mode 100644 index 524c8ff74..000000000 --- a/assets/IS/Packages/Fibonachi/.settings/com.softwareag.ide.eclipse.pld.bundle.builder.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -project.version=1.0.0 diff --git a/assets/IS/Packages/Fibonachi/manifest.bak b/assets/IS/Packages/Fibonachi/manifest.bak deleted file mode 100644 index c62aa628f..000000000 --- a/assets/IS/Packages/Fibonachi/manifest.bak +++ /dev/null @@ -1,13 +0,0 @@ - - - - yes - no - 1.0 - - - - - - yes - diff --git a/assets/IS/Packages/Fibonachi/manifest.v3 b/assets/IS/Packages/Fibonachi/manifest.v3 deleted file mode 100644 index aab4f72d7..000000000 --- a/assets/IS/Packages/Fibonachi/manifest.v3 +++ /dev/null @@ -1,13 +0,0 @@ - - - - yes - no - 2.0 - - - - - Default - yes - diff --git a/assets/IS/Packages/Fibonachi/ns/Fibonachi/node.idf b/assets/IS/Packages/Fibonachi/ns/Fibonachi/node.idf deleted file mode 100644 index fb642f2ab..000000000 --- a/assets/IS/Packages/Fibonachi/ns/Fibonachi/node.idf +++ /dev/null @@ -1,7 +0,0 @@ - - - - interface - Fibonachi - false - diff --git a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml b/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml deleted file mode 100644 index eb56ac20a..000000000 --- a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml +++ /dev/null @@ -1,1753 +0,0 @@ - - - - - - - - - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 1 - - record - unknown - false - numTwo - string - 0 - true - false - false - - - - - - - - - - 0 - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - - - - - - - - - - - - - - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 0 - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - - - - - - - - - - - - - - - record - unknown - false - clearPipelineInput - record - 0 - true - false - false - - - unknown - unknown - false - preserve - string - 1 - true - true - false - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - fibonachiNumber - - - unknown - unknown - false - preserve - string - 1 - true - true - false - false - false - - - - - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - unknown - unknown - false - preserve - string - 1 - true - false - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 1 - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - - - - - - - - - - - - - - - record - unknown - false - clearPipelineInput - record - 0 - true - false - false - - - unknown - unknown - false - preserve - string - 1 - true - true - false - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - fibonachiNumber - - - unknown - unknown - false - preserve - string - 1 - true - true - false - false - false - - - - - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - unknown - unknown - false - preserve - string - 1 - true - false - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - unknown - false - subtractIntsInput - record - 0 - IData - true - false - false - - - field - unknown - false - num1 - string - 0 - true - false - false - - - field - unknown - false - num2 - string - 0 - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - IData - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - 2 - - unknown - unknown - false - num2 - string - 0 - true - false - false - - - - - - - - - - - - record - unknown - false - record - 0 - IData - true - false - false - - - unknown - unknown - false - num1 - string - 0 - true - false - false - - - unknown - unknown - false - num2 - string - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - field - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - record - unknown - false - subtractIntsOutput - record - 0 - IData - true - false - false - - - field - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - unknown - false - addIntsInput - record - 0 - true - false - false - - - unknown - unknown - false - num1 - string - 0 - true - false - false - - - unknown - unknown - false - num2 - string - 0 - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - unknown - false - $retries - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - unknown - unknown - false - num1 - string - 0 - true - false - false - - - unknown - unknown - false - num2 - string - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - record - unknown - false - addIntsOutput - record - 0 - true - false - false - - - unknown - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - unknown - unknown - false - num1 - string - 0 - true - false - false - - - unknown - unknown - false - num2 - string - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - unknown - false - numOne - string - 0 - true - false - false - - - unknown - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - unknown - false - value - string - 0 - true - false - false - - - unknown - unknown - false - $retries - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - record - unknown - false - clearPipelineInput - record - 0 - IData - true - false - false - - - field - unknown - false - preserve - string - 1 - true - true - false - false - false - - - true - - - - - - - - record - unknown - false - record - 0 - IData - true - false - false - - - true - - - - - - - - - - - - fibonachiNumber - - - unknown - unknown - false - preserve - string - 1 - true - true - false - false - false - - - - - - - - - - diff --git a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml.bak b/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml.bak deleted file mode 100644 index 1425a0029..000000000 --- a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/flow.xml.bak +++ /dev/null @@ -1,1634 +0,0 @@ - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - record - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 1 - - record - false - numTwo - string - 0 - true - false - false - - - - - - - - - - 0 - - unknown - false - numOne - string - 0 - true - false - false - - - - - - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - record - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 0 - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - - - - - - - - - - - - - - - record - false - clearPipelineInput - record - 0 - true - false - false - - - unknown - false - preserve - string - 1 - true - true - false - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - fibonachiNumber - - - unknown - false - preserve - string - 1 - true - true - false - false - false - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - preserve - string - 1 - true - false - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - record - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - 1 - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - - - - - - - - - - - - - - - record - false - clearPipelineInput - record - 0 - true - false - false - - - unknown - false - preserve - string - 1 - true - true - false - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - fibonachiNumber - - - unknown - false - preserve - string - 1 - true - true - false - false - false - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - preserve - string - 1 - true - false - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - record - - - true - false - false - - false - Untitled - string - 0 - - - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - subtractIntsInput - record - 0 - true - false - false - - - unknown - false - num1 - string - 0 - true - false - false - - - unknown - false - num2 - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - 2 - - unknown - false - num2 - string - 0 - true - false - false - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - num1 - string - 0 - true - false - false - - - unknown - false - num2 - string - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - record - false - subtractIntsOutput - record - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - record - false - addIntsInput - record - 0 - true - false - false - - - unknown - false - num1 - string - 0 - true - false - false - - - unknown - false - num2 - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - false - $retries - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - num1 - string - 0 - true - false - false - - - unknown - false - num2 - string - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - record - false - addIntsOutput - record - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - record - false - record - 0 - true - false - false - - - unknown - false - num1 - string - 0 - true - false - false - - - unknown - false - num2 - string - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - record - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - unknown - false - numOne - string - 0 - true - false - false - - - unknown - false - numTwo - string - 0 - true - false - false - - - unknown - false - fibonachiNumber - string - 0 - true - false - false - - - unknown - false - value - string - 0 - true - false - false - - - unknown - false - $retries - string - 0 - true - false - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - record - false - clearPipelineInput - record - 0 - true - false - false - - - unknown - false - preserve - string - 1 - true - true - false - false - false - - - true - - - - - - - - record - false - record - 0 - true - false - false - - - true - - - - - - - - - - - - fibonachiNumber - - - unknown - false - preserve - string - 1 - true - true - false - false - false - - - - - - - - - - diff --git a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/node.ndf b/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/node.ndf deleted file mode 100644 index 79f20e62a..000000000 --- a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/getFibunachiNumber/node.ndf +++ /dev/null @@ -1,105 +0,0 @@ - - - - flow - default - java 3.5 - - - record - unknown - - false - record - 0 - IData - true - false - false - - - record - unknown - - - true - false - false - - false - n - string - 0 - - - true - false - false - - - true - - - record - unknown - - false - record - 0 - IData - true - false - false - - - record - unknown - - - true - false - false - - false - fibonachiNumber - string - 0 - - - true - false - false - - - true - - - - no - no - no - 15 - 1 - off - no - $null - - no - 0 - 0 - none - none - 0 - - - - 0 - false - false - true - - 1 - - true - false - diff --git a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/node.idf b/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/node.idf deleted file mode 100644 index f79fea61b..000000000 --- a/assets/IS/Packages/Fibonachi/ns/Fibonachi/services/node.idf +++ /dev/null @@ -1,7 +0,0 @@ - - - - interface - Fibonachi.services - false - diff --git a/assets/IS/Packages/Fibonachi/pub/index.html b/assets/IS/Packages/Fibonachi/pub/index.html deleted file mode 100644 index 502f1ea69..000000000 --- a/assets/IS/Packages/Fibonachi/pub/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -

Welcome to the Home Page for the Fibonachi Package.

\ No newline at end of file diff --git a/assets/IS/Tests/BookstoreTest/.classpath b/assets/IS/Tests/BookstoreTest/.classpath deleted file mode 100644 index 3485755ac..000000000 --- a/assets/IS/Tests/BookstoreTest/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/IS/Tests/BookstoreTest/.classpath.swp b/assets/IS/Tests/BookstoreTest/.classpath.swp deleted file mode 100644 index 9cd3016c34d1e782f82d59a6344ffbbb8492bd1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&!EVzq7zc1~aA1eQfENhijNJ|-Kx#LkYLkkzP1?Evr^!j&)Lmjnw$pYO_7LO1 z3n1|VJOd{lfVaVhW=NA**|E~!)h8#hzu5luRP{?*C;h$XC4E7B+aQE~{r3Ly^TFMR z9|++p7e#o!pcPWpvqaD6f`pI1$JtbyGh6Xgyl!u@U72Xb(~%qq>ljT7ZvB`WEm#u6 z5P-m~1=h*)&2}rKJ&m74j~^Z1`VB~c00bZa0SG_<0uX=z1eRC8RV(DeZ+~@ugnRRT z#Q-2tWV=5P$##AOHafKwzl^I_#?IdW)=eu5N^K<~%x+D(l9& zc2(`-D3oS*<3y^M{c~<1lV&0t=~A#iW#3j0-IN=_b6@v;+Uv7am!($BPiJ{3`yNU= zV)>Ac`Gn7C$z|a$%?%5sS~Uy#cTvl8nx~ddOXq9JZ7rRkrdCdtg1#$5efd#%*3-&y zsf1ze=JS7RXp>Ws7P7K}jx$FKUMpX?u5$YJaObplus?Xy-`_c8*XK#)gi*YpnMmrK z)^eUH3_WsOW!z*ZdxP^zu<@k4VJp_8&2f#ex;Ck>EF6^uv5@%pyYtuEv$BXL!dR(Q ZH*V8b90`@`%x}0G9}jk)y^6QD$S-NC*ggON diff --git a/assets/IS/Tests/BookstoreTest/.project b/assets/IS/Tests/BookstoreTest/.project deleted file mode 100644 index 1319edd3c..000000000 --- a/assets/IS/Tests/BookstoreTest/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - BookstoreTest - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs b/assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 8fec98aea..000000000 --- a/assets/IS/Tests/BookstoreTest/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Thu Jan 10 14:25:20 CET 2013 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/assets/IS/Tests/BookstoreTest/bin/.gitignore b/assets/IS/Tests/BookstoreTest/bin/.gitignore deleted file mode 100644 index 9e21f06c3..000000000 --- a/assets/IS/Tests/BookstoreTest/bin/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/PackageTest/ -/test/ diff --git a/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml b/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml deleted file mode 100644 index 29484eb16..000000000 --- a/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_input.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml b/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml deleted file mode 100644 index 1907aa7dc..000000000 --- a/assets/IS/Tests/BookstoreTest/resources/test/xml/data/bookstore_services_getBooks_output.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - 9781584883470 - Eric Weisstein - CRC Concise Encyclopedia of Mathematics - 3.5 - 2 - http://localhost:5555/wm-message/9781584883470 - http://localhost:5555/Bookstore/images/thumbnails/9781584883470.png - - - 9780691138718 - Avner Ash & Robert Gross - Fearless symmetry - 2.0 - 3 - http://localhost:5555/wm-message/9780691138718 - http://localhost:5555/Bookstore/images/thumbnails/9780691138718.png - - - 9780812979183 - Nassim Nicholas Taleb - The Black Swan - 5.0 - 1 - http://localhost:5555/wm-message/9780812979183 - http://localhost:5555/Bookstore/images/thumbnails/9780812979183.png - - - 9780525950622 - Daniel Gardener - The Science of Fear - 0.0 - 0 - http://localhost:5555/wm-message/9780525950622 - http://localhost:5555/Bookstore/images/thumbnails/9780525950622.png - - - 9783492051101 - Atle Naess - Die Riemannsche Vermutung - 0.0 - 0 - http://localhost:5555/wm-message/9783492051101 - http://localhost:5555/Bookstore/images/thumbnails/9783492051101.png - - - 9781584885085 - Douglas R. Stinson - Cryptography - 0.0 - 0 - http://localhost:5555/wm-message/9781584885085 - http://localhost:5555/Bookstore/images/thumbnails/9781584885085.png - - - - - - diff --git a/assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml b/assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml deleted file mode 100644 index d29f29942..000000000 --- a/assets/IS/Tests/BookstoreTest/resources/test/xml/setup/BookstoreTest.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/assets/MWS/.gitignore b/assets/MWS/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/build.xml b/build.xml deleted file mode 100644 index d74e9386e..000000000 --- a/build.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/image/Dockerfile b/image/Dockerfile deleted file mode 100644 index f2d5d69b0..000000000 --- a/image/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM docker.devopsinitiative.com/softwareag/msr:10.3.0.1-sagdevops - -ADD --chown=10000:10000 *.zip *.md5 /opt/softwareag/IntegrationServer/instances/default/replicate/autodeploy/ - -EXPOSE 5555 9999 8092 8093 8094 diff --git a/project.properties b/project.properties deleted file mode 100644 index a900c1312..000000000 --- a/project.properties +++ /dev/null @@ -1,18 +0,0 @@ -#CI Project Layout -#mofidy only if you diviate from the standard structure - -#Asset paths -# Use slash "/" as path separator. Example: Use "C:/SoftwareAG", instead of "C:\SoftwareAG". -isPackages=./assets/IS/Packages -isTests=./assets/IS/Tests -isConfigDir=./assets/IS/config -bpmProjects=./assets/BPM/ -mwsProjects=./assets/MWS/ -rulesProjects=./assets/Rules/ -#Should always be named UniversalMessaging -umExport=./assets/UniversalMessaging - - - - - diff --git a/wait_for_is.sh b/wait_for_is.sh deleted file mode 100644 index 400ecb163..000000000 --- a/wait_for_is.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# - -logfile=/opt/softwareag/IntegrationServer/instances/default/logs/server.log -echo "Waiting for the Integration Server log file" -while [ ! -f $logfile ] -do - echo -n "." - sleep 5 -done -echo; echo "Waiting for Integration Server to become ONLINE" -while [ -z "`grep 5555 $logfile`" ] -do - echo -n "." - sleep 5 -done -echo; echo "Integration Server is ONLINE" From a32a2cade5e77a3994ccb2e7d197c8ed54f3fe7b Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 23 Aug 2018 13:32:54 +1000 Subject: [PATCH 025/134] first commit of deploy code --- Jenkinsfile | 35 ++++++ softwareag-bookstore/.helmignore | 21 ++++ softwareag-bookstore/Chart.yaml | 5 + softwareag-bookstore/templates/_helpers.tpl | 32 ++++++ .../templates/deployment.yaml | 107 ++++++++++++++++++ softwareag-bookstore/templates/service.yaml | 19 ++++ softwareag-bookstore/values.yaml | 62 ++++++++++ 7 files changed, 281 insertions(+) create mode 100644 Jenkinsfile create mode 100644 softwareag-bookstore/.helmignore create mode 100644 softwareag-bookstore/Chart.yaml create mode 100644 softwareag-bookstore/templates/_helpers.tpl create mode 100644 softwareag-bookstore/templates/deployment.yaml create mode 100644 softwareag-bookstore/templates/service.yaml create mode 100644 softwareag-bookstore/values.yaml diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..e3e4bf967 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,35 @@ +podTemplate( + label: 'mypod', + inheritFrom: 'default', + containers: [ + containerTemplate( + name: 'helm', + image: 'lachlanevenson/k8s-helm:v2.9.1', + ttyEnabled: true, + command: 'cat' + ) + ], + volumes: [ + hostPathVolume( + hostPath: '/var/run/docker.sock', + mountPath: '/var/run/docker.sock' + ) + ] +) { + node('mypod') { + def commitId + stage ('Extract') { + checkout scm + commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() + } + stage ('Deploy') { + container ('helm') { + def registry = "docker.devopsinitiative.com" + repository = "${registry}/bookstore" + sh "helm list" + sh "helm delete softwareag-bookstore --purge" + sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=1 softwareag-bookstore softwareag-bookstore" + } + } + } +} diff --git a/softwareag-bookstore/.helmignore b/softwareag-bookstore/.helmignore new file mode 100644 index 000000000..f0c131944 --- /dev/null +++ b/softwareag-bookstore/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/softwareag-bookstore/Chart.yaml b/softwareag-bookstore/Chart.yaml new file mode 100644 index 000000000..c452c1880 --- /dev/null +++ b/softwareag-bookstore/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Kubernetes +name: softwareag-bookstore +version: 0.1.0 diff --git a/softwareag-bookstore/templates/_helpers.tpl b/softwareag-bookstore/templates/_helpers.tpl new file mode 100644 index 000000000..6fe509ffa --- /dev/null +++ b/softwareag-bookstore/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "softwareag-bookstore.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "softwareag-bookstore.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "softwareag-bookstore.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml new file mode 100644 index 000000000..b7654a4c8 --- /dev/null +++ b/softwareag-bookstore/templates/deployment.yaml @@ -0,0 +1,107 @@ +apiVersion: apps/v1beta2 +kind: Deployment +metadata: + name: {{ template "softwareag-bookstore.fullname" . }} + labels: + app: {{ template "softwareag-bookstore.name" . }} + chart: {{ template "softwareag-bookstore.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ template "softwareag-bookstore.name" . }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ template "softwareag-bookstore.name" . }} + release: {{ .Release.Name }} + spec: + securityContext: + runAsUser: {{ default 0 .Values.RunAsUser }} +{{- if and (.Values.RunAsUser) (.Values.FsGroup) }} +{{- if not (eq .Values.RunAsUser 0.0) }} + fsGroup: {{ .Values.FsGroup }} +{{- end }} +{{- end }} + imagePullSecrets: + - name: regcred + containers: + - name: {{ .Chart.Name }} + image: {{ .Values.image.repository }}:{{ .Values.image.tag }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: is + containerPort: 5555 + protocol: TCP + volumeMounts: + livenessProbe: + initialDelaySeconds: 80 + periodSeconds: 30 + exec: + command: + - curl + - -H + - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" + - http://localhost:5555/health +# httpGet: +# path: /health +# port: is +# httpHeaders: +# - name: Authorization +# value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" + readinessProbe: + initialDelaySeconds: 80 + periodSeconds: 30 + exec: + command: + - curl + - -H + - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" + - http://localhost:5555/health +# httpGet: +# path: /health +# port: is +# httpHeaders: +# - name: Authorization +# value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" + resources: +{{ toYaml .Values.resources | indent 10 }} + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 6 }} + {{- end }} +# - name: es-logger +# image: busybox +# args: [/bin/sh, -c, 'touch /mnt/log/SAG_EventDataStore.log /mnt/log/SAG_EventDataStore_deprecation.log /mnt/log/SAG_EventDataStore_index_indexing_slowlog.log /mnt/log/SAG_EventDataStore_index_search_slowlog.log /mnt/log/startup.log && tail -f /mnt/log/SAG_EventDataStore.log /mnt/log/SAG_EventDataStore_deprecation.log /mnt/log/SAG_EventDataStore_index_indexing_slowlog.log /mnt/log/SAG_EventDataStore_index_search_slowlog.log /mnt/log/startup.log'] +# volumeMounts: +# - name: bookstore-logs +# mountPath: /mnt/log +# +# - name: fluentd-sidecar-es +# image: "gcr.io/google_containers/fluentd-sidecar-es:1.0" +# env: +# - name: FILES_TO_COLLECT +# value: "SAG_EventDataStore.log SAG_EventDataStore_deprecation.log SAG_EventDataStore_index_indexing_slowlog.log SAG_EventDataStore_index_search_slowlog.log startup.log" +# resources: +# requests: +# cpu: 100m +# memory: 200M +# volumeMounts: +# - name: bookstore-logs +# readOnly: true +# mountPath: /mnt/log + {{- with .Values.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + volumes: +{{- if .Values.Persistence.volumes }} +{{ toYaml .Values.Persistence.volumes | indent 6 }} +{{- end }} diff --git a/softwareag-bookstore/templates/service.yaml b/softwareag-bookstore/templates/service.yaml new file mode 100644 index 000000000..c4ecfc74a --- /dev/null +++ b/softwareag-bookstore/templates/service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "softwareag-bookstore.fullname" . }} + labels: + app: {{ template "softwareag-bookstore.name" . }} + chart: {{ template "softwareag-bookstore.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.runtimeport }} + targetPort: 5555 + protocol: TCP + name: api + selector: + app: {{ template "softwareag-bookstore.name" . }} + release: {{ .Release.Name }} diff --git a/softwareag-bookstore/values.yaml b/softwareag-bookstore/values.yaml new file mode 100644 index 000000000..b5ca2512c --- /dev/null +++ b/softwareag-bookstore/values.yaml @@ -0,0 +1,62 @@ +# Default values for softwareag-bookstore. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +RunAsUser: 10000 +FsGroup: 10000 + +image: + repository: docker.devopsinitiative.com/bookstore + tag: stable + pullPolicy: IfNotPresent + +service: + type: ClusterIP + runtimeport: 5555 + +resources: + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + requests: + cpu: 10m + memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +Persistence: + Enabled: false + ## A manually managed Persistent Volume and Claim + ## Requires Persistence.Enabled: true + ## If defined, PVC must be created manually before volume will be bound + # ExistingClaim: + + ## jenkins data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # StorageClass: "-" + + # Annotations: {} + # AccessMode: ReadWriteOnce + # Size: 8Gi + # volumes: + # - name: nothing + # emptyDir: {} + # mounts: + # - mountPath: /var/nothing + # name: nothing + # readOnly: true From 7068b6e1effd0311dc2ba9bf0b21b6dcb2852828 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 23 Aug 2018 18:14:16 +1000 Subject: [PATCH 026/134] delete then install --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index e3e4bf967..b70ce5d81 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,7 +28,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm delete softwareag-bookstore --purge" - sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=1 softwareag-bookstore softwareag-bookstore" + sh "helm install --wait --set image.repository=${repository},image.tag=1 softwareag-bookstore softwareag-bookstore" } } } From bd40f8fd2c9f98ee48ab93cc4423775eb7c43ab4 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 2 Sep 2018 18:17:11 +1000 Subject: [PATCH 027/134] name for install --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b70ce5d81..be807980f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,7 +28,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm delete softwareag-bookstore --purge" - sh "helm install --wait --set image.repository=${repository},image.tag=1 softwareag-bookstore softwareag-bookstore" + sh "helm install --wait --set image.repository=${repository},image.tag=1 --name softwareag-bookstore softwareag-bookstore" } } } From 93eccec654fe8536db734918a0c70bfd667bb53e Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 2 Sep 2018 18:22:23 +1000 Subject: [PATCH 028/134] no delete --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index be807980f..0b19ac4de 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,7 +27,7 @@ podTemplate( def registry = "docker.devopsinitiative.com" repository = "${registry}/bookstore" sh "helm list" - sh "helm delete softwareag-bookstore --purge" + #sh "helm delete softwareag-bookstore --purge" sh "helm install --wait --set image.repository=${repository},image.tag=1 --name softwareag-bookstore softwareag-bookstore" } } From 4d4964c151e59a5dcdb83958758f7aecf163dbef Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 2 Sep 2018 18:24:37 +1000 Subject: [PATCH 029/134] wrong comment char --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0b19ac4de..c1a735b77 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,7 +27,7 @@ podTemplate( def registry = "docker.devopsinitiative.com" repository = "${registry}/bookstore" sh "helm list" - #sh "helm delete softwareag-bookstore --purge" + // sh "helm delete softwareag-bookstore --purge" sh "helm install --wait --set image.repository=${repository},image.tag=1 --name softwareag-bookstore softwareag-bookstore" } } From 176e0d0171e462aa2cb10c251f5650e3fd291883 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 2 Sep 2018 18:35:15 +1000 Subject: [PATCH 030/134] v2 --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index c1a735b77..4cf63accf 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,8 +27,8 @@ podTemplate( def registry = "docker.devopsinitiative.com" repository = "${registry}/bookstore" sh "helm list" - // sh "helm delete softwareag-bookstore --purge" - sh "helm install --wait --set image.repository=${repository},image.tag=1 --name softwareag-bookstore softwareag-bookstore" + sh "helm delete softwareag-bookstore --purge" + sh "helm install --wait --set image.repository=${repository},image.tag=2 --name softwareag-bookstore softwareag-bookstore" } } } From 25ddaa0bcbca4b5a50f19b6f93ff02a1489a04cb Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 3 Sep 2018 14:30:55 +1000 Subject: [PATCH 031/134] v3 with REST Descriptor --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4cf63accf..418215881 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,7 +28,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm delete softwareag-bookstore --purge" - sh "helm install --wait --set image.repository=${repository},image.tag=2 --name softwareag-bookstore softwareag-bookstore" + sh "helm install --wait --set image.repository=${repository},image.tag=3 --name softwareag-bookstore softwareag-bookstore" } } } From f74e6a130eda40bd8dbdca50bf443f0e508fe9a9 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 01:20:25 +1000 Subject: [PATCH 032/134] added curl to create APi in API Gatweway --- Jenkinsfile | 3 +- bookstore.swagger | 200 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 202 insertions(+), 1 deletion(-) create mode 100644 bookstore.swagger diff --git a/Jenkinsfile b/Jenkinsfile index 418215881..1799b1625 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,7 +28,8 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm delete softwareag-bookstore --purge" - sh "helm install --wait --set image.repository=${repository},image.tag=3 --name softwareag-bookstore softwareag-bookstore" + sh "helm install --wait --set image.repository=${repository},image.tag=bbbf486 --name softwareag-bookstore softwareag-bookstore" + sh 'curl -u Administrator:manage -X POST "http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@bookstore.swagger" -F "apiName=Bookstore" -F "apiDescription=Bookstore API" -F "apiVersion=V3" -F "type=swagger"' } } } diff --git a/bookstore.swagger b/bookstore.swagger new file mode 100644 index 000000000..d2da03229 --- /dev/null +++ b/bookstore.swagger @@ -0,0 +1,200 @@ +--- +swagger: "2.0" +info: + description: "Bookstore API Sample" + version: "1.0" + title: "Bookstore API" +host: "softwareag-bookstore:5555" +basePath: "/rad/bookstore:BooksRAD" +schemes: +- "http" +consumes: +- "application/json" +produces: +- "application/json" +paths: + /books: + get: + operationId: "books_GET_1" + parameters: [] + responses: + 200: + description: "OK" + schema: + $ref: "#/definitions/books_GET_response" + 401: + description: "Access Denied" + schema: + $ref: "#/definitions/books_GET_response" + /books/{isbn}: + get: + operationId: "booksisbn_GET_2" + parameters: + - name: "isbn" + in: "path" + required: true + type: "string" + responses: + 200: + description: "OK" + schema: + $ref: "#/definitions/booksisbn_GET_response" + 401: + description: "Access Denied" + /rating/{isbn}: + get: + operationId: "ratingisbn_GET_3" + parameters: + - name: "isbn" + in: "path" + required: true + type: "string" + responses: + 200: + description: "OK" + schema: + $ref: "#/definitions/ratingisbn_GET_response" + 401: + description: "Access Denied" + put: + operationId: "ratingisbn_PUT_3" + parameters: + - name: "isbn" + in: "path" + required: true + type: "string" + - in: "body" + name: "rating" + required: true + schema: + $ref: "#/definitions/rating_1" + responses: + 200: + description: "OK" + schema: + $ref: "#/definitions/ratingisbn_PUT_response" + 401: + description: "Access Denied" +definitions: + ratinglist: + required: + - "ratinglist" + properties: + ratinglist: + $ref: "#/definitions/ratinglist_1" + description: "generated by webMethods" + ratingisbn_PUT_response: + required: + - "result" + properties: + result: + type: "string" + rating_1: + required: + - "rating" + properties: + rating: + $ref: "#/definitions/rating" + rating: + required: + - "comment" + - "score" + - "user" + properties: + score: + type: "string" + datetime: + type: "string" + comment: + type: "string" + user: + type: "string" + description: "generated by webMethods" + book_1: + required: + - "book" + properties: + book: + $ref: "#/definitions/book" + booklist_1: + required: + - "book" + properties: + book: + type: "array" + items: + $ref: "#/definitions/book" + books_GET_response: + required: + - "booklist" + properties: + booklist: + $ref: "#/definitions/booklist" + ratingisbn_GET_response: + required: + - "ratinglist" + properties: + ratinglist: + $ref: "#/definitions/ratinglist" + ratinglist_1: + required: + - "@isbn" + - "rating" + properties: + '@isbn': + type: "string" + rating: + type: "array" + items: + $ref: "#/definitions/rating" + book: + required: + - "@isbn" + - "author" + - "coverurl" + - "description" + - "detailsurl" + - "price" + - "rating" + - "ratingsurl" + - "thumbnailurl" + - "title" + - "votes" + properties: + coverurl: + type: "string" + '@isbn': + type: "string" + detailsurl: + type: "string" + author: + type: "string" + price: + type: "string" + ratingsurl: + type: "string" + rating: + type: "string" + description: + type: "string" + votes: + type: "string" + title: + type: "string" + thumbnailurl: + type: "string" + description: "generated by webMethods" + booklist: + required: + - "booklist" + properties: + booklist: + $ref: "#/definitions/booklist_1" + description: "generated by webMethods" + booksisbn_GET_response: + required: + - "book" + properties: + book: + $ref: "#/definitions/book_1" + From 1ec82ce6460ed1066c6dafc70e6d180c9e495084 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 01:29:11 +1000 Subject: [PATCH 033/134] move credentials to Kubernetes secret apigateway-cred --- Jenkinsfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1799b1625..ffd0ab563 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -9,6 +9,10 @@ podTemplate( command: 'cat' ) ], + envVars: [ + secretEnvVar(key: 'API_GATEWAY_USR', secretName: 'apigateway-cred', secretKey: 'username'), + secretEnvVar(key: 'API_GATEWAY_PSW', secretName: 'apigateway-cred', secretKey: 'password'), + ], volumes: [ hostPathVolume( hostPath: '/var/run/docker.sock', @@ -29,7 +33,7 @@ podTemplate( sh "helm list" sh "helm delete softwareag-bookstore --purge" sh "helm install --wait --set image.repository=${repository},image.tag=bbbf486 --name softwareag-bookstore softwareag-bookstore" - sh 'curl -u Administrator:manage -X POST "http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@bookstore.swagger" -F "apiName=Bookstore" -F "apiDescription=Bookstore API" -F "apiVersion=V3" -F "type=swagger"' + sh 'curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST "http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@bookstore.swagger" -F "apiName=Bookstore" -F "apiDescription=Bookstore API" -F "apiVersion=V3" -F "type=swagger"' } } } From 954e5a7b17ed954e96715eb1581637b58b5557c8 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 01:42:39 +1000 Subject: [PATCH 034/134] change quotes --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ffd0ab563..810c22cee 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( sh "helm list" sh "helm delete softwareag-bookstore --purge" sh "helm install --wait --set image.repository=${repository},image.tag=bbbf486 --name softwareag-bookstore softwareag-bookstore" - sh 'curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST "http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@bookstore.swagger" -F "apiName=Bookstore" -F "apiDescription=Bookstore API" -F "apiVersion=V3" -F "type=swagger"' + sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" } } } From 24228897856b0db565d4b63d65bc1de445f632cf Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 02:06:27 +1000 Subject: [PATCH 035/134] rebuild helm image with curl --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 810c22cee..7590d19d4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'lachlanevenson/k8s-helm:v2.9.1', + image: 'docker.devopsinitiative.com/k8s-helm:2.10.1', ttyEnabled: true, command: 'cat' ) From e74c4358bd49e40d815341c0a687fa6dc82bb870 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 02:13:00 +1000 Subject: [PATCH 036/134] add image pull secrets --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7590d19d4..cda5e7bd1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -18,7 +18,8 @@ podTemplate( hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock' ) - ] + ], + imagePullSecrets: [ 'regcred' ] ) { node('mypod') { def commitId From b989b121bb3f22cef3baec464accaa9512880031 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 02:21:42 +1000 Subject: [PATCH 037/134] update helm image --- Jenkinsfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index cda5e7bd1..b77054093 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:2.10.1', + image: 'docker.devopsinitiative.com/k8s-helm:2.10.0', ttyEnabled: true, command: 'cat' ) @@ -32,8 +32,7 @@ podTemplate( def registry = "docker.devopsinitiative.com" repository = "${registry}/bookstore" sh "helm list" - sh "helm delete softwareag-bookstore --purge" - sh "helm install --wait --set image.repository=${repository},image.tag=bbbf486 --name softwareag-bookstore softwareag-bookstore" + sh "helm update --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" } } From 58a234f5bcf4c42d53f42dd32592761aed88f0ca Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 02:30:44 +1000 Subject: [PATCH 038/134] helm upgrade not update --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b77054093..d5b3e1162 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -32,7 +32,7 @@ podTemplate( def registry = "docker.devopsinitiative.com" repository = "${registry}/bookstore" sh "helm list" - sh "helm update --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" } } From abeb1a8c0a1b80d163c74e44f44ebe6f3cb2a3c7 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 03:39:10 +1000 Subject: [PATCH 039/134] https and use runtime --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d5b3e1162..ecade5a5d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'http://apigateway.devopsinitiative.com/rest/apigateway/v103/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" + sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/v103/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" } } } From f1a875535ed6c16b203d6089f7700366d5b0a0ef Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 03:52:25 +1000 Subject: [PATCH 040/134] 10.2 has different api path --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ecade5a5d..0e5064505 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/v103/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" + sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" } } } From d1a92f623fafea9e6e1437e10f8eb2423b77a265 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:03:12 +1000 Subject: [PATCH 041/134] capture API_ID --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0e5064505..8f20b4d27 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger'" + sh "API_ID=`curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq '.apiResponse.api.id'` && echo $API_ID" } } } From 82ef5e91accecaab100a3a9a02375ad81d622327 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:14:54 +1000 Subject: [PATCH 042/134] capture API_ID --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8f20b4d27..9ad3f24f4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "API_ID=`curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq '.apiResponse.api.id'` && echo $API_ID" + sh "content=$(curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq '.apiResponse.api.id'); api-id=$( echo jq -r '.apiResponse.api.id' <<< ${content}) ; echo ${api-id}" } } } From 6cb9c62c5be18934ef6d7d3375a092a25625d179 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:17:18 +1000 Subject: [PATCH 043/134] capture API_ID --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9ad3f24f4..192476482 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "content=$(curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq '.apiResponse.api.id'); api-id=$( echo jq -r '.apiResponse.api.id' <<< ${content}) ; echo ${api-id}" + sh "content=$(curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=$( echo jq -r '.apiResponse.api.id' <<< $content) ; echo $api-id" } } } From 2f1c7f5dfa8a39e28780d54c7d18b15a542524d6 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:19:49 +1000 Subject: [PATCH 044/134] capture API_ID --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 192476482..a6d649ff7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "content=$(curl -u ${env.API_GATEWAY_USR}:${env.API_GATEWAY_PSW} -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=$( echo jq -r '.apiResponse.api.id' <<< $content) ; echo $api-id" + sh "content=$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=$( echo jq -r '.apiResponse.api.id' <<< $content) ; echo $api-id" } } } From 5b4585fe72a818933b30c40fd78a35c5f630b24d Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:22:48 +1000 Subject: [PATCH 045/134] test --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index a6d649ff7..7a9703003 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,6 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" + sh "content=$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' )" sh "content=$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=$( echo jq -r '.apiResponse.api.id' <<< $content) ; echo $api-id" } } From da8ef642bfe5d47ea030bbe1b59331e9ee2cc358 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:23:52 +1000 Subject: [PATCH 046/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7a9703003..70c9bb6fb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "content=$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' )" + sh "content=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' )" sh "content=$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=$( echo jq -r '.apiResponse.api.id' <<< $content) ; echo $api-id" } } From 58431b065fda0ed9f5331e1842dfe200b4ce95f5 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:25:28 +1000 Subject: [PATCH 047/134] test --- Jenkinsfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 70c9bb6fb..b38245365 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,8 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "content=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' )" - sh "content=$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=$( echo jq -r '.apiResponse.api.id' <<< $content) ; echo $api-id" + sh "content=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=\$( echo jq -r '.apiResponse.api.id' <<< \${content}) ; echo \${api-id}" } } } From 619e04fcff3ebbb4672e1955338fd2aec7cd2a24 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:27:56 +1000 Subject: [PATCH 048/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b38245365..abed07123 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "content=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' ); api-id=\$( echo jq -r '.apiResponse.api.id' <<< \${content}) ; echo \${api-id}" + sh "api-id=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ); echo \${api-id}" } } } From 5c15e1e044448c3f396bd6e62c7456d2fb716c89 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:31:46 +1000 Subject: [PATCH 049/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index abed07123..7d5869aec 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:2.10.0', + image: 'docker.devopsinitiative.com/k8s-helm:2.10.2', ttyEnabled: true, command: 'cat' ) From a5847a5b8a015beb007d5891bf825e3b79dbdca1 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:39:56 +1000 Subject: [PATCH 050/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7d5869aec..bd9ede7b5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "api-id=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ); echo \${api-id}" + sh "api-id=\$(curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${api-id}" } } } From f0e46f5b5e40ea945131fdc3bcc65fccfec77a2e Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:41:31 +1000 Subject: [PATCH 051/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index bd9ede7b5..78f4afdfb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "api-id=\$(curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${api-id}" + sh "api-id=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${api-id}" } } } From 58b3ea68809dd4c5ffa5e7727ddcfe296d32764a Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:43:57 +1000 Subject: [PATCH 052/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 78f4afdfb..69e72434e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "api-id=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${api-id}" + sh "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo $apiid" } } } From 7bc9a3e8a4df00450c596000925757aa982ae4c2 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:47:59 +1000 Subject: [PATCH 053/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 69e72434e..e4d55f961 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo $apiid" + sh "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}" } } } From 3e60f4eefd62acdae572eeca502fe9653ab52cbf Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:51:07 +1000 Subject: [PATCH 054/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index e4d55f961..7ddfe1f2c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - sh "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}" + API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}", returnStdout: true).trim() } } } From ea13d4a93806f15184760f2043148bebc2cc32b9 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:52:31 +1000 Subject: [PATCH 055/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7ddfe1f2c..acfb8cbcb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}", returnStdout: true).trim() + API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}",returnStdout: true).trim() } } } From 7771340f96a041ce23ffee6635078b45f5591b08 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:53:31 +1000 Subject: [PATCH 056/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index acfb8cbcb..821c18bf2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}",returnStdout: true).trim() + API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}",returnStdout:true).trim() } } } From 34d829e892edc4d64d5ce956b0a98199f6e1d35c Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 04:59:28 +1000 Subject: [PATCH 057/134] test --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 821c18bf2..99d0032f5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,6 +34,7 @@ podTemplate( sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}",returnStdout:true).trim() + sh "curl -u Administrator:manage -X PUT 'http://https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From 53d7f4c820afc35d68cbc2699913c0d271561695 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 05:04:01 +1000 Subject: [PATCH 058/134] test --- Jenkinsfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 99d0032f5..cb812f70a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,8 +33,9 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}",returnStdout:true).trim() - sh "curl -u Administrator:manage -X PUT 'http://https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" + def API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}",returnStdout:true).trim() + sh "echo API ID = $API_ID" + sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From 2c3301fe67daa674fbfd048c9d1db7e142d7e004 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 05:06:18 +1000 Subject: [PATCH 059/134] test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index cb812f70a..655c256c7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( repository = "${registry}/bookstore" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" - def API_ID = sh ( script: "apiid=\$(curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id' ) echo \${apiid}",returnStdout:true).trim() + def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "echo API ID = $API_ID" sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From 5ec0136a3fc4d5528de9ee5188611b4eee95ffdf Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 5 Sep 2018 05:12:42 +1000 Subject: [PATCH 060/134] deploy bookstore API --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 655c256c7..3b632c9bd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,6 @@ podTemplate( sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() - sh "echo API ID = $API_ID" sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } From 48bf09cc9e8accf001626fb7fc7aeee55ea73b0d Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 2 Oct 2018 00:11:36 +0000 Subject: [PATCH 061/134] update tag for new release --- Jenkinsfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3b632c9bd..a946766bb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -30,9 +30,10 @@ podTemplate( stage ('Deploy') { container ('helm') { def registry = "docker.devopsinitiative.com" - repository = "${registry}/bookstore" + def repository = "${registry}/bookstore" + def tag = "7abc0ff" sh "helm list" - sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=bbbf486 softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From 888f116f02f5178f74e62099ab7f35ab00f1daf4 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 22 Sep 2019 03:33:17 +1000 Subject: [PATCH 062/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a946766bb..244b96eb2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "7abc0ff" + def tag = "d43198c" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 6fb21b1a4b4f2cc57ca3481236d25321fb465156 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 22 Sep 2019 03:53:41 +1000 Subject: [PATCH 063/134] Update values.yaml --- softwareag-bookstore/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/softwareag-bookstore/values.yaml b/softwareag-bookstore/values.yaml index b5ca2512c..1ed1d8b64 100644 --- a/softwareag-bookstore/values.yaml +++ b/softwareag-bookstore/values.yaml @@ -4,8 +4,8 @@ replicaCount: 1 -RunAsUser: 10000 -FsGroup: 10000 +RunAsUser: 1724 +FsGroup: 1724 image: repository: docker.devopsinitiative.com/bookstore From 452d6cb77c47fa8231604356f48b61f707d4e039 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 22 Sep 2019 04:13:59 +1000 Subject: [PATCH 064/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 244b96eb2..77bd02533 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "d43198c" + def tag = "0d80f5e" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 4aec8f102cdd07fe18da6c0a20ab01a075037af4 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 22 Sep 2019 04:27:29 +1000 Subject: [PATCH 065/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 77bd02533..2ea5b283f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "0d80f5e" + def tag = "95b7388" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From d302c72bdec787fda6b321b3e4d11e708f2bb9d4 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 22 Sep 2019 04:34:14 +1000 Subject: [PATCH 066/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2ea5b283f..77bd02533 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "95b7388" + def tag = "0d80f5e" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From d048fa017af77ad58ec74e4b09cdbef5438bc94a Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 22 Sep 2019 17:28:09 +1000 Subject: [PATCH 067/134] update --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 77bd02533..806e4aa10 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "0d80f5e" + def tag = "da992fc" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 72bae06147728410191a2a73e83b4701a8e3aaf2 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Sun, 22 Sep 2019 19:38:51 +1000 Subject: [PATCH 068/134] Update bookstore.swagger --- bookstore.swagger | 1 - 1 file changed, 1 deletion(-) diff --git a/bookstore.swagger b/bookstore.swagger index d2da03229..944b05b53 100644 --- a/bookstore.swagger +++ b/bookstore.swagger @@ -197,4 +197,3 @@ definitions: properties: book: $ref: "#/definitions/book_1" - From 6b8eda624a91c81f4cd51c32fb78ee9e62023c8c Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Sep 2019 15:36:37 +1000 Subject: [PATCH 069/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 806e4aa10..25f19c5b2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "da992fc" + def tag = "b8c0799" sh "helm list" sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From cac2cfc58de33914f4e64fff48134baf3a7b498a Mon Sep 17 00:00:00 2001 From: au-poc Date: Mon, 11 Nov 2019 15:40:16 +1100 Subject: [PATCH 070/134] updated image tag and helm timeout --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index a946766bb..ec10e1251 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,9 +31,9 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "7abc0ff" + def tag = "980e21a" sh "helm list" - sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From ad9a0f018925a9ad7b5535a3503fcfa1ca086692 Mon Sep 17 00:00:00 2001 From: au-poc Date: Tue, 12 Nov 2019 11:49:19 +1100 Subject: [PATCH 071/134] update image tag --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 83bb0475e..02fc8b56f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "b8c0799" + def tag = "19f4ca2" sh "helm list" sh "helm upgrade --install --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 6f63f93feca9975275ecd3618d69ed830ce642db Mon Sep 17 00:00:00 2001 From: au-poc Date: Tue, 12 Nov 2019 12:09:16 +1100 Subject: [PATCH 072/134] change lieveliness and readiness probes: --- .../templates/deployment.yaml | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index b7654a4c8..80e97b4dc 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -40,33 +40,33 @@ spec: livenessProbe: initialDelaySeconds: 80 periodSeconds: 30 - exec: - command: - - curl - - -H - - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" - - http://localhost:5555/health -# httpGet: -# path: /health -# port: is -# httpHeaders: -# - name: Authorization -# value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" +# exec: +# command: +# - curl +# - -H +# - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" +# - http://localhost:5555/health + httpGet: + path: /health + port: is + httpHeaders: + - name: Authorization + value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" readinessProbe: initialDelaySeconds: 80 periodSeconds: 30 - exec: - command: - - curl - - -H - - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" - - http://localhost:5555/health -# httpGet: -# path: /health -# port: is -# httpHeaders: -# - name: Authorization -# value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" +# exec: +# command: +# - curl +# - -H +# - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" +# - http://localhost:5555/health + httpGet: + path: /health + port: is + httpHeaders: + - name: Authorization + value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" resources: {{ toYaml .Values.resources | indent 10 }} {{- with .Values.nodeSelector }} From 777bf78b53a9c419ac0c6c82266e8f6f71812445 Mon Sep 17 00:00:00 2001 From: au-poc Date: Tue, 12 Nov 2019 12:10:45 +1100 Subject: [PATCH 073/134] force install --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 02fc8b56f..651edcd6a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( def repository = "${registry}/bookstore" def tag = "19f4ca2" sh "helm list" - sh "helm upgrade --install --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From ae7f80e2690122ced202ce67dd7561311ac1f82a Mon Sep 17 00:00:00 2001 From: au-poc Date: Tue, 12 Nov 2019 14:37:54 +1100 Subject: [PATCH 074/134] use new msr base --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 651edcd6a..961c2f025 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "19f4ca2" + def tag = "6d176bd" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 0256c1cf312d0739e6e59863cf8914ce70664222 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 17 Feb 2020 23:08:49 +1100 Subject: [PATCH 075/134] updated image tag --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 961c2f025..c43288aaa 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "6d176bd" + def tag = "178f385" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From f683baa871a06c95f89e73f05b41a357aa3b11e1 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 17 Feb 2020 23:10:33 +1100 Subject: [PATCH 076/134] api now http --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index c43288aaa..dafe1917c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,7 +35,7 @@ podTemplate( sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() - sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" + sh "curl -u Administrator:manage -X PUT 'http://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From 61192070ccdd16ef0a4b9d421ad97726cbcddc8b Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 17 Feb 2020 23:45:40 +1100 Subject: [PATCH 077/134] Ian --- .project | 11 +++++++++++ Jenkinsfile | 2 +- secrtets.yaml | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 .project create mode 100644 secrtets.yaml diff --git a/.project b/.project new file mode 100644 index 000000000..f44a7c4eb --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + wmd-bookstore + + + + + + + + diff --git a/Jenkinsfile b/Jenkinsfile index dafe1917c..0229cd466 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "178f385" + def tag = "6038c84" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() diff --git a/secrtets.yaml b/secrtets.yaml new file mode 100644 index 000000000..bd30d7de9 --- /dev/null +++ b/secrtets.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: List +metadata: {} +items: +- apiVersion: v1 + kind: Secret + metadata: + name: apigateway-cred + stringData: + username: Administrator + password: manage From 5e63be36ae10801385ca1ff207d4a632e3891fa6 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 17 Feb 2020 23:55:45 +1100 Subject: [PATCH 078/134] more data --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0229cd466..528bb9d4e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "6038c84" + def tag = "96a5c09" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From ea1fff19fedf6e1d7c5e742bd16b96d17ac7bab7 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 18 Feb 2020 00:04:54 +1100 Subject: [PATCH 079/134] back --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 528bb9d4e..622301b58 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "96a5c09" + def tag = "d616c16" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From d2d87b296befe9f190c5ff1a736d07efdec5a17c Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 18 Feb 2020 00:48:25 +1100 Subject: [PATCH 080/134] added new test case --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 622301b58..06c6b7272 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "d616c16" + def tag = "1f0c7b5" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 3d44b3b6d5f58d825bf4e8f68b580d7ea0dbf6a0 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 18 Feb 2020 17:53:20 +1100 Subject: [PATCH 081/134] updated build --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 06c6b7272..febc079fc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "1f0c7b5" + def tag = "2787512" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 1b4ed2f2772e7550b727d991ca2f3783c8dc012f Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 18 Feb 2020 18:05:19 +1100 Subject: [PATCH 082/134] fix api gateway url --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index febc079fc..71d715b23 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ podTemplate( def tag = "2787512" sh "helm list" sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" - def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() + def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } From 0748c8379608b8ddb78e7c2735f2e54455c4d778 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 09:34:14 +1100 Subject: [PATCH 083/134] use development namespace --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 71d715b23..3e634d51e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -32,8 +32,8 @@ podTemplate( def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" def tag = "2787512" - sh "helm list" - sh "helm upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm -n development list" + sh "helm -n development upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From eaf383c5477dc9243f3c4b008c187743db15e93e Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 09:46:48 +1100 Subject: [PATCH 084/134] namespace --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3e634d51e..305295481 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -32,8 +32,8 @@ podTemplate( def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" def tag = "2787512" - sh "helm -n development list" - sh "helm -n development upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm --namespace development list" + sh "helm --namespace development upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From 7cee691aefd63904b4e7bf6d0be8fa9b0fe41173 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 10:33:42 +1100 Subject: [PATCH 085/134] try quotes --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 806e4aa10..1d4addba3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( def repository = "${registry}/bookstore" def tag = "da992fc" sh "helm list" - sh "helm upgrade --install --wait --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --wait --set image.repository=${repository},image.tag='${tag}' softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'https://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From cf8f2b0b0e48c934b4624de992ab6d54cbbdbefc Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 14:16:24 +1100 Subject: [PATCH 086/134] development --- bookstore.swagger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookstore.swagger b/bookstore.swagger index 944b05b53..19e38da26 100644 --- a/bookstore.swagger +++ b/bookstore.swagger @@ -4,7 +4,7 @@ info: description: "Bookstore API Sample" version: "1.0" title: "Bookstore API" -host: "softwareag-bookstore:5555" +host: "softwareag-bookstore.development:5555" basePath: "/rad/bookstore:BooksRAD" schemes: - "http" From 3160583001823930422f60392ebf87bc0b2479ab Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 14:21:43 +1100 Subject: [PATCH 087/134] tag with space --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 72271f2ff..d0f0dc0f4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:2.10.2', + image: 'docker.devopsinitiative.com/k8s-helm:v3.1.0', ttyEnabled: true, command: 'cat' ) @@ -31,9 +31,9 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "2787512" + def tag = "2787512 " sh "helm --namespace development list" - sh "helm --namespace development upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag='${tag}' softwareag-bookstore softwareag-bookstore" + sh "helm --namespace development upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From c9a2146625bd8c54f22b6a1df705de22fc1194f1 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 15:42:34 +1100 Subject: [PATCH 088/134] helm bvers --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d0f0dc0f4..8679e8f82 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:v3.1.0', + image: 'docker.devopsinitiative.com/k8s-helm:3.1.0', ttyEnabled: true, command: 'cat' ) From 90b7d8f0b2980d40aaaa5d97c47a9286c0314b90 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 16:04:57 +1100 Subject: [PATCH 089/134] v 2.10.2 --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8679e8f82..0e6fe0af8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:3.1.0', + image: 'docker.devopsinitiative.com/k8s-helm:2.10.2', ttyEnabled: true, command: 'cat' ) From 35537c3c116b341434639eca0f0964d43d5ea78d Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 16:09:46 +1100 Subject: [PATCH 090/134] 3.1.0 --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0e6fe0af8..8679e8f82 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:2.10.2', + image: 'docker.devopsinitiative.com/k8s-helm:3.1.0', ttyEnabled: true, command: 'cat' ) From 222a36ddb1589b8d73166347171fc7e6f4e3d01a Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 17:44:12 +1100 Subject: [PATCH 091/134] change in timeout format --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8679e8f82..0c2ac41fb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ podTemplate( def repository = "${registry}/bookstore" def tag = "2787512 " sh "helm --namespace development list" - sh "helm --namespace development upgrade --install --force --wait --timeout=600 --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm --namespace development upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From f41593222ef26123ac586076f80de887eb59bac4 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 20 Feb 2020 18:00:41 +1100 Subject: [PATCH 092/134] new helm image --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0c2ac41fb..4758cf9db 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:3.1.0', + image: 'docker.devopsinitiative.com/k8s-helm:3.1.1', ttyEnabled: true, command: 'cat' ) From 926844a1dbc95c422701498c5fcc6d3ee28f77a0 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Fri, 21 Feb 2020 19:04:55 +1100 Subject: [PATCH 093/134] Eric --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4758cf9db..ba24f2670 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "2787512 " + def tag = "7161620 " sh "helm --namespace development list" sh "helm --namespace development upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From cde1b22261f086b4ddcf704d6a44f178c89afa92 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 9 Mar 2020 17:48:35 +1100 Subject: [PATCH 094/134] built with 10.5 ci-is builder --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ba24f2670..128fcf96f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "7161620 " + def tag = "483e1e9 " sh "helm --namespace development list" sh "helm --namespace development upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 12c1d85de6df3c46c2be5a07dc5cc2a8a71448cd Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 10 Mar 2020 19:25:30 +1100 Subject: [PATCH 095/134] new version based on msr with cloudstreams and jdbc adapter --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 128fcf96f..e774ff0af 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ podTemplate( container ('helm') { def registry = "docker.devopsinitiative.com" def repository = "${registry}/bookstore" - def tag = "483e1e9 " + def tag = "dbcf9e7 " sh "helm --namespace development list" sh "helm --namespace development upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 27cdf06cde56727c950ac724a1c8216315ea4d82 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 10:20:10 +1100 Subject: [PATCH 096/134] update for demo --- Jenkinsfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index e774ff0af..8df4d6c7d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'docker.devopsinitiative.com/k8s-helm:3.1.1', + image: 'lachie83/k8s-helm:3.3.4', ttyEnabled: true, command: 'cat' ) @@ -29,13 +29,13 @@ podTemplate( } stage ('Deploy') { container ('helm') { - def registry = "docker.devopsinitiative.com" + def registry = "harbor.eks-iw.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "dbcf9e7 " + def tag = "2b7aaf7 " sh "helm --namespace development list" sh "helm --namespace development upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" - def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api.devopsinitiative.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() - sh "curl -u Administrator:manage -X PUT 'http://api.devopsinitiative.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" + def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() + sh "curl -u Administrator:manage -X PUT 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From 7e89747fe2741803c6b51fadfc397a807374f86a Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 10:34:10 +1100 Subject: [PATCH 097/134] updare version of helm image --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8df4d6c7d..5c02e472c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'lachie83/k8s-helm:3.3.4', + image: 'ianmward/k8s-helm:41e8122be393', ttyEnabled: true, command: 'cat' ) From 668db1d63e75417d856e01425485a727d905a8ad Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 10:37:29 +1100 Subject: [PATCH 098/134] wrong image tag --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5c02e472c..b4b0df0ce 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'ianmward/k8s-helm:41e8122be393', + image: 'ianmward/k8s-helm:master', ttyEnabled: true, command: 'cat' ) From 8d5d5a986356cf6a59f7a0cb8bf77b084372290f Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 10:42:03 +1100 Subject: [PATCH 099/134] use default namespace --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b4b0df0ce..7116f452c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -32,8 +32,8 @@ podTemplate( def registry = "harbor.eks-iw.au-poc.com/library" def repository = "${registry}/bookstore" def tag = "2b7aaf7 " - sh "helm --namespace development list" - sh "helm --namespace development upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm list" + sh "helm upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From a42470469bc55d5b612a8451488e128eed8b3937 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 11:01:24 +1100 Subject: [PATCH 100/134] Specify serviceAccount for pod --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 7116f452c..a61d4f998 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,6 +1,7 @@ podTemplate( label: 'mypod', inheritFrom: 'default', + serviceAccount: 'jenkins', containers: [ containerTemplate( name: 'helm', From 22c666abced2267d2d3f7827fef52dbdd40fe834 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 17:32:43 +1100 Subject: [PATCH 101/134] use k8s-helm serviceAccount --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a61d4f998..dcdecd897 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,7 +1,7 @@ podTemplate( label: 'mypod', inheritFrom: 'default', - serviceAccount: 'jenkins', + serviceAccount: 'k8s-helm', containers: [ containerTemplate( name: 'helm', From 84211b7b65163cec4bac6150bc17dd1c71c49d51 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 17:37:53 +1100 Subject: [PATCH 102/134] update version of manifest type Deployment --- softwareag-bookstore/templates/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index 80e97b4dc..4a1c9d61b 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -1,4 +1,4 @@ -apiVersion: apps/v1beta2 +apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "softwareag-bookstore.fullname" . }} From 487c64c330477d365ed19e653cf755dc25ac3798 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 18:04:30 +1100 Subject: [PATCH 103/134] use updated helm image --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index dcdecd897..0de5fd319 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'ianmward/k8s-helm:master', + image: 'ianmward/k8s-helm:b5a2f3f', ttyEnabled: true, command: 'cat' ) From e65e4ba029fb966ab475eea74437b5830abfc221 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 18:09:56 +1100 Subject: [PATCH 104/134] try recreate instead of force on helm upgrade --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0de5fd319..68b7552be 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ podTemplate( def repository = "${registry}/bookstore" def tag = "2b7aaf7 " sh "helm list" - sh "helm upgrade --install --force --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --recreate --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From 58bb84baa5a1e06973764ffe327ec6926e8d90ae Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 18:16:31 +1100 Subject: [PATCH 105/134] no wait --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 68b7552be..96bc2a0fe 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ podTemplate( def repository = "${registry}/bookstore" def tag = "2b7aaf7 " sh "helm list" - sh "helm upgrade --install --recreate --wait --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u Administrator:manage -X PUT 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } From 100b8e1eda1817421794dd35ae51a1e201201ad2 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 19:19:13 +1100 Subject: [PATCH 106/134] use helm 3.1.3 --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 96bc2a0fe..6b541e152 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'ianmward/k8s-helm:b5a2f3f', + image: 'ianmward/k8s-helm:e86217f', ttyEnabled: true, command: 'cat' ) From ec6b979a8785bd76184fe544a535dbc0ba673367 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 19:26:58 +1100 Subject: [PATCH 107/134] add curl --- .project | 22 ++++---- Jenkinsfile | 2 +- additional-scrape-configs.yaml | 7 +++ prometheus.yaml | 52 ++++++++++++++++++ prometheus.yml | 6 ++ softwareag-bookstore-0.1.0.tgz | Bin 0 -> 4727 bytes softwareag-bookstore-0.1.0.tgz.prov | 25 +++++++++ softwareag-bookstore/.gnupg/S.gpg-agent | 0 .../.gnupg/S.gpg-agent.browser | 0 softwareag-bookstore/.gnupg/S.gpg-agent.extra | 0 softwareag-bookstore/.gnupg/S.gpg-agent.ssh | 0 softwareag-bookstore/.gnupg/my_gpg_key | 11 ++++ ...0AA768913AE44E8B09BDB55FFA53D18DDAEFDB.key | Bin 0 -> 978 bytes ...449EF1BD0EDD77EE64019A4DE29D5E1AF35CA8.key | Bin 0 -> 978 bytes softwareag-bookstore/.gnupg/pubring.kbx.lock | 2 + softwareag-bookstore/.gnupg/pubring.kbx.tmp | Bin 0 -> 1773 bytes softwareag-bookstore/.gnupg/pubring.kbx~ | Bin 0 -> 32 bytes 17 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 additional-scrape-configs.yaml create mode 100644 prometheus.yaml create mode 100644 prometheus.yml create mode 100644 softwareag-bookstore-0.1.0.tgz create mode 100644 softwareag-bookstore-0.1.0.tgz.prov create mode 100644 softwareag-bookstore/.gnupg/S.gpg-agent create mode 100644 softwareag-bookstore/.gnupg/S.gpg-agent.browser create mode 100644 softwareag-bookstore/.gnupg/S.gpg-agent.extra create mode 100644 softwareag-bookstore/.gnupg/S.gpg-agent.ssh create mode 100644 softwareag-bookstore/.gnupg/my_gpg_key create mode 100644 softwareag-bookstore/.gnupg/private-keys-v1.d/430AA768913AE44E8B09BDB55FFA53D18DDAEFDB.key create mode 100644 softwareag-bookstore/.gnupg/private-keys-v1.d/63449EF1BD0EDD77EE64019A4DE29D5E1AF35CA8.key create mode 100644 softwareag-bookstore/.gnupg/pubring.kbx.lock create mode 100644 softwareag-bookstore/.gnupg/pubring.kbx.tmp create mode 100644 softwareag-bookstore/.gnupg/pubring.kbx~ diff --git a/.project b/.project index f44a7c4eb..508911243 100644 --- a/.project +++ b/.project @@ -1,11 +1,11 @@ - - - wmd-bookstore - - - - - - - - + + + wmd-bookstore + + + + + + + + diff --git a/Jenkinsfile b/Jenkinsfile index 6b541e152..a3c67c2c6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ podTemplate( containers: [ containerTemplate( name: 'helm', - image: 'ianmward/k8s-helm:e86217f', + image: 'ianmward/k8s-helm:80ff3d2', ttyEnabled: true, command: 'cat' ) diff --git a/additional-scrape-configs.yaml b/additional-scrape-configs.yaml new file mode 100644 index 000000000..7362e602e --- /dev/null +++ b/additional-scrape-configs.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +data: + prometheus.yml: LSBqb2JfbmFtZTogJ2Jvb2tzdG9yZScKICBzdGF0aWNfY29uZmlnczoKICAtIHRhcmdldHM6IFsnc29mdHdhcmVhZy1ib29rc3RvcmU6NTU1NSddCi0gam9iX25hbWU6ICdtaWNyb2dhdGV3YXknCiAgc3RhdGljX2NvbmZpZ3M6CiAgLSB0YXJnZXRzOiBbJ3NvZnR3YXJlYWctbWljcm9nYXRld2F5OjQ0ODUnXQo= +kind: Secret +metadata: + creationTimestamp: null + name: additional-scrape-configs diff --git a/prometheus.yaml b/prometheus.yaml new file mode 100644 index 000000000..cc00d1c36 --- /dev/null +++ b/prometheus.yaml @@ -0,0 +1,52 @@ +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + creationTimestamp: "2019-09-12T14:22:25Z" + generation: 1 + labels: + app: prometheus + chart: prometheus-0.0.51 + heritage: Tiller + prometheus: kube-prometheus + release: kube-prometheus + name: kube-prometheus + namespace: monitoring + resourceVersion: "5457121" + selfLink: /apis/monitoring.coreos.com/v1/namespaces/monitoring/prometheuses/kube-prometheus + uid: be0fef05-d568-11e9-8dea-0670d703d580 +spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app: prometheus + prometheus: kube-prometheus + topologyKey: kubernetes.io/hostname + weight: 100 + additionalScrapeConfigs: + name: additional-scrape-configs + key: prometheus-additional.yaml + alerting: + alertmanagers: + - name: kube-prometheus-alertmanager + namespace: monitoring + port: http + baseImage: quay.io/prometheus/prometheus + externalUrl: prometheus.devopsinitiative.com + imagePullSecrets: [] + logLevel: info + paused: false + replicas: 1 + resources: {} + retention: 24h + routePrefix: / + ruleSelector: + matchLabels: + prometheus: kube-prometheus + serviceAccountName: kube-prometheus + serviceMonitorSelector: + matchLabels: + prometheus: kube-prometheus + version: v2.4.3 diff --git a/prometheus.yml b/prometheus.yml new file mode 100644 index 000000000..62974494d --- /dev/null +++ b/prometheus.yml @@ -0,0 +1,6 @@ +- job_name: 'bookstore' + static_configs: + - targets: ['softwareag-bookstore:5555'] +- job_name: 'microgateway' + static_configs: + - targets: ['softwareag-microgateway:4485'] diff --git a/softwareag-bookstore-0.1.0.tgz b/softwareag-bookstore-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a680b805d8f829c90c3d5747200875b5e5f6de43 GIT binary patch literal 4727 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

x?BAx%U2kbHCpFKwmY+_ zch`+coz>&T#QLwxDJU^IbultIIsl;e(@{2PR)S$jr`kHkN9Bz$oTuWn9z0<&+-MKf zELlr=Q02L96u|0HUc;q;z{S{dne`P3>;_d{kxgOK>|SzYlNGyo%?o}kq{o`PENqZg z5*5Gq?G#(v4TP4fI(Ca<3Ii=?*E4n-;maVCZE_+A$GIz8u@HiRvHytJ6LTpkDNXO& A8vpir0M3Qk3j_h&x35cBCOZk}Q-g;8DHmt1!< z*pkxv2S~K0=M)}kfPd=mTfzyl@1|cuv7NrTvjv)cXp94@DGJFjv>a#iB4nEUM^ov= z>Xh$dWa>wR`*+rF6a}jP1Is(@f?7D=cC~JKEFj0kb&#u ziQy&#MpM6l*qS!Ng^Ps&$Ftkz=z1^<#{zSrXk)LbeckkXF$PZy^a?UXNj?TK9Q!Ny zu~-e^wVAUvSn<+VE|q%Moi_x&IaC+OLqicm(n~)BTPY|pI%P9D0RRChC^0%@GBq|j zRwq+<*bwb`f@Ia#swH8orLNeZJ;8ka44o=ydBB~X%2|6*OzLr2#3NjMlaT!)t~oL0 z&qk+tyITdxa-!iuuc*Lk?nT5oWC2p0sI&g3yA9W)z6KaGVF3%JbD;>=Deu2$m$p&e z6uJ-&v)=`EG{;R-_~xI!nA&2qBiwI%H~gd#p1L~NR&U3O&lANt ziPUmO?Rdi#8t=&OZ7I)@0Q{Cu^j%aV zO_Hi8C{m!Q!0g8|MrT{A0Ol9ovx4vS+FY5{1CPm6i6VBf+e1{)Qz9-C36>qXP!`sbyMq7uv=*I;rn)-`}m))W;- z793x39E2AGj*xxxphGSGUEJm8`Woi%;}qhB8W8OVlQGfys%fCSeON9FuNg=-TI{J$ z#Od!dqw6=TBReR;DJU^IbultIIsoz<>v&n$@Y?fF2xyC__Bn=f%WcBTNjwCaELENZ zIbOVaYFlGfF>1+^7wg8GvGy}Q7!5^iqxNFbE=159D5LpYgXT2J>nx%7fYepa!xbp2 zxQMj@!nHe;m@EX$Nr@xadBrDBy9+Kq^7gRI*lkFwh(U>WSTWb^DB`N4+C`M0G?sNnD2ZdS)X}k2s@rOb)>*2w zr6tr=TlWT`QR}D}MQPR9-Bm}UiVfY)&g|^WzM1cR?|aA0oA>*D4*&o(2m+9;gZ;TEsOjR4Fl&akgFxAt0Z0qdM`^WYCsNO zvDIIqM_s1;%uV}N#FfQ!8}G$<0s_K3Rmih2`)>$QXIc~dD9~r%egW55pk-vY)(>voRqlu2eCu2=8rNji|T@wCy)7a;{&hom8&CJ z+O=||)x&rtd_+JT1V9FF zdL%08Gaf)KhCm63jP?%qN1w1ktNBNeqrKJ9#$@kMEuPcQJmT-DH%ZHv5@PyyG4y%X zG!PGy0Fi)!^dZ=P0m={U4IcXXD8G=P00M$bAq545Aec172SN%Ugh~RCf?{9LcT5rh z+VPA-tDMvawxRPQ&+q)2cOF^mYsK*8bICr)%JTnFNSNP6O5u`7@lnKaL_?zXR%3G^ z_xPCv_E^ou-K_b37;99qxb?6m6n5*{>vT%_y+NJa$YBQmK!^K&P8`UrLP*TNAC1HO+9 z@Z=xPF4g*>cKXMSHdS@rcHQ6J4p4Qo8jr}5Guj~IcW-)%E*+Xt3Ad#etxvbrVV8Pe zT*u13`(AcYAB=Aw&9`5`{6?>FL^MquV~`5A9R<~+IpxtqQ3NT z;KQu$?G3tTB#}ZBntC);zx8fI7LQ^R3*zt1FyqYS{Td1NxF0TKPX%W=Vkd@GRUEs0 zopGvk9eVfRP#F70u1gM8#>&;SWt<$#PM6xw{7EXKIggv-6|aH59BBL!w$`QBW}vA* zvd>u>bRH(dBO3aDh^7Ua|3j#@NHk2AS0v9X`mdGpnVowS{IX;!DiJ%nuWRt1PP^NP z7B>^I*S*G`P4uhZNoj_?<7PfDAuoh53x+~dHLO&8qDph3;fj>iI&o1G{zZ}k?L&ow zbo#b3CqVtyb^)cV@T)v6osr<-WO_h}~8{dX6zv(%iYM3HmY{wsq^ol|p(9WpB1tgAajw**xP*y{PeZY< zQhUdME@2U62faG8rz_5g$zMD`nssvx-JsMWf4lXCuWSfMQh7KeMF7Z8k8HkW0~y4K zN_aM(=dd?gr5nN;<=1p4Hp{4O&Y0w{^J7fp!@GVVm%(HNRF@gZj(0m0!MLCho$3n91)W8y>6g Nugphq8}oAR{{`nk19AWW literal 0 HcmV?d00001 diff --git a/softwareag-bookstore/.gnupg/pubring.kbx~ b/softwareag-bookstore/.gnupg/pubring.kbx~ new file mode 100644 index 0000000000000000000000000000000000000000..59b760e8a4baefac203aa8417986d535bad27321 GIT binary patch literal 32 ecmZQzU{GLWWMJ}kib!Jsg1ECA Date: Mon, 23 Nov 2020 19:32:52 +1100 Subject: [PATCH 108/134] use local api-gateway service to deploy swagger --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index a3c67c2c6..b51dd9c3b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,8 +35,8 @@ podTemplate( def tag = "2b7aaf7 " sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" - def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() - sh "curl -u Administrator:manage -X PUT 'http://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" + def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api-gateway:5555/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() + sh "curl -u Administrator:manage -X PUT 'http://api-gateway:5555/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From 9f147c1253c87d511354c7c8a2771784f9051e82 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 19:36:24 +1100 Subject: [PATCH 109/134] try https --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b51dd9c3b..c35f57ad8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,8 +35,8 @@ podTemplate( def tag = "2b7aaf7 " sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" - def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'http://api-gateway:5555/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() - sh "curl -u Administrator:manage -X PUT 'http://api-gateway:5555/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" + def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() + sh "curl -u Administrator:manage -X PUT 'https://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From b28ea62c83c5007a069a7b8d9db5eb9d500aa82f Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Mon, 23 Nov 2020 19:54:51 +1100 Subject: [PATCH 110/134] default namespace --- bookstore.swagger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookstore.swagger b/bookstore.swagger index 19e38da26..9c9345c7b 100644 --- a/bookstore.swagger +++ b/bookstore.swagger @@ -4,7 +4,7 @@ info: description: "Bookstore API Sample" version: "1.0" title: "Bookstore API" -host: "softwareag-bookstore.development:5555" +host: "softwareag-bookstore.default:5555" basePath: "/rad/bookstore:BooksRAD" schemes: - "http" From 720fe0ba89e47bdd75101fd9ddb67622617d3413 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 24 Nov 2020 00:17:44 +1100 Subject: [PATCH 111/134] new version without SimpleDateFormat --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index c35f57ad8..af4cb7477 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -32,7 +32,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks-iw.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "2b7aaf7 " + def tag = "2ff89f3 " sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 021fb3183f7ece406fb3e9dc597adbca02a7c9a8 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 24 Nov 2020 00:23:44 +1100 Subject: [PATCH 112/134] added msr label --- softwareag-bookstore/templates/deployment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index 4a1c9d61b..9b96d1d59 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -7,6 +7,7 @@ metadata: chart: {{ template "softwareag-bookstore.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} + engine: "msr" spec: replicas: {{ .Values.replicaCount }} selector: From b75333fffb39d8fb5539ee43cc1f388deec9368a Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 24 Nov 2020 18:07:34 +1100 Subject: [PATCH 113/134] update to version 1e87822 --- Jenkinsfile | 2 +- prometheus.yaml | 73 ++++++++++++++++++------------------------------- 2 files changed, 28 insertions(+), 47 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index af4cb7477..19738e5d5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -32,7 +32,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks-iw.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "2ff89f3 " + def tag = "1e87822 " sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() diff --git a/prometheus.yaml b/prometheus.yaml index cc00d1c36..3ae056c56 100644 --- a/prometheus.yaml +++ b/prometheus.yaml @@ -1,52 +1,33 @@ +apiVersion: v1 +kind: Secret +metadata: + name: exporter-msr-monitoring-secret + namespace: monitor +type: Opaque +data: + username: QWRtaW5pc3RyYXRvcg== + password: bWFuYWdl +--- apiVersion: monitoring.coreos.com/v1 -kind: Prometheus +kind: ServiceMonitor metadata: - creationTimestamp: "2019-09-12T14:22:25Z" - generation: 1 + name: exporter-msr-monitoring + namespace: monitor labels: - app: prometheus - chart: prometheus-0.0.51 - heritage: Tiller - prometheus: kube-prometheus release: kube-prometheus - name: kube-prometheus - namespace: monitoring - resourceVersion: "5457121" - selfLink: /apis/monitoring.coreos.com/v1/namespaces/monitoring/prometheuses/kube-prometheus - uid: be0fef05-d568-11e9-8dea-0670d703d580 spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: - app: prometheus - prometheus: kube-prometheus - topologyKey: kubernetes.io/hostname - weight: 100 - additionalScrapeConfigs: - name: additional-scrape-configs - key: prometheus-additional.yaml - alerting: - alertmanagers: - - name: kube-prometheus-alertmanager - namespace: monitoring - port: http - baseImage: quay.io/prometheus/prometheus - externalUrl: prometheus.devopsinitiative.com - imagePullSecrets: [] - logLevel: info - paused: false - replicas: 1 - resources: {} - retention: 24h - routePrefix: / - ruleSelector: - matchLabels: - prometheus: kube-prometheus - serviceAccountName: kube-prometheus - serviceMonitorSelector: + jobLabel: msr + selector: matchLabels: - prometheus: kube-prometheus - version: v2.4.3 + app: softwareag-bookstore + endpoints: + - port: api + path: /metrics + interval: 15s + basicAuth: + username: + name: exporter-msr-monitoring-secret + key: username + password: + name: exporter-msr-monitoring-secret + key: password \ No newline at end of file From d559707c74bd5aacb80f21cc4d6911ee34b4e863 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 25 Mar 2021 15:59:40 +1100 Subject: [PATCH 114/134] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 000000000..cbbe99a0f --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,28 @@ +# Starter pipeline +# Start with a minimal pipeline that you can customize to build and deploy your code. +# Add steps that build, run tests, deploy, and more: +# https://aka.ms/yaml + +trigger: +- master + +pool: + vmImage: ubuntu-latest + +steps: +- script: echo Hello, world! + displayName: 'Run a one-line script' + +- task: HelmDeploy@0 + inputs: + connectionType: 'Azure Resource Manager' + azureSubscription: 'ANZ Demo Lab(42b15b9e-f06c-4055-af2f-e24798bdf664)' + azureResourceGroup: 'DemoLabRG' + kubernetesCluster: 'DemoLabCluster' + namespace: 'nodetours' + command: 'upgrade' + chartType: 'Name' + chartName: 'softwareag-bookstore' + overrideValues: 'image.repository=demolabacr.azurecr.io/wmd-bookstore, image.tag=2' + force: true + arguments: '--timeout=10m0s' From dbec66514328574e9098ef5fcee63edf91ab7fa6 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 25 Mar 2021 16:10:27 +1100 Subject: [PATCH 115/134] Update azure-pipelines.yml for Azure Pipelines --- azure-pipelines.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index cbbe99a0f..e1fcb3833 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -23,6 +23,7 @@ steps: command: 'upgrade' chartType: 'Name' chartName: 'softwareag-bookstore' + releaseName: bookstore overrideValues: 'image.repository=demolabacr.azurecr.io/wmd-bookstore, image.tag=2' force: true arguments: '--timeout=10m0s' From dd29b50e67c223e7522f1ef67c9b628387d5e1c6 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 25 Mar 2021 16:11:58 +1100 Subject: [PATCH 116/134] Update azure-pipelines.yml for Azure Pipelines --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e1fcb3833..52d1bc64a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -24,6 +24,6 @@ steps: chartType: 'Name' chartName: 'softwareag-bookstore' releaseName: bookstore - overrideValues: 'image.repository=demolabacr.azurecr.io/wmd-bookstore, image.tag=2' + overrideValues: 'image.repository=demolabacr.azurecr.io/wmd-bookstore,image.tag=2' force: true arguments: '--timeout=10m0s' From 2ec4fd9a2e4cd0ec0badac86b878ea3da1bdc5c3 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 25 Mar 2021 17:46:44 +1100 Subject: [PATCH 117/134] added prometheus annotations --- softwareag-bookstore/templates/deployment.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index 9b96d1d59..505142bdc 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -16,6 +16,9 @@ spec: release: {{ .Release.Name }} template: metadata: + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "5555" labels: app: {{ template "softwareag-bookstore.name" . }} release: {{ .Release.Name }} From 000217a09b92f1e9dc8226f09a51c818e5cc9364 Mon Sep 17 00:00:00 2001 From: sagadmin Date: Mon, 15 Nov 2021 19:05:24 +1100 Subject: [PATCH 118/134] Update Jenkinsfile --- Jenkinsfile | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 19738e5d5..002957046 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,12 +14,6 @@ podTemplate( secretEnvVar(key: 'API_GATEWAY_USR', secretName: 'apigateway-cred', secretKey: 'username'), secretEnvVar(key: 'API_GATEWAY_PSW', secretName: 'apigateway-cred', secretKey: 'password'), ], - volumes: [ - hostPathVolume( - hostPath: '/var/run/docker.sock', - mountPath: '/var/run/docker.sock' - ) - ], imagePullSecrets: [ 'regcred' ] ) { node('mypod') { @@ -35,8 +29,8 @@ podTemplate( def tag = "1e87822 " sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" - def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() - sh "curl -u Administrator:manage -X PUT 'https://api-gateway.eks-iw.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" + def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() + sh "curl -u $(API_GATEWAY_USR}:${API_GATEWAY_PSW} -X PUT 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From 8cbf6b6b86240bf5d189e607978478c63ebd9a14 Mon Sep 17 00:00:00 2001 From: sagadmin Date: Mon, 15 Nov 2021 19:07:58 +1100 Subject: [PATCH 119/134] Update image tag --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 002957046..c44ab4c43 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks-iw.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "1e87822 " + def tag = "338b591 " sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 2cf1c328bac1ab1d2b6a19463a32edeebd152881 Mon Sep 17 00:00:00 2001 From: sagadmin Date: Mon, 15 Nov 2021 19:09:11 +1100 Subject: [PATCH 120/134] fix typo --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index c44ab4c43..89d191278 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -30,7 +30,7 @@ podTemplate( sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() - sh "curl -u $(API_GATEWAY_USR}:${API_GATEWAY_PSW} -X PUT 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" + sh "curl -u ${API_GATEWAY_USR}:${API_GATEWAY_PSW} -X PUT 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } } } From ada91d9a9dbd1fad0eefb660b1f058bdaaeb5ca2 Mon Sep 17 00:00:00 2001 From: sagadmin Date: Mon, 15 Nov 2021 19:22:49 +1100 Subject: [PATCH 121/134] Updates --- Jenkinsfile | 4 ++-- bookstore.swagger | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 89d191278..d13afc36c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -24,11 +24,11 @@ podTemplate( } stage ('Deploy') { container ('helm') { - def registry = "harbor.eks-iw.au-poc.com/library" + def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" def tag = "338b591 " sh "helm list" - sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} softwareag-bookstore softwareag-bookstore" + sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() sh "curl -u ${API_GATEWAY_USR}:${API_GATEWAY_PSW} -X PUT 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis/'${API_ID}'/activate' -H 'accept: application/json' -H 'Content-Type: multipart/form-data'" } diff --git a/bookstore.swagger b/bookstore.swagger index 9c9345c7b..19e38da26 100644 --- a/bookstore.swagger +++ b/bookstore.swagger @@ -4,7 +4,7 @@ info: description: "Bookstore API Sample" version: "1.0" title: "Bookstore API" -host: "softwareag-bookstore.default:5555" +host: "softwareag-bookstore.development:5555" basePath: "/rad/bookstore:BooksRAD" schemes: - "http" From 96f578544c672ab703716ea26680c46388e0eb17 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Tue, 16 Nov 2021 18:42:21 +1100 Subject: [PATCH 122/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d13afc36c..d3fff2272 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "338b591 " + def tag = "8d4be9a" sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 85d40d75eb40a16f01afd14d1d7cf511db283649 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 17 Nov 2021 10:03:48 +1100 Subject: [PATCH 123/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d3fff2272..073ec85c4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "8d4be9a" + def tag = "c794758" sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 95655988c6828801ea65cec7cd89569bbe0baf47 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 17 Nov 2021 14:16:21 +1100 Subject: [PATCH 124/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 073ec85c4..e58310aae 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "c794758" + def tag = "8d0027f" sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 29cf93458ab33fcf67e97f1c141367a72ecfddfe Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 17 Nov 2021 14:40:32 +1100 Subject: [PATCH 125/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index e58310aae..52ee4f2ee 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "8d0027f" + def tag = "bac0030" sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 40ce26f7d9da0e38fa00bf3bc7adc9a8b9db82ab Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 17 Nov 2021 16:36:53 +1100 Subject: [PATCH 126/134] Add configmap for application.properties --- softwareag-bookstore/templates/configmap.yaml | 52 +++++++++++++++++++ .../templates/deployment.yaml | 9 ++++ softwareag-bookstore/values.yaml | 2 + 3 files changed, 63 insertions(+) create mode 100644 softwareag-bookstore/templates/configmap.yaml diff --git a/softwareag-bookstore/templates/configmap.yaml b/softwareag-bookstore/templates/configmap.yaml new file mode 100644 index 000000000..ddb3ac7b2 --- /dev/null +++ b/softwareag-bookstore/templates/configmap.yaml @@ -0,0 +1,52 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Values.name }}-properties +data: + config1.toml: |- + message = Hello from config 1 + + application.properties: |- + bookstore.connections.DBConnection.password = {AES}5WRqqeRxVlItnZq0mUycdg\=\= + bookstore.connections.DBConnection.serverName = sqlserver.greenzone + cloudstreamsdatabaseconfig.DatabaseConfig.pg.PgMenConfiguration.perfDataEnabled = false + cloudstreamsdatabaseconfig.DatabaseConfig.pg.PgMenConfiguration.reportInterval = 60 + cloudstreamsdatabaseconfig.DatabaseConfig.pg.jdbc.active = false + cloudstreamsdatabaseconfig.DatabaseConfig.pg.publish.events = false + cloudstreamslargefileconfig.LargeFileConfig.wst.largedata.binaryStreamEnabled = false + cloudstreamslargefileconfig.LargeFileConfig.wst.largedata.threshold = 5242880 + healthindicators.Adapters.enabled = true + healthindicators.Cluster.enabled = true + healthindicators.Cluster.properties.threshold.value = 2 + healthindicators.Diskspace.enabled = true + healthindicators.Diskspace.properties.threshold.value = 10 + healthindicators.JDBC.enabled = true + healthindicators.JMS.enabled = true + healthindicators.JNDIAliases.enabled = false + healthindicators.Memory.enabled = true + healthindicators.Memory.properties.threshold.value = 10 + healthindicators.RemoteServers.enabled = true + healthindicators.SFTPServers.enabled = true + healthindicators.ServiceThread.enabled = true + healthindicators.ServiceThread.properties.threshold.value = 10 + healthindicators.Sessions.enabled = true + healthindicators.Sessions.properties.threshold.value = 85 + healthindicators.UMAliases.enabled = true + jms.DEFAULT_IS_JMS_CONNECTION.clientID = DEFAULT_IS_JMS_CLIENT + jms.PE_NONTRANSACTIONAL_ALIAS.clientID = ISec40efc1_fd24_4eaa_b7d7_e6cc361c58fb + jndi.DEFAULT_IS_JNDI_PROVIDER.providerURL = nsp\://localhost\:9000 + keystore.DEFAULT_IS_KEYSTORE.keyAlias.ssos.keyAliasPassword = {AES}Y5IgMqjfvkgbg7p5VUZztw\=\= + keystore.DEFAULT_IS_KEYSTORE.ksLocation = ../common/conf/keystore.jks + keystore.DEFAULT_IS_KEYSTORE.ksPassword = {AES}Y5IgMqjfvkgbg7p5VUZztw\=\= + messaging.IS_DES_CONNECTION.CLIENTPREFIX = J_jRQtEolDEurgAVIwwwADXaZQs_ + messaging.IS_UM_CONNECTION.CLIENTPREFIX = J_jRQtEolDEurgAVIwwwADXaZQs_ + messaging.IS_UM_CONNECTION.url = nsp\://localhost\:9000 + settings.watt.server.compile = /opt/softwareag/jvm/jvm/bin/javac -classpath {0} -d {1} {2} + truststore.DEFAULT_IS_TRUSTSTORE.ksLocation = ../common/conf/platform_truststore.jks + truststore.DEFAULT_IS_TRUSTSTORE.ksPassword = {AES}Y5IgMqjfvkgbg7p5VUZztw\=\= + user.Administrator.password = {AES}51A7OYlXRhDTR5FvtZDLpijiXXRIFnaQj2KNkWyPKNHx2lVk/3u1tVFruckBqVPW01k2k4GMPNUApxYxG7ReRbs+/ZTs4tOWFf5TcI8wKXo\= + user.Developer.password = {AES}R6PJdmBika4AvO5S6ZLDDRcO3k3zOY9D3mkeSMnwevyJXuvyD3whXQKO2zLzvDHDZTpxGccPrRLIm/yqOQX8dW//qkxZcKl2ctUir3qDJmM\= + user.Replicator.password = {AES}5gB8Dt3TiWa7quN+IQXxtJRN9v3rAeW9iNYoRupTj2/3EcEdGjoRIt9Eeo0BL9XeeJ3+biejtVFDuvYa/AAoSvfFdS/PMw8322cJkaDR2pI\= + settings.watt.server.autodeploy.alwaysUseHotDeployment = true + settings.watt.server.autodeploy.enabled = true + settings.watt.server.autodeploy.interval = 5 \ No newline at end of file diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index 505142bdc..528a8ecbe 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -35,6 +35,12 @@ spec: containers: - name: {{ .Chart.Name }} image: {{ .Values.image.repository }}:{{ .Values.image.tag }} + env: + - name: SAG_IS_CONFIG_PROPERTIES + value: /opt/softwareag/IntegrationServer/properties/application.properties + volumeMounts: + - name: {{ .Values.name }}-properties + mountPath: /opt/softwareag/IntegrationServer/properties imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: is @@ -106,6 +112,9 @@ spec: {{ toYaml . | indent 8 }} {{- end }} volumes: + - name: {{ .Values.name }}-properties + configMap: + name: {{ .Values.name }}-properties {{- if .Values.Persistence.volumes }} {{ toYaml .Values.Persistence.volumes | indent 6 }} {{- end }} diff --git a/softwareag-bookstore/values.yaml b/softwareag-bookstore/values.yaml index 1ed1d8b64..d53ac3f71 100644 --- a/softwareag-bookstore/values.yaml +++ b/softwareag-bookstore/values.yaml @@ -7,6 +7,8 @@ replicaCount: 1 RunAsUser: 1724 FsGroup: 1724 +name: bookstore + image: repository: docker.devopsinitiative.com/bookstore tag: stable From 185d7cba81ba29514b1ca1aa3e6dfaa4e541f1ab Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 17 Nov 2021 16:47:19 +1100 Subject: [PATCH 127/134] fixed --- .../templates/deployment.yaml | 38 ++----------------- 1 file changed, 4 insertions(+), 34 deletions(-) diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index 528a8ecbe..c318c2b76 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -49,13 +49,8 @@ spec: volumeMounts: livenessProbe: initialDelaySeconds: 80 - periodSeconds: 30 -# exec: -# command: -# - curl -# - -H -# - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" -# - http://localhost:5555/health + periodSeconds: 5 + failureThreshold: 20 httpGet: path: /health port: is @@ -64,13 +59,8 @@ spec: value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" readinessProbe: initialDelaySeconds: 80 - periodSeconds: 30 -# exec: -# command: -# - curl -# - -H -# - "Authorization: Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" -# - http://localhost:5555/health + periodSeconds: 5 + failureThreshold: 20 httpGet: path: /health port: is @@ -83,26 +73,6 @@ spec: nodeSelector: {{ toYaml . | indent 6 }} {{- end }} -# - name: es-logger -# image: busybox -# args: [/bin/sh, -c, 'touch /mnt/log/SAG_EventDataStore.log /mnt/log/SAG_EventDataStore_deprecation.log /mnt/log/SAG_EventDataStore_index_indexing_slowlog.log /mnt/log/SAG_EventDataStore_index_search_slowlog.log /mnt/log/startup.log && tail -f /mnt/log/SAG_EventDataStore.log /mnt/log/SAG_EventDataStore_deprecation.log /mnt/log/SAG_EventDataStore_index_indexing_slowlog.log /mnt/log/SAG_EventDataStore_index_search_slowlog.log /mnt/log/startup.log'] -# volumeMounts: -# - name: bookstore-logs -# mountPath: /mnt/log -# -# - name: fluentd-sidecar-es -# image: "gcr.io/google_containers/fluentd-sidecar-es:1.0" -# env: -# - name: FILES_TO_COLLECT -# value: "SAG_EventDataStore.log SAG_EventDataStore_deprecation.log SAG_EventDataStore_index_indexing_slowlog.log SAG_EventDataStore_index_search_slowlog.log startup.log" -# resources: -# requests: -# cpu: 100m -# memory: 200M -# volumeMounts: -# - name: bookstore-logs -# readOnly: true -# mountPath: /mnt/log {{- with .Values.affinity }} affinity: {{ toYaml . | indent 8 }} From 4c24d80a145ac6800d7d6d6a53a681eef3b0b7f9 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 17 Nov 2021 17:07:28 +1100 Subject: [PATCH 128/134] duplicate volumeMounts --- softwareag-bookstore/templates/deployment.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index c318c2b76..c4b2e786e 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -46,7 +46,6 @@ spec: - name: is containerPort: 5555 protocol: TCP - volumeMounts: livenessProbe: initialDelaySeconds: 80 periodSeconds: 5 From a8a66c3a1f91c6a85eae9f955e376c193254e774 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Wed, 17 Nov 2021 17:44:02 +1100 Subject: [PATCH 129/134] fixed config map --- softwareag-bookstore/templates/configmap.yaml | 30 ++----------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/softwareag-bookstore/templates/configmap.yaml b/softwareag-bookstore/templates/configmap.yaml index ddb3ac7b2..72c876886 100644 --- a/softwareag-bookstore/templates/configmap.yaml +++ b/softwareag-bookstore/templates/configmap.yaml @@ -7,14 +7,8 @@ data: message = Hello from config 1 application.properties: |- - bookstore.connections.DBConnection.password = {AES}5WRqqeRxVlItnZq0mUycdg\=\= - bookstore.connections.DBConnection.serverName = sqlserver.greenzone - cloudstreamsdatabaseconfig.DatabaseConfig.pg.PgMenConfiguration.perfDataEnabled = false - cloudstreamsdatabaseconfig.DatabaseConfig.pg.PgMenConfiguration.reportInterval = 60 - cloudstreamsdatabaseconfig.DatabaseConfig.pg.jdbc.active = false - cloudstreamsdatabaseconfig.DatabaseConfig.pg.publish.events = false - cloudstreamslargefileconfig.LargeFileConfig.wst.largedata.binaryStreamEnabled = false - cloudstreamslargefileconfig.LargeFileConfig.wst.largedata.threshold = 5242880 + artConnection.Bookstore.bookstore.connections.DBConnection.password = {AES}5WRqqeRxVlItnZq0mUycdg\=\= + artConnection.Bookstore.bookstore.connections.DBConnection.serverName = sqlserver.greenzone healthindicators.Adapters.enabled = true healthindicators.Cluster.enabled = true healthindicators.Cluster.properties.threshold.value = 2 @@ -31,22 +25,4 @@ data: healthindicators.ServiceThread.properties.threshold.value = 10 healthindicators.Sessions.enabled = true healthindicators.Sessions.properties.threshold.value = 85 - healthindicators.UMAliases.enabled = true - jms.DEFAULT_IS_JMS_CONNECTION.clientID = DEFAULT_IS_JMS_CLIENT - jms.PE_NONTRANSACTIONAL_ALIAS.clientID = ISec40efc1_fd24_4eaa_b7d7_e6cc361c58fb - jndi.DEFAULT_IS_JNDI_PROVIDER.providerURL = nsp\://localhost\:9000 - keystore.DEFAULT_IS_KEYSTORE.keyAlias.ssos.keyAliasPassword = {AES}Y5IgMqjfvkgbg7p5VUZztw\=\= - keystore.DEFAULT_IS_KEYSTORE.ksLocation = ../common/conf/keystore.jks - keystore.DEFAULT_IS_KEYSTORE.ksPassword = {AES}Y5IgMqjfvkgbg7p5VUZztw\=\= - messaging.IS_DES_CONNECTION.CLIENTPREFIX = J_jRQtEolDEurgAVIwwwADXaZQs_ - messaging.IS_UM_CONNECTION.CLIENTPREFIX = J_jRQtEolDEurgAVIwwwADXaZQs_ - messaging.IS_UM_CONNECTION.url = nsp\://localhost\:9000 - settings.watt.server.compile = /opt/softwareag/jvm/jvm/bin/javac -classpath {0} -d {1} {2} - truststore.DEFAULT_IS_TRUSTSTORE.ksLocation = ../common/conf/platform_truststore.jks - truststore.DEFAULT_IS_TRUSTSTORE.ksPassword = {AES}Y5IgMqjfvkgbg7p5VUZztw\=\= - user.Administrator.password = {AES}51A7OYlXRhDTR5FvtZDLpijiXXRIFnaQj2KNkWyPKNHx2lVk/3u1tVFruckBqVPW01k2k4GMPNUApxYxG7ReRbs+/ZTs4tOWFf5TcI8wKXo\= - user.Developer.password = {AES}R6PJdmBika4AvO5S6ZLDDRcO3k3zOY9D3mkeSMnwevyJXuvyD3whXQKO2zLzvDHDZTpxGccPrRLIm/yqOQX8dW//qkxZcKl2ctUir3qDJmM\= - user.Replicator.password = {AES}5gB8Dt3TiWa7quN+IQXxtJRN9v3rAeW9iNYoRupTj2/3EcEdGjoRIt9Eeo0BL9XeeJ3+biejtVFDuvYa/AAoSvfFdS/PMw8322cJkaDR2pI\= - settings.watt.server.autodeploy.alwaysUseHotDeployment = true - settings.watt.server.autodeploy.enabled = true - settings.watt.server.autodeploy.interval = 5 \ No newline at end of file + healthindicators.UMAliases.enabled = true \ No newline at end of file From cd70ba216f163c5e6e7162c778ec9349a0dee1f9 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 18 Nov 2021 12:40:50 +1100 Subject: [PATCH 130/134] add common jdbc pool details --- softwareag-bookstore/templates/configmap.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/softwareag-bookstore/templates/configmap.yaml b/softwareag-bookstore/templates/configmap.yaml index 72c876886..199fee3f8 100644 --- a/softwareag-bookstore/templates/configmap.yaml +++ b/softwareag-bookstore/templates/configmap.yaml @@ -9,6 +9,9 @@ data: application.properties: |- artConnection.Bookstore.bookstore.connections.DBConnection.password = {AES}5WRqqeRxVlItnZq0mUycdg\=\= artConnection.Bookstore.bookstore.connections.DBConnection.serverName = sqlserver.greenzone + jdbc.common.dbURL = jdbc\:wm\:sqlserver\://sqlserver.greenzone;databaseName\=webmdb + jdbc.common.password = {AES}Y5IgMqjfvkgbg7p5VUZztw\=\= + jdbc.common.userid = webm healthindicators.Adapters.enabled = true healthindicators.Cluster.enabled = true healthindicators.Cluster.properties.threshold.value = 2 From d5f4dba4156a43155c6241dadc83618e6356e335 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 18 Nov 2021 17:48:47 +1100 Subject: [PATCH 131/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 52ee4f2ee..ab6fac38f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "bac0030" + def tag = "07df0c9" sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From 79c3814b080d6972702be4345fcb263f760e025a Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 18 Nov 2021 18:09:07 +1100 Subject: [PATCH 132/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ab6fac38f..b025afe23 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "07df0c9" + def tag = "712b285" sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From c43bba139ea9c03b16435ababc3bbf743285e456 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 18 Nov 2021 18:38:55 +1100 Subject: [PATCH 133/134] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b025afe23..6cb80dd68 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ podTemplate( container ('helm') { def registry = "harbor.eks.au-poc.com/library" def repository = "${registry}/bookstore" - def tag = "712b285" + def tag = "795bd64" sh "helm list" sh "helm upgrade --install --force --timeout=10m0s --set image.repository=${repository},image.tag=${tag} -n development softwareag-bookstore softwareag-bookstore" def API_ID = sh ( script: "curl -u Administrator:manage -X POST 'https://api-gateway.eks.au-poc.com/rest/apigateway/apis' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@bookstore.swagger' -F 'apiName=Bookstore' -F 'apiDescription=Bookstore API' -F 'apiVersion=V3' -F 'type=swagger' | jq -r '.apiResponse.api.id'",returnStdout:true).trim() From d625469753062a30d3e213cab2b01cbb36f3a440 Mon Sep 17 00:00:00 2001 From: Ian Ward Date: Thu, 18 Nov 2021 18:41:39 +1100 Subject: [PATCH 134/134] Update deployment.yaml --- softwareag-bookstore/templates/deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/softwareag-bookstore/templates/deployment.yaml b/softwareag-bookstore/templates/deployment.yaml index c4b2e786e..be5ea52c9 100644 --- a/softwareag-bookstore/templates/deployment.yaml +++ b/softwareag-bookstore/templates/deployment.yaml @@ -47,7 +47,7 @@ spec: containerPort: 5555 protocol: TCP livenessProbe: - initialDelaySeconds: 80 + initialDelaySeconds: 30 periodSeconds: 5 failureThreshold: 20 httpGet: @@ -57,7 +57,7 @@ spec: - name: Authorization value: "Basic QWRtaW5pc3RyYXRvcjptYW5hZ2U=" readinessProbe: - initialDelaySeconds: 80 + initialDelaySeconds: 30 periodSeconds: 5 failureThreshold: 20 httpGet: