private void handleCode()

in src/main/java/org/apache/cxf/cwiki/Page.java [240:295]


    private void handleCode(String c) {
        int idx = c.indexOf("{code");
        while (idx != -1) {
            String type = "java";
            idx += 5;
            if (c.charAt(idx) != '}') {
                idx++;
                int idx2 = c.indexOf('}', idx);
                if (idx2 != -1) {
                    String paramString = c.substring(idx, idx2);
                    String params[] = paramString.split("\\||=");
                    for (int x = 0; x < params.length; x++) {
                        if ("type".equalsIgnoreCase(params[x])) {
                            type = params[x + 1];
                            x++;
                        } else if (CODE_TYPE_MAP.containsKey(params[x].toLowerCase())) {
                            type = params[x];
                        }
                    }
                }
            }

            if (codeTypes == null) {
                codeTypes = new ConcurrentSkipListSet<String>();
            }
            codeTypes.add(type);
            idx = c.indexOf("{code", idx + 1);
        } 
        idx = c.indexOf("{snippet");
        while (idx != -1) {
            String type = "java";
            idx += 8;
            if (c.charAt(idx) != '}') {
                idx++;
                int idx2 = c.indexOf('}', idx);
                if (idx2 != -1) {
                    String paramString = c.substring(idx, idx2);
                    String params[] = paramString.split("\\||=");
                    for (int x = 0; x < params.length; x++) {
                        if ("lang".equalsIgnoreCase(params[x])) {
                            type = params[x + 1];
                            x++;
                        } else if (CODE_TYPE_MAP.containsKey(params[x].toLowerCase())) {
                            type = params[x];
                        }
                    }
                }
            }

            if (codeTypes == null) {
                codeTypes = new ConcurrentSkipListSet<String>();
            }
            codeTypes.add(type);
            idx = c.indexOf("{snippet", idx + 1);
        } 
    }