Search in sources :

Example 1 with NameAlreadyExistsException

use of com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException in project openmq by eclipse-ee4j.

the class CmdRunner method runAddCommand.

private int runAddCommand(ObjMgrProperties objMgrProps) {
    ObjStore os;
    int exitcode = 0;
    String input = null;
    Object object = null;
    String yes, yesShort, no, noShort;
    yes = ar.getString(ar.Q_RESPONSE_YES);
    yesShort = ar.getString(ar.Q_RESPONSE_YES_SHORT);
    no = ar.getString(ar.Q_RESPONSE_NO);
    noShort = ar.getString(ar.Q_RESPONSE_NO_SHORT);
    /*
         * Get object type, props object, and lookup name
         */
    String type = objMgrProps.getObjType();
    Properties objProps = objMgrProps.getObjProperties();
    String lookupName = objMgrProps.getLookupName();
    ObjStoreAttrs osa = objMgrProps.getObjStoreAttrs();
    /*
         * Check for any mandatory bind attrs and display warning, if necessary.
         */
    checkObjStoreAttrs(osa);
    Attributes bindAttrs = objMgrProps.getBindAttrs();
    /*
         * Check if -f (force) was specified on cmd line.
         */
    boolean force = objMgrProps.forceModeSet();
    /*
         * Create JMS Object with the specified properties.
         */
    Object newObj = null;
    try {
        if (type.equals(OBJMGR_TYPE_QUEUE)) {
            newObj = JMSObjFactory.createQueue(objProps);
        } else if (type.equals(OBJMGR_TYPE_TOPIC)) {
            newObj = JMSObjFactory.createTopic(objProps);
        } else if (type.equals(OBJMGR_TYPE_QCF)) {
            newObj = JMSObjFactory.createQueueConnectionFactory(objProps);
        } else if (type.equals(OBJMGR_TYPE_TCF)) {
            newObj = JMSObjFactory.createTopicConnectionFactory(objProps);
        } else if (type.equals(OBJMGR_TYPE_CF)) {
            newObj = JMSObjFactory.createConnectionFactory(objProps);
        } else if (type.equals(OBJMGR_TYPE_XTCF)) {
            newObj = JMSObjFactory.createXATopicConnectionFactory(objProps);
        } else if (type.equals(OBJMGR_TYPE_XQCF)) {
            newObj = JMSObjFactory.createXAQueueConnectionFactory(objProps);
        } else if (type.equals(OBJMGR_TYPE_XCF)) {
            newObj = JMSObjFactory.createXAConnectionFactory(objProps);
        }
    } catch (Exception e) {
        handleRunCommandExceptions(e, lookupName);
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_ADD_FAILED));
        return (1);
    }
    /*
         * Set this newly created obj to read-only if specified.
         */
    JMSObjFactory.doReadOnlyForAdd(newObj, objMgrProps.readOnlyValue());
    printAddCmdDescription(newObj, type, lookupName, osa, objMgrProps.readOnlyValue());
    os = createStore(osa);
    if (os == null) {
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_ADD_FAILED));
        return (1);
    }
    /*
         * Prompt for missing authentication info BEFORE opening the store.
         */
    if (!force) {
        // Update ObjStoreAttrs in ths ObjStore if some security
        // info was missing.
        os = promptForAuthentication(os);
    }
    /*
         * Open/Initialize the object store
         */
    try {
        openStore(os);
    } catch (Exception e) {
        handleRunCommandExceptions(e, lookupName);
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_ADD_FAILED));
        return (1);
    }
    /*
         * If no -f option, check if the object already exists so we can confirm with user to overwrite.
         */
    if (!force) {
        try {
            object = os.retrieve(lookupName);
        } catch (NameNotFoundException nnfe) {
        // Make sure that this exception is NOT treated as an error for add
        } catch (Exception e) {
            handleRunCommandExceptions(e, lookupName);
            Globals.stdOutPrintln("");
            Globals.stdOutPrintln(ar.getString(ar.I_OBJ_ADD_FAILED));
            return (1);
        }
        // Object already exists so confirm with user.
        if (object != null) {
            Globals.stdOutPrintln(ar.getCString(ar.I_WARNING_MESG), ar.getString(ar.W_OBJ_ALREADY_EXISTS, lookupName));
            Globals.stdOutPrintln(ar.getCString(ar.I_WARNING_MESG), ar.getString(ar.W_ADD_OBJ_BE_OVERWRITTEN));
            input = getUserInput(ar.getString(ar.Q_OVERWRITE_OK), noShort);
        }
    }
    if (noShort.equalsIgnoreCase(input) || no.equalsIgnoreCase(input)) {
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_NOT_ADDED));
    /*
             * Case where user typed 'y' or 'yes' to overwrite OR case where object doesn't exist yet so no confirmation needed OR
             * case where user used -f.
             */
    } else if ((yesShort.equalsIgnoreCase(input) || yes.equalsIgnoreCase(input)) || (object == null) || (force)) {
        /*
             * Update the object in object store.
             */
        try {
            if (bindAttrs.size() > 0)
                os.add(lookupName, newObj, bindAttrs, true);
            else
                os.add(lookupName, newObj, true);
        } catch (NameAlreadyExistsException naee) {
        // Should never happen, since we pass true to add
        } catch (NameNotFoundException nnfe) {
            Globals.stdErrPrintln(ar.getString(ar.I_ERROR_MESG), ar.getKString(ar.E_CANNOT_LOC_TREE));
            exitcode = 1;
        } catch (Exception e) {
            handleRunCommandExceptions(e, lookupName);
            exitcode = 1;
        }
        if (exitcode == 0) {
            Globals.stdOutPrintln(ar.getString(ar.I_OBJ_ADDED));
        } else {
            Globals.stdOutPrintln("");
            Globals.stdOutPrintln(ar.getString(ar.I_OBJ_ADD_FAILED));
        }
    } else {
        Globals.stdOutPrintln(ar.getString(ar.I_UNRECOGNIZED_RES, input));
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_NOT_ADDED));
        exitcode = 1;
    }
    return (exitcode);
}
Also used : ObjStore(com.sun.messaging.jmq.admin.objstore.ObjStore) NameNotFoundException(com.sun.messaging.jmq.admin.objstore.NameNotFoundException) Attributes(javax.naming.directory.Attributes) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException) ObjStoreAttrs(com.sun.messaging.jmq.admin.objstore.ObjStoreAttrs) AdministeredObject(com.sun.messaging.AdministeredObject) Properties(java.util.Properties) GeneralNamingException(com.sun.messaging.jmq.admin.objstore.GeneralNamingException) AuthenticationNotSupportedException(com.sun.messaging.jmq.admin.objstore.AuthenticationNotSupportedException) MissingVersionNumberException(com.sun.messaging.naming.MissingVersionNumberException) ReadOnlyPropertyException(com.sun.messaging.ReadOnlyPropertyException) InvalidPropertyException(com.sun.messaging.InvalidPropertyException) ObjStoreException(com.sun.messaging.jmq.admin.objstore.ObjStoreException) InitializationException(com.sun.messaging.jmq.admin.objstore.InitializationException) AuthenticationException(com.sun.messaging.jmq.admin.objstore.AuthenticationException) SchemaViolationException(com.sun.messaging.jmq.admin.objstore.SchemaViolationException) InvalidPropertyValueException(com.sun.messaging.InvalidPropertyValueException) UnsupportedVersionNumberException(com.sun.messaging.naming.UnsupportedVersionNumberException) NameNotFoundException(com.sun.messaging.jmq.admin.objstore.NameNotFoundException) NoPermissionException(com.sun.messaging.jmq.admin.objstore.NoPermissionException) CommunicationException(com.sun.messaging.jmq.admin.objstore.CommunicationException) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException)

