Search in sources :

Example 11 with IName

use of de.janrufmonitor.framework.IName in project janrufmonitor by tbrandt77.

the class OldDatFileCallImporter method migrateCallFromString.

private ICall migrateCallFromString(String scall, String datePattern) {
    if (scall != null && scall.trim().length() == 0)
        return null;
    try {
        StringTokenizer st = new StringTokenizer(scall, "%$");
        if (st.countTokens() < 5) {
            this.m_logger.warning("Invalid entry found: entry was dropped for migration.");
            return null;
        }
        String state = st.nextToken().trim();
        String msn = st.nextToken().trim();
        String caller = st.nextToken().trim();
        String cip = st.nextToken().trim();
        String date = st.nextToken().trim();
        // parse MSN
        IMsn parsedMSN = this.parseMsn(msn);
        ICip parsedCIP = this.parseCip(cip);
        IAttribute att = this.parseState(state);
        IPhonenumber phone = this.parsePhone(caller);
        IName name = this.parseName(caller);
        ICaller parsedCaller = PIMRuntime.getInstance().getCallerFactory().createCaller(name, phone);
        Date parsedDate = this.parseDate(date, datePattern);
        ICall aCall = PIMRuntime.getInstance().getCallFactory().createCall(parsedCaller, parsedMSN, parsedCIP, parsedDate);
        if (!att.getName().equalsIgnoreCase("")) {
            aCall.setAttribute(att);
        }
        this.m_logger.info(aCall.toString());
        return aCall;
    } catch (NoSuchElementException ex) {
        this.m_logger.warning("FormatException: migration failed due to incompatible format information.");
    } catch (NullPointerException ex) {
        this.m_logger.warning("Invalid entry found: entry was dropped for migration.");
    }
    return null;
}
Also used : ICaller(de.janrufmonitor.framework.ICaller) StringTokenizer(java.util.StringTokenizer) ICip(de.janrufmonitor.framework.ICip) ICall(de.janrufmonitor.framework.ICall) IAttribute(de.janrufmonitor.framework.IAttribute) IMsn(de.janrufmonitor.framework.IMsn) IName(de.janrufmonitor.framework.IName) Date(java.util.Date) NoSuchElementException(java.util.NoSuchElementException) IPhonenumber(de.janrufmonitor.framework.IPhonenumber)

Example 12 with IName

use of de.janrufmonitor.framework.IName in project janrufmonitor by tbrandt77.

the class OldDatFileCallerImporter method migrateCallerFromString.

private ICaller migrateCallerFromString(String scaller) {
    if (scaller != null && scaller.trim().length() == 0)
        return null;
    StringTokenizer st = new StringTokenizer(scaller, ";");
    String number = st.nextToken().trim();
    String caller = st.nextToken().trim();
    String reject = "0";
    if (st.hasMoreTokens())
        reject = st.nextToken().trim();
    IPhonenumber pn = PIMRuntime.getInstance().getCallerFactory().createPhonenumber(number.substring(1));
    try {
        ICaller migCaller = null;
        ICallerManager def = PIMRuntime.getInstance().getCallerManagerFactory().getDefaultCallerManager();
        if (def != null && def.isActive() && def.isSupported(IIdentifyCallerRepository.class)) {
            migCaller = ((IIdentifyCallerRepository) def).getCaller(pn);
        } else
            throw new CallerNotFoundException();
        StringTokenizer ctoken = new StringTokenizer(caller, " ");
        IName name = PIMRuntime.getInstance().getCallerFactory().createName("", "");
        if (ctoken.hasMoreTokens()) {
            name.setFirstname(ctoken.nextToken());
        }
        if (ctoken.hasMoreTokens()) {
            name.setLastname(ctoken.nextToken());
        }
        if (ctoken.hasMoreTokens()) {
            name.setAdditional(ctoken.nextToken());
        }
        while (ctoken.hasMoreTokens()) {
            name.setAdditional(name.getAdditional() + " " + ctoken.nextToken());
        }
        migCaller.setName(name);
        if (reject.equalsIgnoreCase("1")) {
            IAttribute att = PIMRuntime.getInstance().getCallerFactory().createAttribute(IJAMConst.ATTRIBUTE_NAME_REJECT, IJAMConst.ATTRIBUTE_VALUE_YES);
            migCaller.setAttribute(att);
        }
        if (reject.equalsIgnoreCase("0")) {
            IAttribute att = PIMRuntime.getInstance().getCallerFactory().createAttribute(IJAMConst.ATTRIBUTE_NAME_REJECT, IJAMConst.ATTRIBUTE_VALUE_NO);
            migCaller.setAttribute(att);
        }
        LogManager.getLogManager().getLogger(IJAMConst.DEFAULT_LOGGER).info(migCaller.toString());
        return migCaller;
    } catch (CallerNotFoundException e) {
        LogManager.getLogManager().getLogger(IJAMConst.DEFAULT_LOGGER).warning(e.getMessage());
    }
    return null;
}
Also used : ICaller(de.janrufmonitor.framework.ICaller) StringTokenizer(java.util.StringTokenizer) CallerNotFoundException(de.janrufmonitor.repository.CallerNotFoundException) IAttribute(de.janrufmonitor.framework.IAttribute) IIdentifyCallerRepository(de.janrufmonitor.repository.types.IIdentifyCallerRepository) IName(de.janrufmonitor.framework.IName) ICallerManager(de.janrufmonitor.repository.ICallerManager) IPhonenumber(de.janrufmonitor.framework.IPhonenumber)

