No to mam teraz GG7 albo 7.7 i problemem był brak listy.
Mógłbym oczywiście ręcznie przepisywać numerki, ale mi się nie chciało.
Dlatego zrobiłem to inaczej :-)
Najpierw eksport kontaktów z WP Spika do do pliku, formatem jest nieszczęsny XML, później trochę kodowania w Java'ie [góra 50 linii, btw. ten model dostępny w pakiecie org.w3c.dom jest taki sobie, wolę jednak trochę przyjaźniejszego DOMa a'la JavaScript :-)] i już XML jest analizowany i program generuje plik tekstowy w formacie do jakiego GG7 eksportuje listę kontaktów.
Następnie import do GG i w końcu eksport do serwera :-)
I już mam listę :-)
Jak ktoś zainteresowany to tutaj kod, który to robi ;-)
public static void main(String[] args) throws Exception {
  File file = new File("d:\\lista.xml");
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = dbf.newDocumentBuilder();
  Document doc = db.parse(file);
  doc.getDocumentElement().normalize();
  NodeList nodeLst = doc.getElementsByTagName("item");    
  for (int s = 0; s < nodeLst.getLength(); s++) {
     String userNumber = "";
     Node fstNode = nodeLst.item(s);
     NamedNodeMap attributes =  fstNode.getAttributes();
     boolean isGG = false;
     for (int j = 0; j<attributes.getLength(); j++) {
      String str = attributes.item(j).toString();
      str = str.replace("\"", "");
      str = str.split("=")[1];
      isGG = (str.indexOf("@gg.jabber.wp.pl")!=-1);
      if (isGG) {
       str = str.split("@gg.jabber.wp.pl")[0];
      }
      userNumber = str;        
     }
     Element element = (Element)fstNode;
     NodeList displayName = element.getElementsByTagName("displayname");
     NodeList nickName = element.getElementsByTagName("nickname");
     if (isGG) {
      String name = "";        
      if (nickName!=null && nickName.getLength()>0) name = nickName.item(0).getTextContent();
      if (displayName!=null && displayName.getLength()>0) name = displayName.item(0).getTextContent();
      String str = ";;;"+name+";;;"+userNumber+";;0;;0;;0;";
       System.out.println(str);
      }
   }
} Podobne postybeta
Ile z obligacji... odsłona 2 ;-)
O wyższości Mavena nad Gradlem ;-)
Monitorujemy cenę IntelliJ'a ;-)
Sekrety klasy String ;-)
GG mnie nie lubi
Brak komentarzy:
Prześlij komentarz