Package clips.directory.editors.serviceGroup

Source Code of clips.directory.editors.serviceGroup.ServiceParser

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package clips.directory.editors.serviceGroup;

import cli_fmw.delegate.directory.DirectoryItemRO;
import clips.delegate.directory.complex.DirectoryDoctorAction;
import clips.delegate.directory.complex.DirectoryDoctorActionItem;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import clips.delegate.directory.complex.DirectoryServicesGroup;
import clips.delegate.directory.complex.DirectoryServicesGroupItem;
import clips.delegate.directory.filtered.ChildServiceData;
import clips.delegate.directory.filtered.DirectoryService;
import clips.delegate.directory.filtered.DirectoryServiceItem;
import cli_fmw.main.ClipsException;
import beans.directory.doctoraction.entity.DoctorActionDetails;
import beans.directory.service.entity.ServiceDetails;
import beans.directory.service.entity.ServiceGroupDetails;
import beans.directory.service.entity.ServiceToServiceDetails;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
*
* @author lacoste
*/
public class ServiceParser {
    BufferedReader input;
   
    public ServiceParser(File source) throws FileNotFoundException {
        input = new BufferedReader(new FileReader(source));
    }

    public void uploadService() throws IOException, ClipsException {
    DirectoryServicesGroup dirGroup =
                (DirectoryServicesGroup) DirectoryLocator.getDirectory(DirectoryServicesGroup.class, false);
        DirectoryService dirService =
                (DirectoryService) DirectoryLocator.getDirectory(DirectoryService.class, false);
       
        DirectoryServicesGroupItem parent = null;
        DirectoryServicesGroupItem group = null;
        DirectoryServiceItem service = null;
       
        String line = input.readLine();
        while (line != null) {
            if (!line.trim().isEmpty()) {
                int pos = line.indexOf('|');
                if (pos > -1) {
                    String code = line.substring(0, pos);
                    String title = line.substring(pos + 1);
                    if (code.length() == 2) {
                        ServiceGroupDetails parDetails = new ServiceGroupDetails();
                        parDetails.code = code;
                        parDetails.parentItem = 0;
                        parDetails.title = title;
                       
                        parent = new DirectoryServicesGroupItem(parDetails);
                        dirGroup.getItems().append(parent);
                       
                        System.out.println(code + " " + title);
                    }
                    else if (code.length() == 6) {
                        code = code.substring(3, 6);
                       
                        ServiceGroupDetails grDetails = new ServiceGroupDetails();
                        grDetails.code = code;
                        grDetails.parentItem = parent.getID();
                        grDetails.title = title;
                       
                        group = new DirectoryServicesGroupItem(grDetails);
                        dirGroup.getItems().append(group);
                       
                        System.out.println("   " +code + " " + title);
                    }
                    else if (code.length() == 9) {
                        code = code.substring(7);
                       
                        ServiceDetails servDetails = new ServiceDetails();
                        servDetails.checkupType = 0;
                        servDetails.code = code;
                        servDetails.defaultDuration = 0;
                        servDetails.description = "";
                        servDetails.serviceClass = 1;
                        servDetails.serviceGroup = group.getID();
                        servDetails.title = title;
                       
                        service = new DirectoryServiceItem(servDetails);
                        dirService.getItems().append(service);
                       
                        System.out.println("      " +code + " " + title);
                    }
                }
            }
            line = input.readLine();
        }
        input.close();
    }
   
