Modified to ignore p-aware classes.

git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@434303 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Pinaki Poddar 2006-08-24 05:13:20 +00:00
parent 6e262960ae
commit d0f15b881a

View File

@ -51,7 +51,14 @@ import org.apache.openjpa.lib.util.Files;
import org.apache.openjpa.lib.util.Localizer;
import org.apache.openjpa.lib.util.Options;
import org.apache.openjpa.lib.util.Services;
import org.apache.openjpa.meta.*;
import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.meta.FieldMetaData;
import org.apache.openjpa.meta.JavaTypes;
import org.apache.openjpa.meta.MetaDataFactory;
import org.apache.openjpa.meta.MetaDataModes;
import org.apache.openjpa.meta.QueryMetaData;
import org.apache.openjpa.meta.SequenceMetaData;
import org.apache.openjpa.meta.ValueStrategies;
import org.apache.openjpa.util.GeneralException;
import org.apache.openjpa.util.InternalException;
import org.apache.openjpa.util.MetaDataException;
@ -636,7 +643,9 @@ public class MappingTool
_flush = true;
_flushSchema = true;
getMapping(cls);
MappingRepository repos = getRepository();
repos.setStrategyInstaller(new MappingStrategyInstaller(repos));
getMapping(repos, cls);
}
/**
@ -673,7 +682,9 @@ public class MappingTool
_flush = true;
_flushSchema = true;
getMapping(cls);
MappingRepository repos = getRepository();
repos.setStrategyInstaller(new RefreshStrategyInstaller(repos));
getMapping(repos, cls);
}
/**
@ -685,7 +696,9 @@ public class MappingTool
_flushSchema = !SCHEMA_ACTION_NONE.equals(_schemaAction)
&& !SchemaTool.ACTION_ADD.equals(_schemaAction);
getMapping(cls);
MappingRepository repos = getRepository();
repos.setStrategyInstaller(new RuntimeStrategyInstaller(repos));
getMapping(repos, cls);
}
/**
@ -696,7 +709,9 @@ public class MappingTool
return;
_flushSchema = true;
if (!getMapping(cls))
MappingRepository repos = getRepository();
repos.setStrategyInstaller(new RuntimeStrategyInstaller(repos));
if (!getMapping(repos, cls))
return;
// set any logical pks to non-logical so they get flushed
@ -727,21 +742,19 @@ public class MappingTool
*
* @return true if the mapping of the class is found, false otherwise.
*/
boolean getMapping(Class cls) {
MappingRepository repos = getRepository();
repos.setStrategyInstaller(new RuntimeStrategyInstaller(repos));
boolean getMapping(MappingRepository repos, Class cls) {
try {
repos.getMapping(cls, null, true);
} catch (MetaDataException mex) {
if (!mex.isFatal()) {
if (_log != null && _log.isWarnEnabled()) {
_log.warn(_loc.get("no-mapping-aware",cls));
}
return false;
if (_log != null && _log.isWarnEnabled()) {
_log.warn(_loc.get("no-mapping-aware",cls));
}
return false;
} else {
throw mex;
}
}
}
return true;
}
/**
@ -993,9 +1006,6 @@ public class MappingTool
parsed = classParser.parseTypes(args[i]);
classes.addAll(Arrays.asList(parsed));
}
PersistenceAwareClass[] pawares = conf.getMappingRepositoryInstance().getPersistenceAwareClasses();
for (int i=0; i<pawares.length; i++)
classes.remove(pawares[i].getDescribedType());
}
Class[] act = (Class[]) classes.toArray(new Class[classes.size()]);