Example 13 with IName

use of de.janrufmonitor.framework.IName in project janrufmonitor by tbrandt77.

the class ConsoleSimulate method execute.

public void execute() {
    this.isExecuting = true;
    String number = "";
    String cip = "";
    String msn = "";
    if (this.getExecuteParams().length < 2 || this.getExecuteParams().length > 3) {
        System.out.println("ERROR: Invalid SIMULATE command.");
        System.out.println("USAGE for regular call simulation: SIMULATE <number> <msn> <cip>");
        System.out.println("USAGE for CLIR call simulation: SIMULATE <msn> <cip>");
        this.isExecuting = false;
        return;
    }
    if (this.getExecuteParams().length == 2) {
        msn = this.getExecuteParams()[0];
        cip = this.getExecuteParams()[1];
    }
    if (this.getExecuteParams().length == 3) {
        number = this.getExecuteParams()[0];
        msn = this.getExecuteParams()[1];
        cip = this.getExecuteParams()[2];
    }
    IEventBroker evtBroker = PIMRuntime.getInstance().getEventBroker();
    IPhonenumber phone = PhonenumberAnalyzer.getInstance(getRuntime()).toClirPhonenumber(number);
    if (phone != null)
        System.out.println("Call detected as CLIR: " + phone.isClired());
    if (phone == null) {
        phone = PhonenumberAnalyzer.getInstance(getRuntime()).toInternalPhonenumber(number, msn);
        if (phone != null)
            System.out.println("Call detected as internal: " + number.trim());
    }
    if (phone == null) {
        phone = PhonenumberAnalyzer.getInstance(getRuntime()).toPhonenumber(number, msn);
        if (phone != null)
            System.out.println("Call detected as external: " + number.trim());
    }
    IName name = PIMRuntime.getInstance().getCallerFactory().createName("", "");
    ICaller aCaller = PIMRuntime.getInstance().getCallerFactory().createCaller(name, phone);
    ICip ocip = PIMRuntime.getInstance().getCallFactory().createCip(cip, "");
    IMsn omsn = PIMRuntime.getInstance().getCallFactory().createMsn(msn, "");
    ICall newCall = PIMRuntime.getInstance().getCallFactory().createCall(aCaller, omsn, ocip);
    evtBroker.register(this);
    IEvent ev = evtBroker.createEvent(IEventConst.EVENT_TYPE_INCOMINGCALL, newCall);
    evtBroker.send(this, ev);
    evtBroker.unregister(this);
    this.isExecuting = false;
}
Also used : ICaller(de.janrufmonitor.framework.ICaller) ICip(de.janrufmonitor.framework.ICip) ICall(de.janrufmonitor.framework.ICall) IEvent(de.janrufmonitor.framework.event.IEvent) IName(de.janrufmonitor.framework.IName) IMsn(de.janrufmonitor.framework.IMsn) IEventBroker(de.janrufmonitor.framework.event.IEventBroker) IPhonenumber(de.janrufmonitor.framework.IPhonenumber)

Example 14 with IName

use of de.janrufmonitor.framework.IName in project janrufmonitor by tbrandt77.

the class CountryDirectory method getCaller.