    public void uploadDoctorAction() throws IOException, ClipsException {
    DirectoryDoctorAction dirAction =
                (DirectoryDoctorAction) DirectoryLocator.getDirectory(DirectoryDoctorAction.class, false);
       
        DirectoryDoctorActionItem parent = null;
        DirectoryDoctorActionItem current = null;
        DirectoryDoctorActionItem item = null;
       
        String line = input.readLine();
        while (line != null) {
            if (!line.trim().isEmpty()) {
                int pos = line.indexOf('|');
                if (pos > -1) {
                    String code = line.substring(0, pos);
                    String title = line.substring(pos + 1);
                    if (code.length() == 2) {
                        DoctorActionDetails details = new DoctorActionDetails();
                        details.parentItem = 0;
                        details.title = title;
                        details.code = code;
                       
                        parent = new DirectoryDoctorActionItem(details);
                        dirAction.getItems().append(parent);
                       
                        System.out.println(code + " " + title);
                    }
                    else if (code.length() == 5) {
                        code = code.substring(3, 5);
                       
                        DoctorActionDetails details = new DoctorActionDetails();
                        details.parentItem = parent.getID();
                        details.title = title;
                        details.code = code;
                       
                        current = new DirectoryDoctorActionItem(details);
                        dirAction.getItems().append(current);
                       
                        System.out.println("   " +code + " " + title);
                    }
                    else if (code.length() == 9) {
                        code = code.substring(6);                       
                       
                        DoctorActionDetails details = new DoctorActionDetails();
                        details.parentItem = current.getID();
                        details.title = title;
                        details.code = code;
                       
                        item = new DirectoryDoctorActionItem(details);
                        dirAction.getItems().append(item);
                       
                        System.out.println("     " +code + " " + title);
                    }
                }
            }
            line = input.readLine();
        }
        input.close();
    }
   
    public void uploadServiceActions() throws IOException, ClipsException {
    DirectoryDoctorAction dirAction =
                (DirectoryDoctorAction) DirectoryLocator.getDirectory(DirectoryDoctorAction.class, false);
        DirectoryService dirService =
                (DirectoryService) DirectoryLocator.getDirectory(DirectoryService.class, false);
       
        Map<String, DirectoryServiceItem> serviceMap = new HashMap<String, DirectoryServiceItem>();
        for (int i = 0; i < dirService.getItems().size(); i++) {
            DirectoryServiceItem item = dirService.getItems().get(i);
            serviceMap.put(item.getFullCode(), item);
        }
       
        Map<String, DirectoryDoctorActionItem> actionMap = new HashMap<String, DirectoryDoctorActionItem>();
        DirectoryItemRO[] actionArr = dirAction.toArray(false, true);
        for (int i = 0; i < actionArr.length; i++) {
            DirectoryDoctorActionItem item = (DirectoryDoctorActionItem) actionArr[i];
            actionMap.put(item.getGroupCode(), item);
        }
       
        DirectoryServiceItem pservice = null;
        DirectoryServiceItem cservice = null;
        DirectoryDoctorActionItem action = null;
       
        String line = input.readLine();
        while (line != null) {
            if (!line.trim().isEmpty()) {
                int pos = line.indexOf('|');
                if (pos > -1) {
                    String code = line.substring(0, pos);
                    String title = line.substring(pos + 1);
                    String c;
                    if (code.startsWith("@")) {
                        pservice = null;
                        c = code.substring(2);
                        pservice = serviceMap.get(c);
                        if (pservice == null) {
                            System.out.println("!!!!!Услуга: " + c + "  " + title);
                        }
                        else {
                            System.out.println("Услуга: " + pservice.getFullCode() + "  " + pservice.getTitle());
                        }
                    }
                    else if (code.startsWith("B")) {
                        cservice = null;
                        c = code.substring(1);
                        cservice = serviceMap.get(c);                       
                        if (cservice == null) {
                            System.out.println("   !!!!!Услуга: " + c + "  " + title);
                        }
                        else {
                            ServiceToServiceDetails details = new ServiceToServiceDetails(0);
                            details.pserviceId = pservice.getID();
                            details.cserviceId = cservice.getID();
                            ChildServiceData child = new ChildServiceData(details);
                            pservice.getChildServices().append(child);
                        }
                    }
                    else if (code.startsWith("A")) {
                        action = null;
                        c = code.substring(1);
                        action = actionMap.get(c);
                        if (action == null) {
                            System.out.println("  !!!!!!Действие: " + c + "  " + title);
                        }
                        else {
                            pservice.getDoctorActions().append(action);
                        }
                    }
                }
            }
            line = input.readLine();
        }
        input.close();
    }
}
TOP

Related Classes of clips.directory.editors.serviceGroup.ServiceParser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.