Example 2 with NameAlreadyExistsException

use of com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException in project openmq by eclipse-ee4j.

the class CmdRunner method runUpdateCommand.

private int runUpdateCommand(ObjMgrProperties objMgrProps) {
    int exitcode = 0;
    String input = null;
    Object object = null;
    String type = null;
    ObjStore os;
    String yes, yesShort, no, noShort;
    yes = ar.getString(ar.Q_RESPONSE_YES);
    yesShort = ar.getString(ar.Q_RESPONSE_YES_SHORT);
    no = ar.getString(ar.Q_RESPONSE_NO);
    noShort = ar.getString(ar.Q_RESPONSE_NO_SHORT);
    /*
         * Get the lookup name
         */
    String lookupName = objMgrProps.getLookupName();
    /*
         * Check if -f (force) was specified on cmd line.
         */
    boolean force = objMgrProps.forceModeSet();
    ObjStoreAttrs osa = objMgrProps.getObjStoreAttrs();
    /*
         * Check for any mandatory bind attrs and display warning, if necessary.
         */
    checkObjStoreAttrs(osa);
    Properties objProps = objMgrProps.getObjProperties();
    type = objMgrProps.getObjType();
    Attributes bindAttrs = objMgrProps.getBindAttrs();
    printUpdateCmdDescription(type, lookupName, objProps, osa, objMgrProps.readOnlyValue());
    os = createStore(osa);
    if (os == null) {
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_UPDATE_FAILED));
        return (1);
    }
    /*
         * Prompt for missing authentication info BEFORE opening the store.
         */
    if (!force) {
        // Update ObjStoreAttrs in ths ObjStore if some security
        // info was missing.
        os = promptForAuthentication(os);
    }
    /*
         * Open/Initialize the object store.
         */
    try {
        openStore(os);
    } catch (Exception e) {
        handleRunCommandExceptions(e, lookupName);
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_UPDATE_FAILED));
        return (1);
    }
    /*
         * Updates only work if the object already exists so check if one already exists.
         */
    try {
        object = os.retrieve(lookupName);
    } catch (NameNotFoundException nnfe) {
        Globals.stdErrPrintln(ar.getKString(ar.E_CANNOT_LOC_OBJ, lookupName));
        Globals.stdOutPrintln("");
        Globals.stdErrPrintln(ar.getString(ar.I_OBJ_UPDATE_FAILED));
        return (1);
    } catch (Exception e) {
        handleRunCommandExceptions(e, lookupName);
        Globals.stdOutPrintln("");
        Globals.stdErrPrintln(ar.getString(ar.I_OBJ_UPDATE_FAILED));
        return (1);
    }
    /*
         * Check here if the type being updated and the type specified match.
         */
    if (object != null) {
        type = checkObjectType(object, type);
        if (type == null) {
            Globals.stdOutPrintln("");
            Globals.stdErrPrintln(ar.getString(ar.I_OBJ_UPDATE_FAILED));
            return (1);
        }
    } else {
        // object == null
        // Should not happen, since if the object cannot be retrieved,
        // it should throw NameNotFoundException
        Globals.stdErrPrintln(ar.getKString(ar.E_CANNOT_LOC_OBJ, lookupName));
        Globals.stdOutPrintln("");
        Globals.stdErrPrintln(ar.getString(ar.I_OBJ_UPDATE_FAILED));
        return (1);
    }
    if (!force) {
        // was the case.
        if (object instanceof AdministeredObject) {
            AdministeredObject adminObj = (AdministeredObject) object;
            String curVersion = adminObj.getVERSION();
            String objVersion = adminObj.getStoredVersion();
            if (!adminObj.isStoredVersionCompatible()) {
                Globals.stdErrPrintln(ar.getString(ar.W_INCOMPATIBLE_OBJ, objVersion, curVersion));
            }
        }
        input = getUserInput(ar.getString(ar.Q_UPDATE_OK), noShort);
    }
    if (noShort.equalsIgnoreCase(input) || no.equalsIgnoreCase(input)) {
        Globals.stdOutPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_NOT_UPDATED));
    /*
             * Case where user typed 'y' or 'yes' to overwrite OR case where object doesn't exist yet so no confirmation needed OR
             * case where user used -f.
             */
    } else if (((yesShort.equalsIgnoreCase(input) || yes.equalsIgnoreCase(input)) || (force))) {
        /*
             * Update the object with the new properties.
             */
        Object updatedObject = updateObject(object, type, objMgrProps);
        if (updatedObject == null)
            return 1;
        /*
             * Add the object to object store.
             */
        try {
            if (bindAttrs.size() > 0)
                os.add(lookupName, updatedObject, bindAttrs, true);
            else
                os.add(lookupName, updatedObject, true);
        } catch (NameAlreadyExistsException naee) {
            // Should never happen, since we pass true to add
            exitcode = 1;
        } catch (Exception e) {
            handleRunCommandExceptions(e, lookupName);
            exitcode = 1;
        }
        if (exitcode == 0) {
            if (!force)
                Globals.stdErrPrintln("");
            Globals.stdOutPrintln(ar.getString(ar.I_OBJ_UPDATED));
        } else {
            Globals.stdErrPrintln("");
            Globals.stdErrPrintln(ar.getString(ar.I_OBJ_UPDATE_FAILED));
        }
    } else {
        Globals.stdOutPrintln(ar.getString(ar.I_UNRECOGNIZED_RES, input));
        Globals.stdErrPrintln("");
        Globals.stdOutPrintln(ar.getString(ar.I_OBJ_NOT_UPDATED));
        exitcode = 1;
    }
    return (exitcode);
}
Also used : AdministeredObject(com.sun.messaging.AdministeredObject) ObjStore(com.sun.messaging.jmq.admin.objstore.ObjStore) NameNotFoundException(com.sun.messaging.jmq.admin.objstore.NameNotFoundException) Attributes(javax.naming.directory.Attributes) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException) ObjStoreAttrs(com.sun.messaging.jmq.admin.objstore.ObjStoreAttrs) AdministeredObject(com.sun.messaging.AdministeredObject) Properties(java.util.Properties) GeneralNamingException(com.sun.messaging.jmq.admin.objstore.GeneralNamingException) AuthenticationNotSupportedException(com.sun.messaging.jmq.admin.objstore.AuthenticationNotSupportedException) MissingVersionNumberException(com.sun.messaging.naming.MissingVersionNumberException) ReadOnlyPropertyException(com.sun.messaging.ReadOnlyPropertyException) InvalidPropertyException(com.sun.messaging.InvalidPropertyException) ObjStoreException(com.sun.messaging.jmq.admin.objstore.ObjStoreException) InitializationException(com.sun.messaging.jmq.admin.objstore.InitializationException) AuthenticationException(com.sun.messaging.jmq.admin.objstore.AuthenticationException) SchemaViolationException(com.sun.messaging.jmq.admin.objstore.SchemaViolationException) InvalidPropertyValueException(com.sun.messaging.InvalidPropertyValueException) UnsupportedVersionNumberException(com.sun.messaging.naming.UnsupportedVersionNumberException) NameNotFoundException(com.sun.messaging.jmq.admin.objstore.NameNotFoundException) NoPermissionException(com.sun.messaging.jmq.admin.objstore.NoPermissionException) CommunicationException(com.sun.messaging.jmq.admin.objstore.CommunicationException) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException)

