blob: 15ec719dc90ce28e962d74de466aee7f78d87441 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2007 Boeing.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
package org.eclipse.osee.framework.ui.skynet.Import;
import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactProcessor;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactType;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
/**
* @author Ryan D. Brooks
*/
public class NewArtifactImportResolver implements IArtifactImportResolver {
private ArtifactType primaryArtifactType;
private ArtifactType secondaryArtifactType;
public NewArtifactImportResolver(ArtifactType primaryArtifactType, ArtifactType secondaryArtifactType) {
this.primaryArtifactType = primaryArtifactType;
this.secondaryArtifactType = secondaryArtifactType;
}
/* (non-Javadoc)
* @see org.eclipse.osee.framework.ui.skynet.Import.IArtifactImportResolver#resolve(org.eclipse.osee.framework.ui.skynet.Import.RoughArtifact)
*/
public Artifact resolve(final RoughArtifact roughArtifact) throws OseeCoreException {
ArtifactType artifactType = null;
if (roughArtifact.getRoughArtifactKind() == RoughArtifactKind.PRIMARY) {
artifactType = primaryArtifactType;
} else if (roughArtifact.getRoughArtifactKind() == RoughArtifactKind.SECONDARY) {
artifactType = secondaryArtifactType;
} else if (roughArtifact.getRoughArtifactKind() == RoughArtifactKind.CONTAINER) {
artifactType = ArtifactTypeManager.getType("Folder");
}
Artifact realArtifact =
artifactType.getFactory().makeNewArtifact(roughArtifact.getBranch(), artifactType, roughArtifact.getGuid(),
roughArtifact.getHumandReadableId(), new ArtifactProcessor() {
@Override
public void run(Artifact artifact) throws OseeCoreException {
roughArtifact.conferAttributesUpon(artifact);
}
});
return realArtifact;
}
}