Mistři v programování na #hovnokod

Marius thebridge remake of bedwars

    if (!e.getPlayer().isOp() || !e.getPlayer().hasPermission("bedwars.admin")) {
            return;

Anonymous,

Odpověď z budoucnosti: Děkujeme za popis. Po 4 letech na to už řešíme ticket.... Cesta zdrojákem je lemovaná poznámkami, TODO a FIXME.

// it's quick /but a little bit dirty/ way to implement the solution

Anonymous,

Hned se Vam lépe analyzuje chyba, když nacházíte takovéto komentáře......

 // Je to dobře?

Anonymous,

Zacly nejak nahodne padat importy dat do databaze z XML souboru. STAX parser. Co na tom muze byt spatne ? Ze od nejake vyssi verze Javy neni garantovano, ze textovy element musi byt ve vystupu parseru prave jeden, i kdyz v XML vstupnim souboru vidite pouze jen jeden. Vice info zde: https://stackoverflow.com/questions/39997538/stax-not-returning-all-characters-in-a-string Mozne reseni zde: http://helpdesk.objects.com.au/java/stop-stax-breaking-character-event

 while (stream.hasNext()) {
            eventType = stream.next();

            if (eventType == XMLStreamConstants.START_ELEMENT) {
                if (!"".equals(actualAttribute)) {
                    String actualName = stream.getLocalName();
                    actualValue = readElement(actualAttribute, actualName, stream);
                    result.addAttribute(actualAttribute, actualValue);
                    actualAttribute = "";
                    actualValue = null;
                } else {                    
                    actualAttribute = stream.getLocalName();
                }
            } else if (eventType == XMLStreamConstants.CHARACTERS && !"".equals(actualAttribute)) {
                actualValue = stream.getText();
            } else if (eventType == XMLStreamConstants.END_ELEMENT) {
                if (stream.getLocalName().equals(readingItem)) {
                    return result;
                } else {
                    if (actualAttribute.equals(stream.getLocalName())) {
                        result.addAttribute(actualAttribute, actualValue);
                        actualAttribute = "";
                        actualValue = null;
                    }
                }
            }
     }

Anonymous,

Co udělá líný člověk, když dr blíží dedajna a pořád mu to nefunguje?

public static boolean validate(final File file) {
//     // URL schemaFile = new URL("http://host:port/filename.xsd");
// // webapp example xsd:
// // URL schemaFile = new URL("http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd");
// // local file example:
// // File schemaFile = new File("/location/to/localfile.xsd"); // etc.
//     try {
//       ClassLoader classLoader = Application.class.getClassLoader();
//       File schemaFile = new File(classLoader.getResource("xml/canon2scriptura-0.0.1.xsd").getFile());
//
//       // Source xmlFile = new StreamSource(new File("web.xml"));
//       Source xmlFile = new StreamSource(file);
//       SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
//       try {
//         Schema schema = schemaFactory.newSchema(schemaFile);
//         Validator validator = schema.newValidator();
//         validator.validate(xmlFile);
//         System.out.println(xmlFile.getSystemId() + " is valid");
//         return true;
//       } catch (SAXException e) {
//         System.out.println(xmlFile.getSystemId() + " is NOT valid reason:" + e);
//       } catch (IOException e) {}
//     } catch (Exception e) {
//       e.printStackTrace();
//     }


    // File docFile = new File("memory.xml");
    // try {
    //   DOMParser parser = new DOMParser();
    //   parser.setFeature("http://xml.org/sax/features/validation", true);
    //   parser.setProperty(
    //       "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
    //       "memory.xsd");
    //   ErrorChecker errors = new ErrorChecker();
    //   parser.setErrorHandler(errors);
    //   parser.parse("memory.xml");
    // } catch (Exception e) {
    //   System.out.print("Problem parsing the file.");
    // }

    return false;
  }

Filip Gregor,