Search in sources :

Example 11 with UUID

use of com.servoy.j2db.util.UUID in project servoy-client by Servoy.

the class WebObjectImpl method getNewIdAndUUID.

public static Pair<Integer, UUID> getNewIdAndUUID(IPersist persist) {
    UUID uuid = UUID.randomUUID();
    int id;
    try {
        id = ((IPersistFactory) ((Solution) persist.getAncestor(IRepository.SOLUTIONS)).getRepository()).getNewElementID(uuid);
    } catch (RepositoryException e) {
        Debug.error(e);
        id = 0;
    }
    return new Pair<>(Integer.valueOf(id), uuid);
}
Also used : UUID(com.servoy.j2db.util.UUID) Pair(com.servoy.j2db.util.Pair)

Example 12 with UUID

use of com.servoy.j2db.util.UUID in project servoy-client by Servoy.

the class RepositoryHelper method loadObjectMetaDatas.

private void loadObjectMetaDatas(String moduleNames, Map<UUID, RootObjectReference> referencedModules, boolean loadImportHooks) throws RepositoryException {
    if (moduleNames == null)
        return;
    // $NON-NLS-1$
    StringTokenizer tk = new StringTokenizer(moduleNames, ";,");
    int count = tk.countTokens();
    if (count > 0) {
        while (tk.hasMoreTokens()) {
            try {
                String moduleDescriptor = tk.nextToken();
                SolutionMetaData metaData;
                int releaseNumber = 0;
                int i = moduleDescriptor.indexOf(':');
                String name;
                UUID uuid;
                if (i != -1) {
                    releaseNumber = Integer.parseInt(moduleDescriptor.substring(i + 1));
                    moduleDescriptor = moduleDescriptor.substring(0, i);
                }
                if (moduleDescriptor.indexOf('-') != -1) {
                    // A uuid reference.
                    uuid = UUID.fromString(moduleDescriptor);
                    metaData = (SolutionMetaData) developerRepository.getRootObjectMetaData(uuid);
                    if (metaData == null) {
                        continue;
                    }
                    name = metaData.getName();
                } else {
                    // A module name; for backwards compatibility.
                    name = moduleDescriptor;
                    metaData = (SolutionMetaData) developerRepository.getRootObjectMetaData(name, IRepository.SOLUTIONS);
                    if (metaData == null) {
                        continue;
                    }
                    uuid = metaData.getRootObjectUuid();
                }
                if (referencedModules.get(uuid) == null && (loadImportHooks || !SolutionMetaData.isImportHook(metaData))) {
                    referencedModules.put(uuid, new RootObjectReference(name, uuid, metaData, releaseNumber));
                    Solution sol = (Solution) developerRepository.getRootObject(metaData.getRootObjectId(), releaseNumber);
                    if (sol != null) {
                        loadObjectMetaDatas(sol.getModulesNames(), referencedModules, loadImportHooks);
                    } else {
                        throw new RepositoryException("Solution with uuid " + uuid + " and name " + name + " was not found.");
                    }
                }
            } catch (RemoteException e) {
                throw new RepositoryException(e);
            }
        }
    }
}
Also used : StringTokenizer(java.util.StringTokenizer) UUID(com.servoy.j2db.util.UUID) RemoteException(java.rmi.RemoteException)

Example 13 with UUID

use of com.servoy.j2db.util.UUID in project servoy-client by Servoy.

the class Solution method getReferencedModules.

/**
 * @param alreadyKnownSolutions, can be null or a map (name -> solution)
 * @return a list of RootObjectReference
 */