Example 3 with NameAlreadyExistsException

use of com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException in project openmq by eclipse-ee4j.

the class ObjAdminHandler method doUpdateDestination.

private void doUpdateDestination(ObjAdminEvent oae, ConsoleObj selObj) {
    ObjStore os = oae.getObjStore();
    String lookupName = oae.getLookupName();
    boolean readOnly = oae.isReadOnly();
    Object currentObj = ((ObjStoreDestCObj) selObj).getObject();
    Object updatedObject = updateObject(currentObj, oae.getDestinationType(), oae.getObjProperties(), readOnly);
    if (updatedObject == null) {
        return;
    }
    try {
        os.add(lookupName, updatedObject, true);
    } catch (NameAlreadyExistsException naee) {
    // Should never happen, since we pass true to add
    } catch (Exception e) {
        JOptionPane.showOptionDialog(app.getFrame(), e.toString(), acr.getString(acr.I_OBJSTORE_DEST_PROPS), JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE, null, close, close[0]);
        return;
    }
    /*
         * Now replace this updated object in the tree.
         */
    ((ObjStoreDestCObj) selObj).setObject(updatedObject);
    // ConsoleObj parent = (ConsoleObj)selObj.getParent();
    // app.getExplorer().removeFromParent(selObj);
    // ObjStoreDestCObj destCObj = new ObjStoreDestCObj(os, lookupName, updatedObject);
    // app.getExplorer().addToParent(parent, destCObj);
    app.getStatusArea().appendText(acr.getString(acr.S_OBJSTORE_UPDATE_DEST, selObj.toString(), os.getID()));
    app.getInspector().selectedObjectUpdated();
    if (oae.isOKAction()) {
        objStoreDestPropsDialog.setVisible(false);
    }
}
Also used : ObjStore(com.sun.messaging.jmq.admin.objstore.ObjStore) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException) InvalidPropertyException(com.sun.messaging.InvalidPropertyException) InvalidPropertyValueException(com.sun.messaging.InvalidPropertyValueException) ObjStoreException(com.sun.messaging.jmq.admin.objstore.ObjStoreException) AuthenticationException(com.sun.messaging.jmq.admin.objstore.AuthenticationException) NameNotFoundException(com.sun.messaging.jmq.admin.objstore.NameNotFoundException) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException)