public ICaller getCaller(IPhonenumber number) throws CallerNotFoundException {
    if (number == null)
        throw new CallerNotFoundException("Phone number is not set (null). No caller found.");
    if (number.isClired())
        throw new CallerNotFoundException("Phone number is CLIR. Identification impossible.");
    while (this.m_isMigrating) {
        this.m_logger.info("Waiting 1 sec. till update of country directory is finished.");
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
        }
    }
    if (PhonenumberAnalyzer.getInstance(this.getRuntime()).isInternal(number)) {
        String language = this.getRuntime().getConfigManagerFactory().getConfigManager().getProperty(IJAMConst.GLOBAL_NAMESPACE, IJAMConst.GLOBAL_LANGUAGE);
        IName name = this.getRuntime().getCallerFactory().createName("", this.getRuntime().getI18nManagerFactory().getI18nManager().getString(getNamespace(), IJAMConst.INTERNAL_CALL, "label", language), "");
        String n = number.getTelephoneNumber();
        if (n.trim().length() == 0)
            n = number.getCallNumber();
        return this.getRuntime().getCallerFactory().createCaller(name, this.getRuntime().getCallerFactory().createInternalPhonenumber(n));
    }
    ICaller c = null;
    try {
        c = getDatabaseHandler().getCaller(number);
        if (!getDatabaseHandler().isKeepAlive()) {
            getDatabaseHandler().disconnect();
        }
        if (c != null)
            return c;
    } catch (SQLException e) {
        this.m_logger.log(Level.SEVERE, e.getMessage(), e);
    }
    throw new CallerNotFoundException("No caller entry found for phonenumber : " + number.getTelephoneNumber());
}
Also used : ICaller(de.janrufmonitor.framework.ICaller) SQLException(java.sql.SQLException) IName(de.janrufmonitor.framework.IName)

Example 15 with IName

use of de.janrufmonitor.framework.IName in project janrufmonitor by tbrandt77.

the class AbstractDatabaseCallerManager method getCaller.

public synchronized ICaller getCaller(IPhonenumber number) throws CallerNotFoundException {
    if (number == null)
        throw new CallerNotFoundException("Phone number is not set (null). No caller found.");
    if (number.isClired())
        throw new CallerNotFoundException("Phone number is CLIR. Identification impossible.");
    ICaller c = null;
    try {
        m_isRunningProcess = true;
        c = getDatabaseHandler().getCaller(number);
        if (c != null)
            return c;
        m_isRunningProcess = false;
    } catch (SQLException e) {
        this.m_logger.log(Level.SEVERE, e.getMessage(), e);
    }
    if (PhonenumberAnalyzer.getInstance(this.getRuntime()).isInternal(number)) {
        // no caller folder exists, take default value
        String language = this.getRuntime().getConfigManagerFactory().getConfigManager().getProperty(IJAMConst.GLOBAL_NAMESPACE, IJAMConst.GLOBAL_LANGUAGE);
        IName name = this.getRuntime().getCallerFactory().createName("", this.getRuntime().getI18nManagerFactory().getI18nManager().getString(getNamespace(), IJAMConst.INTERNAL_CALL, "label", language), "");
        String n = number.getTelephoneNumber();
        if (n.trim().length() == 0)
            n = number.getCallNumber();
        return this.getRuntime().getCallerFactory().createCaller(name, this.getRuntime().getCallerFactory().createInternalPhonenumber(n));
    }
    throw new CallerNotFoundException("No caller entry found for phonenumber : " + number.getTelephoneNumber());
}
Also used : ICaller(de.janrufmonitor.framework.ICaller) SQLException(java.sql.SQLException) IName(de.janrufmonitor.framework.IName)

Aggregations

IName (de.janrufmonitor.framework.IName)15 IPhonenumber (de.janrufmonitor.framework.IPhonenumber)12 ICaller (de.janrufmonitor.framework.ICaller)11 ICall (de.janrufmonitor.framework.ICall)6 ICip (de.janrufmonitor.framework.ICip)6 IMsn (de.janrufmonitor.framework.IMsn)6 IAttribute (de.janrufmonitor.framework.IAttribute)5 ArrayList (java.util.ArrayList)4 Date (java.util.Date)4 List (java.util.List)4 StringTokenizer (java.util.StringTokenizer)4 IAttributeMap (de.janrufmonitor.framework.IAttributeMap)3 ICallerList (de.janrufmonitor.framework.ICallerList)3 IEvent (de.janrufmonitor.framework.event.IEvent)2 IEventBroker (de.janrufmonitor.framework.event.IEventBroker)2 HandlerException (de.janrufmonitor.service.commons.http.handler.HandlerException)2 FileNotFoundException (java.io.FileNotFoundException)2 IOException (java.io.IOException)2 SQLException (java.sql.SQLException)2 CallerNotFoundException (de.janrufmonitor.repository.CallerNotFoundException)1