public List<RootObjectReference> getReferencedModules(Map<String, Solution> alreadyKnownSolutions) throws RepositoryException {
    List<RootObjectReference> referencedModules = new ArrayList<RootObjectReference>();
    String moduleNames = getModulesNames();
    if (moduleNames != null) {
        // $NON-NLS-1$
        StringTokenizer tk = new StringTokenizer(moduleNames, ";,");
        int count = tk.countTokens();
        if (count > 0) {
            while (tk.hasMoreTokens()) {
                try {
                    SolutionMetaData metaData = null;
                    int releaseNumber = -1;
                    String moduleDescriptor = tk.nextToken();
                    int i = moduleDescriptor.indexOf(':');
                    String name = null;
                    UUID moduleUuid = null;
                    if (i != -1) {
                        releaseNumber = Integer.parseInt(moduleDescriptor.substring(i + 1));
                        moduleDescriptor = moduleDescriptor.substring(0, i);
                    }
                    if (alreadyKnownSolutions == null || !alreadyKnownSolutions.containsKey(moduleDescriptor)) {
                        if (moduleDescriptor.indexOf('-') != -1) {
                            // A uuid reference.
                            moduleUuid = UUID.fromString(moduleDescriptor);
                            metaData = (SolutionMetaData) getRepository().getRootObjectMetaData(moduleUuid);
                            if (metaData != null)
                                name = metaData.getName();
                        } else {
                            // A module name; for backwards compatibility.
                            name = moduleDescriptor;
                            metaData = (SolutionMetaData) getRepository().getRootObjectMetaData(name, IRepository.SOLUTIONS);
                            if (metaData != null)
                                moduleUuid = metaData.getRootObjectUuid();
                        }
                        referencedModules.add(new RootObjectReference(name, moduleUuid, metaData, releaseNumber));
                    }
                } catch (Exception e) {
                    throw new RepositoryException(e);
                }
            }
        }
    }
    return referencedModules;
}
Also used : StringTokenizer(java.util.StringTokenizer) ArrayList(java.util.ArrayList) UUID(com.servoy.j2db.util.UUID) RemoteException(java.rmi.RemoteException)

Example 14 with UUID

use of com.servoy.j2db.util.UUID in project servoy-client by Servoy.

the class ChainedUnresolvedUUIDResolver method resolve.

public UUID resolve(int elementId, int revision, int contentId) throws RepositoryException {
    Iterator iterator = resolvers.iterator();
    while (iterator.hasNext()) {
        IUnresolvedUUIDResolver resolver = (IUnresolvedUUIDResolver) iterator.next();
        UUID uuid = resolver.resolve(elementId, revision, contentId);
        if (uuid != null && !uuid.equals(IRepository.UNRESOLVED_UUID)) {
            return uuid;
        }
    }
    return IRepository.UNRESOLVED_UUID;
}
Also used : Iterator(java.util.Iterator) UUID(com.servoy.j2db.util.UUID) IUnresolvedUUIDResolver(com.servoy.j2db.server.shared.IUnresolvedUUIDResolver)

Example 15 with UUID

use of com.servoy.j2db.util.UUID in project servoy-client by Servoy.

the class ChangeHandler method createNewObject.

/**
 * Create a repositoy object like Form,fields,portals,beans,etc.
 *
 * @param style the style to use
 * @param parent the parent
 * @param object_type_id the type
 * @return the created object
 */
public IPersist createNewObject(ISupportChilds parent, int object_type_id) throws RepositoryException {
    final UUID uuid = UUID.randomUUID();
    final int element_id = factory.getNewElementID(uuid);
    return createNewObject(parent, object_type_id, element_id, uuid);
}
Also used : UUID(com.servoy.j2db.util.UUID)

Aggregations

UUID (com.servoy.j2db.util.UUID)23 RepositoryException (com.servoy.j2db.persistence.RepositoryException)6 RemoteException (java.rmi.RemoteException)5 ArrayList (java.util.ArrayList)5 HashMap (java.util.HashMap)5 Map (java.util.Map)5 JSONObject (org.json.JSONObject)5 IPersist (com.servoy.j2db.persistence.IPersist)4 ServoyException (com.servoy.j2db.util.ServoyException)4 ServoyJSONObject (com.servoy.j2db.util.ServoyJSONObject)4 IDataSet (com.servoy.j2db.dataprocessing.IDataSet)3 Form (com.servoy.j2db.persistence.Form)3 Date (java.util.Date)3 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)3 ApplicationException (com.servoy.j2db.ApplicationException)2 FlattenedSolution (com.servoy.j2db.FlattenedSolution)2 JSDataSet (com.servoy.j2db.dataprocessing.JSDataSet)2 AbstractBase (com.servoy.j2db.persistence.AbstractBase)2 ChangeHandler (com.servoy.j2db.persistence.ChangeHandler)2 ISupportChilds (com.servoy.j2db.persistence.ISupportChilds)2