Example 4 with NameAlreadyExistsException

use of com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException in project openmq by eclipse-ee4j.

the class ObjAdminHandler method doUpdateConnFactory.

private void doUpdateConnFactory(ObjAdminEvent oae, ConsoleObj selObj) {
    ObjStore os = oae.getObjStore();
    String lookupName = oae.getLookupName();
    boolean readOnly = oae.isReadOnly();
    Object currentObj = ((ObjStoreConFactoryCObj) selObj).getObject();
    Object updatedObject = updateObject(currentObj, oae.getFactoryType(), oae.getObjProperties(), readOnly);
    if (updatedObject == null) {
        return;
    }
    try {
        os.add(lookupName, updatedObject, true);
    } catch (NameAlreadyExistsException naee) {
    // Should never happen, since we pass true to add
    } catch (Exception e) {
        JOptionPane.showOptionDialog(app.getFrame(), e.toString(), acr.getString(acr.I_OBJSTORE_CF_PROPS), JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE, null, close, close[0]);
        return;
    }
    /*
         * Now replace this updated object in the tree.
         */
    ((ObjStoreConFactoryCObj) selObj).setObject(updatedObject);
    // ConsoleObj parent = (ConsoleObj)selObj.getParent();
    // app.getExplorer().removeFromParent(selObj);
    // ObjStoreConFactoryCObj conFactoryCObj = new ObjStoreConFactoryCObj (os, lookupName, updatedObject);
    // app.getExplorer().addToParent(parent, conFactoryCObj);
    app.getStatusArea().appendText(acr.getString(acr.S_OBJSTORE_UPDATE_CF, selObj.toString(), os.getID()));
    app.getInspector().selectedObjectUpdated();
    if (oae.isOKAction()) {
        objStoreConFactoryPropsDialog.setVisible(false);
    }
}
Also used : ObjStore(com.sun.messaging.jmq.admin.objstore.ObjStore) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException) InvalidPropertyException(com.sun.messaging.InvalidPropertyException) InvalidPropertyValueException(com.sun.messaging.InvalidPropertyValueException) ObjStoreException(com.sun.messaging.jmq.admin.objstore.ObjStoreException) AuthenticationException(com.sun.messaging.jmq.admin.objstore.AuthenticationException) NameNotFoundException(com.sun.messaging.jmq.admin.objstore.NameNotFoundException) NameAlreadyExistsException(com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException)

Aggregations

InvalidPropertyException (com.sun.messaging.InvalidPropertyException)4 InvalidPropertyValueException (com.sun.messaging.InvalidPropertyValueException)4 AuthenticationException (com.sun.messaging.jmq.admin.objstore.AuthenticationException)4 NameAlreadyExistsException (com.sun.messaging.jmq.admin.objstore.NameAlreadyExistsException)4 NameNotFoundException (com.sun.messaging.jmq.admin.objstore.NameNotFoundException)4 ObjStore (com.sun.messaging.jmq.admin.objstore.ObjStore)4 ObjStoreException (com.sun.messaging.jmq.admin.objstore.ObjStoreException)4 AdministeredObject (com.sun.messaging.AdministeredObject)2 ReadOnlyPropertyException (com.sun.messaging.ReadOnlyPropertyException)2 AuthenticationNotSupportedException (com.sun.messaging.jmq.admin.objstore.AuthenticationNotSupportedException)2 CommunicationException (com.sun.messaging.jmq.admin.objstore.CommunicationException)2 GeneralNamingException (com.sun.messaging.jmq.admin.objstore.GeneralNamingException)2 InitializationException (com.sun.messaging.jmq.admin.objstore.InitializationException)2 NoPermissionException (com.sun.messaging.jmq.admin.objstore.NoPermissionException)2 ObjStoreAttrs (com.sun.messaging.jmq.admin.objstore.ObjStoreAttrs)2 SchemaViolationException (com.sun.messaging.jmq.admin.objstore.SchemaViolationException)2 MissingVersionNumberException (com.sun.messaging.naming.MissingVersionNumberException)2 UnsupportedVersionNumberException (com.sun.messaging.naming.UnsupportedVersionNumberException)2 Properties (java.util.Properties)2 Attributes (javax.naming.directory.Attributes)2